add
This commit is contained in:
parent
95bf92102b
commit
161a8a7fc7
@ -0,0 +1,67 @@
|
|||||||
|
---
|
||||||
|
title: Отправка по шаблону на произвольный адрес ЭП
|
||||||
|
slug: общие-шаблоны-сообщений/отправка-по-шаблону-на-произвольный-адрес-эп
|
||||||
|
---
|
||||||
|
|
||||||
|
Реальных получателей передаем в функцию формирования и отправки сообщения через доп. параметры в том виде, в каком нам это удобно делать.
|
||||||
|
**ВАЖНО!** Этот код будет выполняться для любых шаблонов, поэтому нужно осознанно подходить к этому методу
|
||||||
|
Пример:
|
||||||
|
```bsl
|
||||||
|
Для Каждого Строка Из Объект.СписокКонтрагентов Цикл
|
||||||
|
|
||||||
|
Если ОбщегоНазначенияКлиентСервер.АдресЭлектроннойПочтыСоответствуетТребованиям(Строка.АдресЭП) Тогда
|
||||||
|
|
||||||
|
ДополнительныеПараметры = Новый Структура;
|
||||||
|
ДополнительныеПараметры.Вставить("АдресЭП", Строка.АдресЭП);
|
||||||
|
|
||||||
|
Результат = ШаблоныСообщений.СформироватьСообщениеИОтправить(Объект.ШаблонСообщения,
|
||||||
|
Строка.Контрагент,
|
||||||
|
УникальныйИдентификатор,
|
||||||
|
ДополнительныеПараметры);
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
ТекстСообщения = СтрШаблон("Адрес ЭП контрагента %1 не соответствует требованиям", Строка.Контрагент);
|
||||||
|
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
```
|
||||||
|
|
||||||
|
И эти данные мы можем поймать в процедуре `ШаблоныСообщенийПереопределяемый.ПриЗаполненииПочтыПолучателейВСообщении()` в структуре `ПредметСообщения.ПараметрыСообщения`:
|
||||||
|
|
||||||
|
```bsl
|
||||||
|
// Заполняет список получателей почты при отправке сообщения сформированного по шаблону.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ПолучателиПисьма - ТаблицаЗначений - список получается письма:
|
||||||
|
// * ВариантОтправки - Строка - вариант отправки для получателя письма: Кому, Копия, СкрытаяКопия, ОбратныйАдрес;
|
||||||
|
// * Адрес - Строка - адрес электронной почты получателя;
|
||||||
|
// * Представление - Строка - представление получателя письма;
|
||||||
|
// * Контакт - Произвольный - контакт, которому принадлежит адрес электронной почты.
|
||||||
|
// НазначениеШаблона - Строка - идентификатор назначения шаблона.
|
||||||
|
// ПредметСообщения - ЛюбаяСсылка - ссылка на объект, являющийся источником данных.
|
||||||
|
// - Структура - структура описывающая параметры шаблона:
|
||||||
|
// * Предмет - ЛюбаяСсылка - ссылка на объект, являющийся источником данных;
|
||||||
|
// * ВидСообщения - Строка - вид формируемого сообщения: "ЭлектроннаяПочта" или "СообщениеSMS";
|
||||||
|
// * ПроизвольныеПараметры - Соответствие - заполненный список произвольных параметров;
|
||||||
|
// * ОтправитьСразу - Булево - признак мгновенной отправки письма;
|
||||||
|
// * ПараметрыСообщения - Структура - дополнительные параметры сообщения;
|
||||||
|
// * ПреобразовыватьHTMLДляФорматированногоДокумента - Булево - признак преобразование HTML текста
|
||||||
|
// сообщения содержащего картинки в тексте письма из-за особенностей вывода изображений
|
||||||
|
// в форматированном документе;
|
||||||
|
// * УчетнаяЗапись - СправочникСсылка.УчетныеЗаписиЭлектроннойПочты - учетная запись для отправки письма.
|
||||||
|
//
|
||||||
|
Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, НазначениеШаблона, ПредметСообщения) Экспорт
|
||||||
|
|
||||||
|
АдресЭП = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ПредметСообщения.ПараметрыСообщения, "АдресЭП", "");
|
||||||
|
|
||||||
|
Если Не ЗначениеЗаполнено(АдресЭП) Тогда
|
||||||
|
ВызватьИсключение "Не заполнен адрес ЭП";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СтрокаПолучателей = ПолучателиПисьма.Добавить();
|
||||||
|
СтрокаПолучателей.ВариантОтправки = "Кому";
|
||||||
|
СтрокаПолучателей.Адрес = АдресЭП;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
```
|
Loading…
x
Reference in New Issue
Block a user