2016-02-08 3 views
0

Я разрабатываю несколько пользовательских рабочих процессов CRM, а некоторые из них требуют отправки электронной почты. Насколько мне известно, это невозможно сделать с помощью кода. То, что я хотел бы достичь, - запустить определенный код и в зависимости от того, что происходит во время этого кода, то есть исключение тайм-аута в веб-службе вызывает исключение или возникает ошибка проверки для указанной веб-службы, рабочий процесс будет либо повторять попытку, либо отправьте электронное письмо.Выход из C# CRM Workflow обратно в рабочий процесс дизайнера

Итак, используя приведенный выше пример, пользовательский рабочий процесс запускается при изменении поля CRM. Рабочий процесс вызывает веб-службу, время от времени. Затем рабочий процесс выбирает, что он был TimeoutException, и добавляет шаг для повторения рабочего процесса. Рабочий процесс перезапускается и выдает ArgumentException. Рабочий процесс выбирает это исключение и задает поле в форме. (Я понимаю, что это можно сделать в коде, это просто пример, поскольку я хочу использовать эту функциональность для многих областей во многих рабочих процессах!)

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

Спасибо.

+0

не может отправлять электронную почту через код? Зачем? некоторые моральные ограничения? – Gusman

+0

У меня нет морали, когда дело доходит до кодирования;) Но на самом деле - это всего лишь пример. Я хочу использовать конструктор рабочего процесса, где это возможно. Нет смысла изобретать колесо. Поэтому выход из пользовательского кода в рабочий процесс дизайнера будет выгодным. – plusheen

+0

Тогда ничто не блокирует отправку писем через код, посмотрите на класс SmtpClient – Gusman

ответ

2

Plusheen,

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

Надеюсь, это то, что вы искали. Дайте мне знать, если вам нужна дополнительная информация.

+0

Ах да! Я знал, что что-то в этом роде, я полностью забыл о выходных параметрах. Спасибо. – plusheen

+0

Рад слышать, что это вам помогло !!! – Renjith

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