СоздатьЭлектронноеПисьмо (БСП)

Автор: 1С
ОбщийМодуль.УправлениеКонтактнойИнформациейКлиент
БСП

Создать электронное письмо. Создает письмо по контактной информации.

// Создает письмо по контактной информации.
//
// Параметры:
//  ЗначенияПолей - Строка, Структура, Соответствие, СписокЗначений - значение контактной информации.
//  Представление - Строка - Представление контактной информации. Используется, если невозможно определить 
//                              представление из параметра. ЗначенияПолей (отсутствие поля Представление).
//  ОжидаемыйВид  - СправочникСсылка.ВидыКонтактнойИнформации, ПеречислениеСсылка.ТипыКонтактнойИнформации,
//                         Структура - Используется для определения типа, если его невозможно вычислить по полю ЗначенияПолей.
//  ИсточникКонтактнойИнформации - Произвольный - Объект владелец контактной информации.
//
Процедура СоздатьЭлектронноеПисьмо(Знач ЗначенияПолей, Знач Представление = "", ОжидаемыйВид = Неопределено, ИсточникКонтактнойИнформации = Неопределено) Экспорт
	
	КонтактнаяИнформация = УправлениеКонтактнойИнформациейСлужебныйВызовСервера.ПривестиКонтактнуюИнформацию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
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

УстановитьПапкуЭлектронногоПисьма (БСП)

ПолучитьВложенияЭлектронногоПисьма (БСП)

ЗаписатьВложениеЭлектронногоПисьмаСкопировавВложениеДругогоПисьма (БСП)

СоздатьSMS (БСП)

ФайлЯвляетсяЭлектроннымПисьмом (БСП)

ПолучитьПапкуЭлектронногоПисьма (БСП)

УстановитьЗаголовокФормыЭлектронногоПисьма (БСП)

ОценитьРазмерИсходящегоЭлектронногоПисьма (БСП)

ВыполнитьОтправкуПисьма (БСП)

TurboConf ИР адаптер 2.60