Создать электронное письмо. Создает письмо по контактной информации.
// Создает письмо по контактной информации.
//
// Параметры:
// ЗначенияПолей - Строка, Структура, Соответствие, СписокЗначений - значение контактной информации.
// Представление - Строка - Представление контактной информации. Используется, если невозможно определить
// представление из параметра. ЗначенияПолей (отсутствие поля Представление).
// ОжидаемыйВид - СправочникСсылка.ВидыКонтактнойИнформации, ПеречислениеСсылка.ТипыКонтактнойИнформации,
// Структура - Используется для определения типа, если его невозможно вычислить по полю ЗначенияПолей.
// ИсточникКонтактнойИнформации - Произвольный - Объект владелец контактной информации.
//
Процедура СоздатьЭлектронноеПисьмо(Знач ЗначенияПолей, Знач Представление = "", ОжидаемыйВид = Неопределено, ИсточникКонтактнойИнформации = Неопределено) Экспорт
КонтактнаяИнформация = УправлениеКонтактнойИнформациейСлужебныйВызовСервера.ПривестиКонтактнуюИнформациюXML(
Новый Структура("ЗначенияПолей, Представление, ВидКонтактнойИнформации", ЗначенияПолей, Представление, ОжидаемыйВид));
ТипИнформации = КонтактнаяИнформация.ТипКонтактнойИнформации;
Если ТипИнформации <> ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты") Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Нельзя создать письмо по контактной информацию с типом ""%1""'"), ТипИнформации);
КонецЕсли;
Если ЗначенияПолей = "" И ПустаяСтрока(Представление) Тогда
ПоказатьПредупреждение(,НСтр("ru = 'Для отправки письма необходимо ввести адрес электронной почты.'"));
Возврат;
КонецЕсли;
XMLДанные = КонтактнаяИнформация.ДанныеXML;
АдресПочты = УправлениеКонтактнойИнформациейСлужебныйВызовСервера.СтрокаСоставаКонтактнойИнформации(XMLДанные);
Если ТипЗнч(АдресПочты) <> Тип("Строка") Тогда
ВызватьИсключение НСтр("ru = 'Ошибка получения адреса электронной почты, неверный тип контактной информации'");
КонецЕсли;
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСПочтовымиСообщениями") Тогда
МодульРаботаСПочтовымиСообщениямиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСПочтовымиСообщениямиКлиент");
Получатель = Новый Массив;
Получатель.Добавить(Новый Структура("Адрес, Представление, ИсточникКонтактнойИнформации",
АдресПочты, СтрЗаменить(Строка(ИсточникКонтактнойИнформации), ",", ""), ИсточникКонтактнойИнформации));
ПараметрыОтправки = Новый Структура("Получатель", Получатель);
МодульРаботаСПочтовымиСообщениямиКлиент.СоздатьНовоеПисьмо(ПараметрыОтправки);
Иначе
ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку("mailto:" + АдресПочты);
КонецЕсли;
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
УстановитьПапкуЭлектронногоПисьма (БСП)
ПолучитьВложенияЭлектронногоПисьма (БСП)
ЗаписатьВложениеЭлектронногоПисьмаСкопировавВложениеДругогоПисьма (БСП)
ФайлЯвляетсяЭлектроннымПисьмом (БСП)
ПолучитьПапкуЭлектронногоПисьма (БСП)
УстановитьЗаголовокФормыЭлектронногоПисьма (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)