Добрый день! Необходимо реализовать след. задачу: при сохранении карточки документа формировать письмо в Outlook'е со след. параметрами:
Вероятно нужно создать шаблон письма? Как это делается, хотелось бы знать в общих чертах.
Нравится
Да, Антон Владимирович, это делается с использованием раздела "Шаблоны сообщений". О нём можно почитать в инструкции, стр. 462-487. В двух словах, сначала создаётся пользовательский запрос, вытягивающий нужные поля из таблиц, потом на его основе - шаблон письма.
Разделы "Шаблоны сообщений" и "Запросы" находятся в верхнем меню "Интструменты".
Запрос конструируется в таком вот построителе запросов:
А шаблон - в окне нового письма Аутлука с подключеным плагином Terrasoft:
Понятно, спасибо. Когда я указываю раздел "Документы" и запрос для шаблона сообщения, на вкладке макросы доступны лишь поля запроса. А мне необходимо еще #Контакты.Обращение#, то есть Обращение контакта, которому посылается письмо. Его динамически можно в шаблон потом подставить или сразу можно как то в шаблон вставить?
А этот контакт имеет отношение к документу? Если да, можно вытянуть это поле в запрос, выбрав в построителе в дереве слева.
Предложенный вариант Александра хочется немного дополнить автоматизацией:
- Дабавив шаблон получите его ID в Terrasoft Administrator: сервис Mail\Dictionaries\Templates\Main Grid\sq_MailTemplate, к примеру в моем случае - это
'{F8D4D576-DA9C-43BA-815D-14DC4ED92A21}'
- В сервис Documents\General\Main Grid\scr_DocumentEdit перед блоком
// Event handlers
добавьте две вспомогательные функции:
function ProcessSendEmail(Dataset) { if (Self.Attributes('SkipSendEmail')) { return; } if (ShowConfirmationDialog( "Отправить E-mail клиенту?") != wmrYes) { return; } var AddressList = []; var ContactID = Dataset.Values('ContactID'); GetMailAddressesByContactID(ContactID, AddressList); SendIncidentEmailToContact(Dataset, AddressList); } function SendIncidentEmailToContact(DocumentDataset, AddressList) { var EmailSubject = "Коммерческое предложение №" + DocumentDataset.ValAsStr('DocumentNumber'); var TemplateID = '{F8D4D576-DA9C-43BA-815D-14DC4ED92A21}'; var ID = DocumentDataset.Values('ID'); SendEmailByTemplate(TemplateID, {RecordID: ID, Address: AddressList, Subject: EmailSubject}); }
- В обработчик события dlDataOnDatasetAfterPost(Dataset) добвьте вызов ранее вставленной функции:
function dlDataOnDatasetAfterPost(Dataset) { ProcessCopyOfferingDetail(Dataset); ProcessSendEmail(Dataset) }
Нужно реализовать условный макрос. Читал в руководстве следующее:
Что такое Пол в этом выражении? Вероятно это название макроса Пол, из запроса для этого шаблона?