23.06.2011, 17:27 | #1 |
Участник
|
Microsoft Dynamics CRM 2011 - Сущности и данные
В процессе использования Microsoft Dynamics CRM 2011 возникла необходимость кастомизироватть сущность "Обращение". Нужно добавить скрытое поле "Email-ответственного" в которое записывалось бы соответствующее значение электронной почты при смене состояния обращения (statuscode).
Вопрос: каким образом из обработчика события OnChange поля "Состояние"(statuscode) на форме "Обращение" можно получить значение основного адреса эл. почты ответственного за обращение сотрудника нашей организации? |
|
23.06.2011, 18:53 | #2 |
Moderator
|
Вы знаете, возникает ощущение, что вы не до конца понимаете что делаете. Если отвечать на ваш вопрос, то это можно сделать прочитав из поля "owner" id пользователя и сделать запрос к веб сервису системы. Прежде чем я напишу пример кода, ответе, пожалуйста, для чего вам это скрытое поле?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
23.06.2011, 19:16 | #3 |
Участник
|
Моя логика была следующей:
1) Создается поле на форме "Обращение" 2) Создается обработчик события OnChange на поле "Состояние" (statuscode). Этот обработчик, при определенном значении, выбранном в данном выпадающем списке должен получить email ответственного за обращение сотрудника и записать в созданное на предыдущем шаге поле. 3) Шаг - использование скрытого поля. Из него берется значение в шаблоне электронной почты. Цель всех действий - указывать в отправляемых CRM2011 письмах email ответственного за обращение сотрудника. Вся почта отправляется от имени специально заведенного пользователя support. Если при настройке шаблона выбрать Пользователь --> Основной адрес электронной почты, то при отправке писем в них автоматически подставляется email адрес пользователя support вместо email реального ответственного за обращение человека. |
|
23.06.2011, 19:39 | #4 |
Moderator
|
Не совсем понял о каком шаблоне идет речь? Если шаблоне в личных настройках пользователя, то в нем нет поля "отправитель". Если о действии отправки почты в бизнес-процессе, то в поле "от" указывается не адрес а сам отправитель (Обращение-Пользователь). Если о шаблоне слияния Outlook, то тут еще проще!
Пожалуйста приведите скриншот, так будет понятнее.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
23.06.2011, 19:46 | #5 |
Участник
|
Речь идет об обратном адресе
|
|
23.06.2011, 19:53 | #6 |
Moderator
|
Прошу прощения, в этом случае это действительно проблема. Как будет осуществляться отправка от лица этого пользователя?
Если вручную, то я бы предложил использовать шаблон слияния с Outlook. Так вы получите большее богатство подстановок и форматирования. Если в бизнес-правиле, то я бы тоже отказался от шаблона и формировал письмо внутри правила. Так вообще можно отправлять почту от пользователя, а не загадочного support.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional Последний раз редактировалось Артем Enot Грунин; 23.06.2011 в 20:04. |
|
24.06.2011, 10:24 | #7 |
Участник
|
Спасибо! Отправка писем происходит в бизнес-правиле. Я думал что можно воспользоваться стандартными возможностями подстановки значений в шаблон.
Т.е. если мы находимся на форме "Обращение", и у нас обрабатывается событие OnChange на одном из полей, то очень проблематично вытащить внутри обработчика строковое значение email ответственного пользователя и записать в специально созданное поле на форме "Обращение"? Есть ли вообще возможность получения данных из связанных между собой сущностей? В данном случае это отношение один-ко-многим (ответственный-обращения). |
|
24.06.2011, 11:32 | #8 |
Moderator
|
Данные можно вытащить как на форме, так и в обработчике событий на сервере. В вашем случае, я бы, наверно пошел именно путем плагина, так как обращение можно назначить (изменить ответственного) и не открывая формы, например, из списка. С другой стороны, если отправка происходит в рабочем процессе, то можно сделать кастомный шаг рабочего процесса, который будет получать e-mail пользователя и возвращать его в процесс. Наверно этот подход самый правильный, так как не ведет к дублированию данных.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
24.06.2011, 12:11 | #9 |
Участник
|
Спасибо Артем, решил проблему с помощью добавления дополнительного шага в бизнес-процессе.
|
|
24.06.2011, 12:19 | #10 |
Moderator
|
Что-то я вчера под вечер тормознул. В шаге отпраки e-mail можно просто вставить email ответственного в тело письма. Никаких кастомных полей и операций при этом не потребуется.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional Последний раз редактировалось Артем Enot Грунин; 24.06.2011 в 12:22. |
|
|
|