ПолучитьПараметрыРаботыПользователяДляИсходящегоЭлектронногоПисьма (БСП)

Автор: 1С
ОбщийМодуль.Взаимодействия
БСП

Получить параметры работы пользователя для исходящего электронного письма. Получает параметры работы пользователя для исходящего электронного письма.

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

	Если ДляНового Тогда
		
		Запрос = Новый Запрос;
		Запрос.Текст = "ВЫБРАТЬ
		|	ПодписиУчетныхЗаписейЭлектроннойПочты.ВключатьПодписьДляНовыхСообщений,
		|	ПодписиУчетныхЗаписейЭлектроннойПочты.ФорматПодписиДляНовыхСообщений,
		|	ПодписиУчетныхЗаписейЭлектроннойПочты.ПодписьДляНовыхСообщенийФорматированныйДокумент,
		|	ПодписиУчетныхЗаписейЭлектроннойПочты.ПодписьДляНовыхСообщенийПростойТекст
		|ИЗ
		|	РегистрСведений.НастройкиУчетныхЗаписейЭлектроннойПочты КАК ПодписиУчетныхЗаписейЭлектроннойПочты
		|ГДЕ
		|	ПодписиУчетныхЗаписейЭлектроннойПочты.УчетнаяЗаписьЭлектроннойПочты = &УчетнаяЗаписьЭлектроннойПочты";
		
		Запрос.УстановитьПараметр("УчетнаяЗаписьЭлектроннойПочты",УчетнаяЗаписьЭлектроннойПочты);
		
		Результат = Запрос.Выполнить();
		Если НЕ Результат.Пустой() Тогда
			Выборка = Результат.Выбрать();
			Выборка.Следующий();
			
			ВключатьПодпись = Выборка.ВключатьПодписьДляНовыхСообщений;
			Если ВключатьПодпись Тогда
				ФорматПодписи                  = Выборка.ФорматПодписиДляНовыхСообщений;
				ПодписьПростойТекст            = Выборка.ПодписьДляНовыхСообщенийПростойТекст;
				ПодписьФорматированныйДокумент = Выборка.ПодписьДляНовыхСообщенийФорматированныйДокумент.Получить();
			КонецЕсли;
			
		КонецЕсли;
		
		Если Не ВключатьПодпись Тогда
			ВключатьПодпись = ?(НастройкиРаботыСПочтой.Свойство("ВключатьПодписьДляНовыхСообщений"),
			                    НастройкиРаботыСПочтой.ВключатьПодписьДляНовыхСообщений,
			                    Ложь);
			
			Если ВключатьПодпись Тогда
			
				ФорматПодписи                  = НастройкиРаботыСПочтой.ФорматПодписиДляНовыхСообщений;
				ПодписьПростойТекст            = НастройкиРаботыСПочтой.ПодписьДляНовыхСообщенийПростойТекст;
				ПодписьФорматированныйДокумент = НастройкиРаботыСПочтой.НовоеСообщениеФорматированныйДокумент;
			
			КонецЕсли;
		КонецЕсли;
		
	Иначе
		
		Запрос = Новый Запрос;
		Запрос.Текст = "ВЫБРАТЬ
		|	ПодписиУчетныхЗаписейЭлектроннойПочты.ВключатьПодписьПриОтветеПересылке,
		|	ПодписиУчетныхЗаписейЭлектроннойПочты.ФорматПодписиПриОтветеПересылке,
		|	ПодписиУчетныхЗаписейЭлектроннойПочты.ПодписьПриОтветеПересылкеПростойТекст,
		|	ПодписиУчетныхЗаписейЭлектроннойПочты.ПодписьПриОтветеПересылкеФорматированныйДокумент
		|ИЗ
		|	РегистрСведений.НастройкиУчетныхЗаписейЭлектроннойПочты КАК ПодписиУчетныхЗаписейЭлектроннойПочты
		|ГДЕ
		|	ПодписиУчетныхЗаписейЭлектроннойПочты.УчетнаяЗаписьЭлектроннойПочты = &УчетнаяЗаписьЭлектроннойПочты";
		
		Запрос.УстановитьПараметр("УчетнаяЗаписьЭлектроннойПочты",УчетнаяЗаписьЭлектроннойПочты);
		
		Результат = Запрос.Выполнить();
		Если НЕ Результат.Пустой() Тогда
			
			Выборка = Результат.Выбрать();
			Выборка.Следующий();
			
			ВключатьПодпись = Выборка.ВключатьПодписьПриОтветеПересылке;
			Если ВключатьПодпись Тогда
				ФорматПодписи                  = Выборка.ФорматПодписиПриОтветеПересылке;
				ПодписьПростойТекст            = Выборка.ПодписьПриОтветеПересылкеПростойТекст;
				ПодписьФорматированныйДокумент = Выборка.ПодписьПриОтветеПересылкеФорматированныйДокумент.Получить();
			КонецЕсли;
			
		КонецЕсли;
		
		Если Не ВключатьПодпись Тогда
			
			ВключатьПодпись = ?(НастройкиРаботыСПочтой.Свойство("ВключатьПодписьПриОтветеПересылке"),
			                    НастройкиРаботыСПочтой.ВключатьПодписьПриОтветеПересылке,
			                    Ложь);
			
			Если ВключатьПодпись Тогда
				ФорматПодписи                  = НастройкиРаботыСПочтой.ФорматПодписиПриОтветеПересылке;
				ПодписьПростойТекст            = НастройкиРаботыСПочтой.ПодписьПриОтветеПересылкеПростойТекст;
				ПодписьФорматированныйДокумент = НастройкиРаботыСПочтой.ПриОтветеПересылкеФорматированныйДокумент;
			КонецЕсли;
			
		КонецЕсли;
		
	КонецЕсли;
	
	СтруктураВозврата.УведомитьОДоставке = 
		?(НастройкиРаботыСПочтой.Свойство("ВсегдаЗапрашиватьУведомленияОДоставке"),
	                                       НастройкиРаботыСПочтой.ВсегдаЗапрашиватьУведомленияОДоставке, Ложь);
	СтруктураВозврата.УведомитьОПрочтении = 
		?(НастройкиРаботыСПочтой.Свойство("ВсегдаЗапрашиватьУведомлениеОПрочтении"),
	                                        НастройкиРаботыСПочтой.ВсегдаЗапрашиватьУведомлениеОПрочтении, Ложь);
	СтруктураВозврата.ОтображатьТелоИсходногоПисьма = 
		?(НастройкиРаботыСПочтой.Свойство("ОтображатьТелоИсходногоПисьма"),
	                                       НастройкиРаботыСПочтой.ОтображатьТелоИсходногоПисьма, Ложь);
	СтруктураВозврата.ВключатьТелоИсходногоПисьма = 
		?(НастройкиРаботыСПочтой.Свойство("ВключатьТелоИсходногоПисьма"),
	                                       НастройкиРаботыСПочтой.ВключатьТелоИсходногоПисьма, Ложь);
	
	Если ВключатьПодпись Тогда
		
		Если ФорматСообщения = Перечисления.СпособыРедактированияЭлектронныхПисем.ОбычныйТекст Тогда
			
			СтруктураВозврата.Подпись = Символы.ПС + Символы.ПС + ПодписьПростойТекст;
			
		Иначе
			
			Если ФорматПодписи = Перечисления.СпособыРедактированияЭлектронныхПисем.ОбычныйТекст Тогда
				
				ФорматированныйДокумент = Новый ФорматированныйДокумент;
				ФорматированныйДокумент.Добавить(Символы.ПС + Символы.ПС + ПодписьПростойТекст);
				СтруктураВозврата.Подпись = ФорматированныйДокумент;
				
			Иначе
				
				ФорматированныйДокумент = ПодписьФорматированныйДокумент;
				ФорматированныйДокумент.Вставить(ФорматированныйДокумент.ПолучитьЗакладкуНачала(),,
				                                 ТипЭлементаФорматированногоДокумента.ПереводСтроки);
				ФорматированныйДокумент.Вставить(ФорматированныйДокумент.ПолучитьЗакладкуНачала(),,
				                                 ТипЭлементаФорматированногоДокумента.ПереводСтроки);
				СтруктураВозврата.Подпись = ФорматированныйДокумент;
				
			КонецЕсли;
			
		КонецЕсли;
		
	КонецЕсли;
	
	Возврат СтруктураВозврата;
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

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

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

ПолучитьПараметрыРаботыПользователяДляВходящегоЭлектронногоПисьма (БСП)

СформироватьТекстHTMLДляИсходящегоПисьма (БСП)

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

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

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

СформироватьЭлементДанныхШапкиПисьма (БСП)

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

ДобавитьВПараметрАдресатов (БСП)

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

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз