Как вставить значение неизмененного поля в цель во входных параметрах плагина?

Я удаляю экземпляр сущности и, в зависимости от значения опции, установленной в нем, я хочу придерживаться нашего другого курса действий. Проблема в том, что поле не изменяется, следовательно, не предоставляется цели плагина.

Как я могу легко сказать глупому плагину выбрать все поля?

Теперь я использую предварительное изображение, но я покажу плагин некоторым новичкам, и им определенно не понравится. И они не поверят мне, что это путь, конечно, потому что они дерзкая куча.

Есть ли обходной путь для этого?

2 ответа

Решение

В этом сценарии рекомендуется использовать предварительное изображение, альтернатива - создать фабрику сервисов, чтобы получить IOrganizationService и извлечь объект, используя идентификатор цели.

Он является частью IPluginExecutionContext (частью которого является Target). Я думаю, что новички смущаются, если считают Target чем-то большим, чем просто свойство IPluginExecutionContext.

Не имеет смысла иметь эти значения как часть Target, потому что тогда это приведет к обновлению поля до его текущего значения - если вы принудительно введете его в Target, вы увидите обновление в деталях аудита.

Таким образом, CRM имеет PreEntityImages, Target и PostEntityImages, если Target использовался так, как этого хотят "они", он не смог бы различить обновляемые значения, предыдущие значения и конечный результат объекта.

Другие вопросы по тегам