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