diff --git a/src/cf/CommonModules/УправлениеЭлектроннойПочтой/Ext/Module.bsl b/src/cf/CommonModules/УправлениеЭлектроннойПочтой/Ext/Module.bsl index dcda80f62..d09572dc2 100644 --- a/src/cf/CommonModules/УправлениеЭлектроннойПочтой/Ext/Module.bsl +++ b/src/cf/CommonModules/УправлениеЭлектроннойПочтой/Ext/Module.bsl @@ -606,7 +606,13 @@ // +++ Григорьев 01.06.2018 //ИдЗагружать = ПолучитьИдентификаторыПисемДляЗагрузки(Идентификаторы, ДанныеУчетнойЗаписи.Ссылка); Если ЭтоПротоколIMAP Тогда - ИдЗагружать = ПолучитьИдентификаторыПисемДляЗагрузки(Идентификаторы, ДанныеУчетнойЗаписи.Ссылка,узИсключатьДублиПисем); + + // +++ #105 79Vlad 05.10.2018 + //ИдЗагружать = ПолучитьИдентификаторыПисемДляЗагрузки(Идентификаторы, ДанныеУчетнойЗаписи.Ссылка,узИсключатьДублиПисем); + ИдЗагружать = ПолучитьИдентификаторыПисемДляЗагрузки(Идентификаторы, ДанныеУчетнойЗаписи.Ссылка,узИсключатьДублиПисем, ЭтоПротоколIMAP); + // --- #105 79Vlad 05.10.2018 + + Иначе ИдЗагружать = ПолучитьИдентификаторыПисемДляЗагрузки(Идентификаторы, ДанныеУчетнойЗаписи.Ссылка); КонецЕсли; @@ -633,6 +639,11 @@ //МассивИдентификаторовПорцииДляЗагрузки.Добавить(ИдЗагружать.Получить(Инд)); Если ЭтоПротоколIMAP Тогда Если узИсключатьДублиПисем Тогда + // +++ #105 79Vlad 05.10.2018 + //В этом случае ищем необходимый заголовок письма по серверному идентификатору + //(который может измениться в следующей сессии подключения) и уже из заголовка получаем реальный идентификатор, + //который всегда постоянный для конкретного экземпляра письма + // --- #105 79Vlad 05.10.2018 ИскомыйСерверныйИдентификатор = ИдЗагружать.Получить(Инд); Для каждого Стр Из Идентификаторы Цикл Если Стр.ИдентификаторСообщения = ИскомыйСерверныйИдентификатор Тогда @@ -645,6 +656,7 @@ КонецЕсли; КонецЦикла; Иначе + // +++ #105 79Vlad 05.10.2018 В этом случае в массиве "ИдЗагружать" хранится строка идентификатора письма к загрузке МассивИдентификаторовПорцииДляЗагрузки.Добавить(ИдЗагружать.Получить(Инд)); КонецЕсли; Иначе @@ -868,7 +880,7 @@ //+ #84 Иванов А.Б. 2018-07-23 // +++ #84 79Vlad Добавил входной параметр "ЭтоИдентификаторыСообщения" 13.04.2018 //Функция СоздатьТаблицуСИдентификаторами(Идентификаторы) -Функция СоздатьТаблицуСИдентификаторами(Идентификаторы, узЭтоИдентификаторыСообщения = Ложь) +Функция СоздатьТаблицуСИдентификаторами(Идентификаторы, узЭтоИдентификаторыСообщения = Ложь, узЭтоПротоколIMAP = Ложь) // +++ #105 79Vlad 05.10.2018 //Добавил входящий параметр узЭтоПротоколIMAP //- #84 Иванов А.Б. 2018-07-23 ТаблицаИдентификаторов = Новый ТаблицаЗначений; @@ -883,6 +895,11 @@ пИдентификатор = Идентификатор; Если узЭтоИдентификаторыСообщения Тогда пИдентификатор = Идентификатор.ИдентификаторСообщения; + // +++ #105 79Vlad 05.10.2018 + ИначеЕсли узЭтоПротоколIMAP и не узЭтоИдентификаторыСообщения Тогда + //Для протокола IMAP, мы вибираем заголовки сообщений, соответственно идентификатор имеет тип Массив + пИдентификатор = Идентификатор.Идентификатор[0]; + // --- #105 79Vlad 05.10.2018 КонецЕсли; НоваяСтрока.Идентификатор = пИдентификатор; @@ -895,13 +912,16 @@ //+ #84 Иванов А.Б. 2018-07-23 //Функция ПолучитьИдентификаторыПисемДляЗагрузки(Идентификаторы, УчетнаяЗапись) -Функция ПолучитьИдентификаторыПисемДляЗагрузки(Идентификаторы, УчетнаяЗапись,узИсключатьДублиПисем = Ложь) +Функция ПолучитьИдентификаторыПисемДляЗагрузки(Идентификаторы, УчетнаяЗапись, узИсключатьДублиПисем = Ложь, узЭтоПротоколIMAP = Ложь) // +++ #105 79Vlad 05.10.2018 //Добавил входящий параметр узЭтоПротоколIMAP //- #84 Иванов А.Б. 2018-07-23 // Получим список сообщений которые не были раньше получены. //+ #84 Иванов А.Б. 2018-07-23 //ТаблицаИдентификаторов = СоздатьТаблицуСИдентификаторами(Идентификаторы); - ТаблицаИдентификаторов = СоздатьТаблицуСИдентификаторами(Идентификаторы,узИсключатьДублиПисем); + // +++ #105 79Vlad 05.10.2018 + //ТаблицаИдентификаторов = СоздатьТаблицуСИдентификаторами(Идентификаторы,узИсключатьДублиПисем); + ТаблицаИдентификаторов = СоздатьТаблицуСИдентификаторами(Идентификаторы,узИсключатьДублиПисем,узЭтоПротоколIMAP); + // --- #105 79Vlad 05.10.2018 //- #84 Иванов А.Б. 2018-07-23 Запрос = Новый Запрос;