Внедрение двусторонней связи между Microsoft Dynamics CRM и сторонним приложением - PullRequest
1 голос
/ 27 апреля 2010

Мне нужно реализовать двунаправленную связь между Microsoft Dynamics CRM и сторонним сервером. Идеальный сценарий выглядит следующим образом:

  1. Пользователь пытается создать объект в CRM
  2. В предварительном хуке вызывается функция сторонней библиотеки (или веб-службы или чего-то еще), заполненная соответствующей информацией, которая пытается создать соответствующую сущность на сервере
  3. В случае сбоя вызова происходит сбой создания в CRM
  4. Если вызов успешен, сущность создается в CRM И , дополнительные поля заполняются возвращаемыми значениями из вызова

Более конкретно, я хочу сделать что-то подобное, когда пользователь пытается создать новый экземпляр сущности:

try {
    ExternalWebService.CreateTrade(ref TradeInfo info)
    //this was initialized on the external server
    myCRM_Trade_Entity.SerialNo = info.SerialNo; 
    CreateNew(myCRM_Trade_Entity);

} catch (whatever) {
    fail;
}

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

1 Ответ

2 голосов
/ 27 апреля 2010

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

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

При использовании рабочего процесса объект должен быть сохранен до его выполнения.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...