Добрый день! Необходимо реализовать след. задачу: при сохранении карточки документа формировать письмо в Outlook'е со след. параметрами:
Вероятно нужно создать шаблон письма? Как это делается, хотелось бы знать в общих чертах.
Нравится
Да, Антон Владимирович, это делается с использованием раздела "Шаблоны сообщений". О нём можно почитать в инструкции, стр. 462-487. В двух словах, сначала создаётся пользовательский запрос, вытягивающий нужные поля из таблиц, потом на его основе - шаблон письма.
Разделы "Шаблоны сообщений" и "Запросы" находятся в верхнем меню "Интструменты".

Запрос конструируется в таком вот построителе запросов:

А шаблон - в окне нового письма Аутлука с подключеным плагином Terrasoft:

Понятно, спасибо. Когда я указываю раздел "Документы" и запрос для шаблона сообщения, на вкладке макросы доступны лишь поля запроса. А мне необходимо еще #Контакты.Обращение#, то есть Обращение контакта, которому посылается письмо. Его динамически можно в шаблон потом подставить или сразу можно как то в шаблон вставить?
А этот контакт имеет отношение к документу? Если да, можно вытянуть это поле в запрос, выбрав в построителе в дереве слева.
Предложенный вариант Александра хочется немного дополнить автоматизацией:
- Дабавив шаблон получите его ID в Terrasoft Administrator: сервис Mail\Dictionaries\Templates\Main Grid\sq_MailTemplate, к примеру в моем случае - это [code] '{F8D4D576-DA9C-43BA-815D-14DC4ED92A21}'[/code]
- В сервис Documents\General\Main Grid\scr_DocumentEdit перед блоком [code]// Event handlers[/code] добавьте две вспомогательные функции:
[javascript]
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});
}
[/javascript] - В обработчик события dlDataOnDatasetAfterPost(Dataset) добвьте вызов ранее вставленной функции:
[javascript]
function dlDataOnDatasetAfterPost(Dataset) {
ProcessCopyOfferingDetail(Dataset);
ProcessSendEmail(Dataset)
}
[/javascript]
Нужно реализовать условный макрос. Читал в руководстве следующее:

Что такое Пол в этом выражении? Вероятно это название макроса Пол, из запроса для этого шаблона?