Когда я буду зарегистрировать онлайн-плагин CRM 2011 для стадии предварительной проверки?

StackOverflow https://stackoverflow.com/questions/8336038

Вопрос

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

Это было полезно?

Решение

У нас есть несколько плагинов, зарегистрированных на мероприятии «Распространения», хотя это находится в предпосылке, а не в Интернете.

Я сам не писал эти конкретные плагины, но я могу описать его и дать оправдание для использования «распространения», а не «предварительной операции».

Сущность: аккаунт

Событие: удалить

Логика: плагин запускает предварительную проверку. Проверяет, что нет контактов, ссылающихся на ни один из адресов учетной записи. Если таковые имеются, остановите выполнение. Если нет, удалите учетную запись.

например

Учетная запись «Stackoverflow» имеет адрес «Дом Джеффа Аттвуда» и контакт «Glosrob». «Glosrob» ссылается на «дом Джеффа Аттвуда» посредством настройки. Если пользователь выбирает удаление «stackoverflow», мы должны обнаружить, что «glosrob» ссылается на адрес и предотвращает удаление.

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

В нашем предыдущем сценарии, когда пользователь выбрал для удаления учетной записи «Stackoverflow», контакт «glosrob» будет удален перед запуском плагина. Поэтому, когда плагин запустился впоследствии, это позволило бы удалить.

Как и в большинстве вещей в CRM, все сводится к требованиям и решениям, но я думаю, что это дает вам представление о том, почему/когда вы можете использовать этап распространения. У нас есть несколько других с подобными рассуждениями, которые проходят на событии «Удалить».

Другие советы

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

Плагин преобладания произойдет до проверки безопасности. Например: если учетная запись является учетной записью «VIP», и вы не хотите, чтобы эта запись была удалена этой учетной записи (независимо от того, что он является суперпользователем/администратором), то это лучше может произойти в предварительном подтверждении. Поскольку в то время вы не беспокоитесь о том, кто является пользователем и какие разрешения у него есть (даже у него может не быть никаких разрешений на удаление каких -либо записей в системе), CRM пойдет и проверит базу данных для ролей безопасности пользователя. Во время предварительной операции, и именно здесь произойдет первая битва базы данных. До этого мы можем остановить выброс плагина на основе наших правил проверки.

Я надеюсь, что это имеет смысл ...

Спасибо

С уважением Шрикант

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top