РезультатАнализаОшибочныхПолучателей (БСП)

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

Результат анализа ошибочных получателей.

Функция РезультатАнализаОшибочныхПолучателей(ПисьмоОбъект, ОшибочныеПолучатели) Экспорт

	Результат = Новый Структура;
	Результат.Вставить("ЭтоПроблемаОтвергнутыхСерверомПочтовыхАдресов",Ложь);
	Результат.Вставить("ВсеАдресатыПисьмаОтвергнутыСервером",Ложь);
	Результат.Вставить("ПредставлениеОшибочныхАдресатов","");
	
	КоличествоОшибочныхПолучателей = ОшибочныеПолучатели.Количество();
	
	Если КоличествоОшибочныхПолучателей > 0 Тогда
		
		Результат.ЭтоПроблемаОтвергнутыхСерверомПочтовыхАдресов = Истина;
		
		МассивПолучателейПисьма = Новый Массив;
		Для Каждого СтрокаПолучателя Из ПисьмоОбъект.ПолучателиПисьма Цикл
			Если МассивПолучателейПисьма.Найти(СтрокаПолучателя.Адрес) = Неопределено Тогда
				МассивПолучателейПисьма.Добавить(СтрокаПолучателя.Адрес);
			КонецЕсли;
		КонецЦикла;
		Для Каждого СтрокаПолучателя Из ПисьмоОбъект.ПолучателиКопий Цикл
			Если МассивПолучателейПисьма.Найти(СтрокаПолучателя.Адрес) = Неопределено Тогда
				МассивПолучателейПисьма.Добавить(СтрокаПолучателя.Адрес);
			КонецЕсли;
		КонецЦикла;
		Для Каждого СтрокаПолучателя Из ПисьмоОбъект.ПолучателиСкрытыхКопий Цикл
			Если МассивПолучателейПисьма.Найти(СтрокаПолучателя.Адрес) = Неопределено Тогда
				МассивПолучателейПисьма.Добавить(СтрокаПолучателя.Адрес);
			КонецЕсли;
		КонецЦикла;
		
		КоличествоПолучателейПисьма = МассивПолучателейПисьма.Количество();
		
		Если КоличествоПолучателейПисьма = КоличествоОшибочныхПолучателей Тогда
			Результат.ВсеАдресатыПисьмаОтвергнутыСервером = Истина;
		КонецЕсли;
		
		ПредставлениеОшибочныхАдресатов = "";
		Для Каждого ОшибочныйАдресат Из ОшибочныеПолучатели Цикл
			Если Не ПустаяСтрока(ПредставлениеОшибочныхАдресатов) Тогда
				ПредставлениеОшибочныхАдресатов = ПредставлениеОшибочныхАдресатов + ", ";
			КонецЕсли;
			ПредставлениеОшибочныхАдресатов = ПредставлениеОшибочныхАдресатов + ОшибочныйАдресат.Ключ;
		КонецЦикла;
		
		Результат.ПредставлениеОшибочныхАдресатов = ПредставлениеОшибочныхАдресатов;
		
	КонецЕсли;
	
	Возврат Результат;
	
КонецФункции

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

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

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

РезультатАнализаДанныхКЗагрузке (БСП)

ВыбратьПолучателяЗавершение (БСП)

ОпределитьОшибочныеРеквизиты (БСП)

Замеряет скорость выполнения запроса и получает его выгрузки

СформироватьСписокПолучателейРассылки (БСП)

ИнициализироватьСтруктуруПолучатели (БСП)

ВсеПолучатели (БСП)

ПослеОпределенияПолучателей (БСП)

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