1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-02-05 13:14:54 +02:00

#105 @79vlad Исправление ошибки при использовании протокола IMAP

This commit is contained in:
Anton Ivanov 2018-10-07 10:49:37 +03:00
parent f36b065037
commit d1ed9f3b8d

View File

@ -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
Запрос = Новый Запрос;