Я разрабатываю несколько пользовательских рабочих процессов CRM, а некоторые из них требуют отправки электронной почты. Насколько мне известно, это невозможно сделать с помощью кода. То, что я хотел бы достичь, - запустить определенный код и в зависимости от того, что происходит во время этого кода, то есть исключение тайм-аута в веб-службе вызывает исключение или возникает ошибка проверки для указанной веб-службы, рабочий процесс будет либо повторять попытку, либо отправьте электронное письмо.Выход из C# CRM Workflow обратно в рабочий процесс дизайнера
Итак, используя приведенный выше пример, пользовательский рабочий процесс запускается при изменении поля CRM. Рабочий процесс вызывает веб-службу, время от времени. Затем рабочий процесс выбирает, что он был TimeoutException
, и добавляет шаг для повторения рабочего процесса. Рабочий процесс перезапускается и выдает ArgumentException
. Рабочий процесс выбирает это исключение и задает поле в форме. (Я понимаю, что это можно сделать в коде, это просто пример, поскольку я хочу использовать эту функциональность для многих областей во многих рабочих процессах!)
Единственный способ, которым я думал, - это создать новое поле на формы, называемой Workflow Action, имеют изменения обнаружения рабочего процесса, а пользовательский код меняет это поле. Рабочий процесс знает, какой статус он изменил и ведет себя соответствующим образом.
Спасибо.
не может отправлять электронную почту через код? Зачем? некоторые моральные ограничения? – Gusman
У меня нет морали, когда дело доходит до кодирования;) Но на самом деле - это всего лишь пример. Я хочу использовать конструктор рабочего процесса, где это возможно. Нет смысла изобретать колесо. Поэтому выход из пользовательского кода в рабочий процесс дизайнера будет выгодным. – plusheen
Тогда ничто не блокирует отправку писем через код, посмотрите на класс SmtpClient – Gusman