Microsoft CRM 4.0 Callouts - PullRequest
       9

Microsoft CRM 4.0 Callouts

0 голосов
/ 26 февраля 2010

Я расширяю некоторые вызовы CRM, чтобы добавить дополнительную функциональность, мне сказали не переписывать их как плагины из соображений совместимости. В postupdate на ведущем объекте я хочу выполнить некоторые дополнительные действия, если определенный атрибут на ведущем объекте изменился. Мой выноска регистрируется в основном и запускается после обновления отведения и запускает метод overidden со следующим sig

public override void PostUpdate(CalloutUserContext userContext, CalloutEntityContext entityContext, string preImageEntityXml, string postImageEntityXml)
{
}

Из того, что я понимаю, я могу десериализовать preImageEntityXml и postImageEntityXml в объекты DynamicEntity, чтобы я мог понять, что изменилось. Однако preImageEntityXml и postImageEntityXml не имеют значения, и я не могу понять, почему.

1 Ответ

2 голосов
/ 26 февраля 2010

Жаль, что вы не можете переписать выноски как плагины. Плагины отлично сработали бы здесь, потому что вы можете зарегистрировать свои шаги, чтобы они срабатывали только при изменении определенных атрибутов. Таким образом, ваш плагин не запускается при каждом обновлении указанной сущности (как при вызове).

Несмотря на то, что прошло некоторое время с тех пор, как я написал выноску 3.0, я помню, что там был файл callout.config, в котором вы указывали бы pre и postvalues, которые вы хотели передать вместе с callout. Возможно, в обратном вызове нет зарегистрированных до и после значений?

<callout entity="lead" event="PostUpdate">
 <subscription...>
  <prevalue>...
  ...
  <postvalue>...
...