Skip to content

Отправка по шаблону на произвольный адрес ЭП

Реальных получателей передаем в функцию формирования и отправки сообщения через доп. параметры в том виде, в каком нам это удобно делать. ВАЖНО! Этот код будет выполняться для любых шаблонов, поэтому нужно осознанно подходить к этому методу Пример:

Для Каждого Строка Из Объект.СписокКонтрагентов Цикл
Если ОбщегоНазначенияКлиентСервер.АдресЭлектроннойПочтыСоответствуетТребованиям(Строка.АдресЭП) Тогда
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("АдресЭП", Строка.АдресЭП);
Результат = ШаблоныСообщений.СформироватьСообщениеИОтправить(Объект.ШаблонСообщения,
Строка.Контрагент,
УникальныйИдентификатор,
ДополнительныеПараметры);
Иначе
ТекстСообщения = СтрШаблон("Адрес ЭП контрагента %1 не соответствует требованиям", Строка.Контрагент);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
КонецЕсли;
КонецЦикла;

И эти данные мы можем поймать в процедуре ШаблоныСообщенийПереопределяемый.ПриЗаполненииПочтыПолучателейВСообщении() в структуре ПредметСообщения.ПараметрыСообщения:

// Заполняет список получателей почты при отправке сообщения сформированного по шаблону.
//
// Параметры:
// ПолучателиПисьма - ТаблицаЗначений - список получается письма:
// * ВариантОтправки - Строка - вариант отправки для получателя письма: Кому, Копия, СкрытаяКопия, ОбратныйАдрес;
// * Адрес - Строка - адрес электронной почты получателя;
// * Представление - Строка - представление получателя письма;
// * Контакт - Произвольный - контакт, которому принадлежит адрес электронной почты.
// НазначениеШаблона - Строка - идентификатор назначения шаблона.
// ПредметСообщения - ЛюбаяСсылка - ссылка на объект, являющийся источником данных.
// - Структура - структура описывающая параметры шаблона:
// * Предмет - ЛюбаяСсылка - ссылка на объект, являющийся источником данных;
// * ВидСообщения - Строка - вид формируемого сообщения: "ЭлектроннаяПочта" или "СообщениеSMS";
// * ПроизвольныеПараметры - Соответствие - заполненный список произвольных параметров;
// * ОтправитьСразу - Булево - признак мгновенной отправки письма;
// * ПараметрыСообщения - Структура - дополнительные параметры сообщения;
// * ПреобразовыватьHTMLДляФорматированногоДокумента - Булево - признак преобразование HTML текста
// сообщения содержащего картинки в тексте письма из-за особенностей вывода изображений
// в форматированном документе;
// * УчетнаяЗапись - СправочникСсылка.УчетныеЗаписиЭлектроннойПочты - учетная запись для отправки письма.
//
Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, НазначениеШаблона, ПредметСообщения) Экспорт
АдресЭП = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ПредметСообщения.ПараметрыСообщения, "АдресЭП", "");
Если Не ЗначениеЗаполнено(АдресЭП) Тогда
ВызватьИсключение "Не заполнен адрес ЭП";
КонецЕсли;
СтрокаПолучателей = ПолучателиПисьма.Добавить();
СтрокаПолучателей.ВариантОтправки = "Кому";
СтрокаПолучателей.Адрес = АдресЭП;
КонецПроцедуры