ПолучитьДоступныеУчетныеЗаписиДляОтправки (БСП)

Автор: 1С
ОбщийМодуль.УправлениеЭлектроннойПочтой
БСП

Получить доступные учетные записи для отправки. Получает и добавляет в список значений доступные пользователю учетные записи электронной почты.

// Получает и добавляет в список значений доступные пользователю учетные записи электронной почты.
//
// Параметры:
//  СписокВыбора  - СписокЗначений - в него будут добавлены доступные пользователю записи электронной почты.
//
Процедура ПолучитьДоступныеУчетныеЗаписиДляОтправки(СписокВыбора,ТаблицаДанныхУчетнойЗаписи) Экспорт
	
	СписокВыбора.Очистить();
	
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
	|	ЭлектронноеПисьмоИсходящее.УчетнаяЗапись КАК УчетнаяЗапись
	|ПОМЕСТИТЬ ПоследняяИспользовавшаясяУчетная
	|ИЗ
	|	Документ.ЭлектронноеПисьмоИсходящее КАК ЭлектронноеПисьмоИсходящее
	|ГДЕ
	|	ЭлектронноеПисьмоИсходящее.СтатусПисьма <> ЗНАЧЕНИЕ(Перечисление.СтатусыИсходящегоЭлектронногоПисьма.Черновик)
	|	И НЕ ЭлектронноеПисьмоИсходящее.ПометкаУдаления
	|	И ЭлектронноеПисьмоИсходящее.Автор = &ТекущийПользователь
	|
	|УПОРЯДОЧИТЬ ПО
	|	ЭлектронноеПисьмоИсходящее.Дата УБЫВ
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	УчетныеЗаписиЭлектроннойПочты.Ссылка КАК УчетнаяЗапись,
	|	УчетныеЗаписиЭлектроннойПочты.ИмяПользователя КАК ИмяПользователя,
	|	УчетныеЗаписиЭлектроннойПочты.АдресЭлектроннойПочты КАК АдресЭлектроннойПочты,
	|	ЕСТЬNULL(НастройкиУчетныхЗаписейЭлектроннойПочты.УдалятьПисьмаПослеОтправки, ЛОЖЬ) КАК УдалятьПослеОтправки,
	|	ВЫБОР
	|		КОГДА НЕ ПоследняяИспользовавшаясяУчетная.УчетнаяЗапись ЕСТЬ NULL
	|			ТОГДА 0
	|		КОГДА УчетныеЗаписиЭлектроннойПочты.ВладелецУчетнойЗаписи <> ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)
	|				И УчетныеЗаписиЭлектроннойПочты.ВладелецУчетнойЗаписи = &ТекущийПользователь
	|			ТОГДА 1
	|		КОГДА УчетныеЗаписиЭлектроннойПочты.ВладелецУчетнойЗаписи = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)
	|				И НастройкиУчетныхЗаписейЭлектроннойПочты.ОтветственныйЗаОбработкуПисем = &ТекущийПользователь
	|			ТОГДА 2
	|		ИНАЧЕ 2
	|	КОНЕЦ КАК ЗначениеУпорядочивания
	|ИЗ
	|	Справочник.УчетныеЗаписиЭлектроннойПочты КАК УчетныеЗаписиЭлектроннойПочты
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиУчетныхЗаписейЭлектроннойПочты КАК НастройкиУчетныхЗаписейЭлектроннойПочты
	|		ПО (НастройкиУчетныхЗаписейЭлектроннойПочты.УчетнаяЗаписьЭлектроннойПочты = УчетныеЗаписиЭлектроннойПочты.Ссылка)
	|		ЛЕВОЕ СОЕДИНЕНИЕ ПоследняяИспользовавшаясяУчетная КАК ПоследняяИспользовавшаясяУчетная
	|		ПО ПоследняяИспользовавшаясяУчетная.УчетнаяЗапись = УчетныеЗаписиЭлектроннойПочты.Ссылка
	|ГДЕ
	|	УчетныеЗаписиЭлектроннойПочты.ИспользоватьДляОтправки
	|	И НЕ УчетныеЗаписиЭлектроннойПочты.ПометкаУдаления
	|	И НЕ ЕСТЬNULL(НастройкиУчетныхЗаписейЭлектроннойПочты.НеИспользоватьВоВстроенномПочтовомКлиенте, ЛОЖЬ)
	|	И (УчетныеЗаписиЭлектроннойПочты.ВладелецУчетнойЗаписи = &ТекущийПользователь
	|			ИЛИ УчетныеЗаписиЭлектроннойПочты.ВладелецУчетнойЗаписи = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка))
	|
	|УПОРЯДОЧИТЬ ПО
	|	ЗначениеУпорядочивания";
	
	Запрос.УстановитьПараметр("ТекущийПользователь",Пользователи.ТекущийПользователь());
	Результат = Запрос.Выполнить();
	Если Результат.Пустой() Тогда
		Возврат;
	КонецЕсли;
	
	Выборка = Результат.Выбрать();
	Пока Выборка.Следующий() Цикл
		СписокВыбора.Добавить(Выборка.УчетнаяЗапись, 
			ВзаимодействияКлиентСервер.ПолучитьПредставлениеАдресата(Выборка.ИмяПользователя,
			                                                         Выборка.АдресЭлектроннойПочты,
			                                                         ""));
	КонецЦикла;
	
	ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(Результат.Выгрузить(), ТаблицаДанныхУчетнойЗаписи);
	
КонецПроцедуры

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

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

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

ДоступныеУчетныеЗаписи (БСП)

ЕстьДоступныеУчетныеЗаписиДляОтправки (БСП)

ПроверитьНаличиеУчетнойЗаписиДляОтправкиПочты (БСП)

ПроверитьНаличиеУчетнойЗаписиДляОтправкиПочтыЗавершение (БСП)

ДоступнаОтправкаПисем (БСП)

ДоступноПравоДобавленияУчетныхЗаписей (БСП)

ПолучитьУчетнуюЗаписьДляОтправкиПоУмолчанию (БСП)

ПроверитьВозможностьОтправкиИПолученияЭлектроннойПочты (БСП)

ОтправитьЗагрузитьПочтуПользователя (БСП)

Синтакс-помощник БСП с нейросетевым ассистентом