Доброго времени суток, уважаемые пользователи интернет сообщества Terrasoft!
Допустим, у Вас в разделе «Контакты» существует некая статическая группа, которая включает в себя определенное количество контактов. Если Вам необходимо отправлять уведомления по шаблону всем контактам, которые входят в эту группу, то этот топик для Вас! ;)
Главной задачей при реализации, есть получить список контактов входящих в выбранную группу, далее получить список их email адресов, и отправить сообщение по нужному шаблону.
Пример функции, реализующей отправку писем по шаблону всем контактам определенной группы:
function SendMailToGroup()
{
var AddressList = [];
var Dataset = Services.GetNewItemByUSI('ds_ContactInGroup');
var GroupID = '{83696FAF-128C-4A45-B41D-56A03B50BB7C}';
ApplyDatasetFilter(Dataset, 'GroupID', GroupID, true);
Dataset.Open();
while(!Dataset.IsEOF)
{
var ContactID = Dataset.Values('ContactID');
GetMailAddressesByContactID(ContactID, AddressList, true);
Dataset.GotoNext();
}
var TemplateID = '{ ABCFB655-A0AD-4BAB-BF83-417DE9357C34}';
var ID = Dataset.Values('ID');
Dataset.Close();
SendEmailByTemplate(TemplateID, {RecordID: ID, Address: AddressList,
AutoSend: true, Silent: true});
}
Вместо GroupID = '{83696FAF-128C-4A45-B41D-56A03B50BB7C}'; подставьте ID нужной Вам группы. Для того чтобы узнать ID, выполните запрос к БД:
Вместо var TemplateID = '{ABCFB655-A0AD-4BAB-BF83-417DE9357C34}' подставьте ID нужного Вам шаблона рассылки. Для того чтобы узнать ID нужного Вам шаблона рассылки выполните запрос к БД и скопируйте поле ID:
Далее, Вам просто необходимо вызвать созданную функцию в нужном Вам месте кода:
К примеру, её можно вызвать при нажатии на кнопку «Ок» карточки редактирования задачи. Также удостоверьтесь, что созданная функция находится в том же скрипте, с которого Вы её вызываете, а также что в этом скрипте подключен скрипт scr_MailUtils.
Приятной работы с Террасофт!