2015-10-22 5 views
0

В crm у меня есть решение с несколькими объектами. Есть три причины, которые вызывают проблему. Давайте назовем их A, B и C.crm каскад удалить не плагин

А и В имеют один ко многим связи с каскадным эффектом на удаление

B и C имеют один ко многим отношения без каскадного удаления.

для B я разработал плагин crm, который при удалении удаляет C также. Каскадный плагин удаления. Я не могу создать каскадирование между B и C, поскольку C уже находится в каскадной связи с другим объектом.

Когда я удаляю любой объект B, он запускает код плагина и удаляет всех дочерних элементов C. Когда я удаляю любой объект A, он каскадом удаляет B, но он не отключает плагин.

Как я могу обеспечить, чтобы плагин срабатывал, не создавая плагин для объекта A? Я довольно новичок в crm, поэтому я не знаю, где искать эту проблему.

UPDATE

Плагин используется для стрельбы в 'Pre-проверки' стадии. Изменение его на «Pre-Operation» фактически вызвало плагин. К сожалению, на этом этапе все дочерние ссылки объекта, которые уже удалены. Итак, теперь, когда A удаляется, B каскад удаляется, а плагин запускается, но я не могу найти ни одного из его дочерних сущностей C.

ответ

0

Создайте объект, который будет хранить дочерние ссылки и передать его в «Общие переменные» в этап предварительной проверки. Затем вы можете получить доступ к общим переменным на этапе до операции: https://msdn.microsoft.com/en-us/library/gg328579.aspx. Вам понадобятся плагины, зарегистрированные на обоих этапах, но это будет решать обе ваши проблемы.

0

Зарегистрируйте свой плагин на этапе предварительной обработки сообщения удаления объекта B. Затем зарегистрируйте предварительное изображение для объекта, чтобы получить исходные поля поиска для объекта C.

Смежные вопросы