Отправка e-mail по существующему шаблону с помощью бизнес-процесса

Как с бизнес-процесса отправить предварительно созданный e-mail шаблон. При попытке через действие отправить e-mail ничего не происходило.
Нашла пост в котором было описание изменение скрипта действия https://community.terrasoft.ua/blogs/9899, но это не решило проблему.
Файлы БП прилагаются.

Нравится

8 комментариев

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

Используйте элемент скрипт, а в нем функцию:

var AccountSendResult = SendEmailByTemplate(Template, {
						RecordID: AccountDataset.Values('ID'), 
						Address: AccountEmailAddress, AutoSend: true, Silent: true});

где

var Template = GetTemplateData(TemplateID, true);

Ниже по ссылке еще один пример:

http://www.community.terrasoft.ua/forum/topic/8702#comment-47804

Давайте сначала.
У меня есть шаблон сообщения, который мне нужно отправить, например Прайс-лист.
Я добавляю действие отравить e-mail и заполняю карточку действия: тему, выбираю шаблон.
У меня есть макрос обращения в письме (с карточки контактов),e-mail адрес берется со средств связи контрагента. Какой набор данных для макросов нужно выбрать : контрагент или контакт. Это первый вопрос.
На второй вкладке я добавила параметр AccountID, так как по нему и происходит фильтрация.
Вопрос номер два, заполнив карточку отправки по e-mail и не внося каких либо изменений в скрипт не бп не будет работать?
На счёт скрипта от Дмитрия.
Объясните,пожалуйста, какие данные я должна вставить\заменить в этом скрипте.

Здравствуйте, Наталья!

Имеется ввиду, что вместо элемента "Отправка Email" Вы можете использовать элемент скрипт и отправлять письма через код.

Вам необходимо:

1) Указать TemplateID - это идентификатор шаблона сообщения.
Его Вы можете узнать, сделав запрос к таблице tbl_MailTemplate или выполнив запрос sq_MailTemplate из конфигурации Terrasoft.
2) AccountEmailAddress - почтовый адрес.
3) RecordID - идентификатор контрагента.
Его Вы можете узнать, сделав запрос к таблице tbl_Account или выполнив запрос sq_Account из конфигурации Terrasoft. Либо же получив любым другим образом из кода.

По поводу элемента "Отправка Email" сообщу Вам ответ в ближайшее время.

Мне нужно чтобы ID контрагента и его e-mail передавался с параметров диаграммы.

Здравствуйте, Наталья.

Дело в том, что в элементе БП "Отправить Email" в качестве получателя можно указать лишь Контакта, но не контрагента (на вкладке элемента "Контакты" можно выбрать Контакта из справочника либо передать параметр с идентификатором Контакта).
Реализация обусловлена бизнес-логикой (контактными лицами являются сотрудники контрагента, но не сам контрагент).

Потому, действительно, Вам необходимо использовать, как говорит Дмитрий, элемент Скрипт для отправки Email непосредственно контрагенту.

Пример обработки события OnExecute элемента Скрипт:

function Item3OnExecute(ScriptItem, IsComplete) {
	TemplateID = '{47DF8DC2-71E8-4EF6-A7CA-AFF599F8B172}';
	//задаем идентификатор шаблона (можно посмотреть в sq_MailTemplate)
	var Template = GetTemplateData(TemplateID, true);
	var AccountSendResult = SendEmailByTemplate(Template, {
    RecordID: '{E308B781-3C5B-4ECB-89EF-5C1ED4DA488E}', 
    Address: 'support@terrasoft.ru', AutoSend: true, Silent: true}); 
} 

Только в качестве RecordID и Address подставляйте свои параметры.

Показать все комментарии