Получить доступные учетные записи для отправки. Получает и добавляет в список значений доступные пользователю учетные записи электронной почты.
// Получает и добавляет в список значений доступные пользователю учетные записи электронной почты.
//
// Параметры:
// СписокВыбора - СписокЗначений - в него будут добавлены доступные пользователю записи электронной почты.
//
Процедура ПолучитьДоступныеУчетныеЗаписиДляОтправки(СписокВыбора,ТаблицаДанныхУчетнойЗаписи) Экспорт
СписокВыбора.Очистить();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 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
///////////////////////////////////////////////////////////////////////////////////////////////////////
ЕстьДоступныеУчетныеЗаписиДляОтправки (БСП)
ПроверитьНаличиеУчетнойЗаписиДляОтправкиПочты (БСП)
ПроверитьНаличиеУчетнойЗаписиДляОтправкиПочтыЗавершение (БСП)
ДоступноПравоДобавленияУчетныхЗаписей (БСП)
ПолучитьУчетнуюЗаписьДляОтправкиПоУмолчанию (БСП)
ПроверитьВозможностьОтправкиИПолученияЭлектроннойПочты (БСП)