Доброго времени суток Дамы и Господа.
Вкратце суть вопроса - в мобильном приложении необходимо получать новые письма.
Стандартный код:
Почта = Новый ИнтернетПочта;
ИспользоватьIMAP=Истина;
ПочтовыйЯщик = "";
Профиль = ПолучитьПрофиль();
Попытка
Если ИспользоватьIMAP Тогда
Почта.Подключиться(Профиль, ПротоколИнтернетПочты.IMAP);
Если ПочтовыйЯщик = "" Тогда
ПочтовыйЯщик = "INBOX";
КонецЕсли;
Почта.ТекущийПочтовыйЯщик = ПочтовыйЯщик;
Иначе;
Почта.Подключиться(Профиль, ПротоколИнтернетПочты.POP3);
КонецЕсли;
Исключение
Сообщ=Новый СообщениеПользователю;
Сообщ.Текст="Невозможно загрузить данные по причине:"+ОписаниеОшибки();
Сообщ.Сообщить();
КонецПопытки;
ЗагруженныеПисьма = пл_ОбщийМодульСервер.ПолучитьИдентификаторыЗагруженныхПисем();
Отбор = Новый Структура;
Отбор.Вставить("Seen",Ложь);
Попытка
ИдентификаторыНовыхПисем = Почта.ПолучитьИдентификаторы(ЗагруженныеПисьма,Отбор);
//ИдентификаторыНовыхПисем = Почта.ПолучитьИдентификаторы(ЗагруженныеПисьма);
Если ИдентификаторыНовыхПисем.Количество() > 0 Тогда
Письма = Почта.Выбрать(Ложь, ИдентификаторыНовыхПисем);
Для каждого Письмо Из Письма Цикл
Показать
вызвал у меня недоумение.
Дело в том, что мобильная платформа получает письма только вот такой настройкой получения идентификаторов (Отбор.Вставить("Seen",Ложь);).
При использовании, например, Отбор.Вставить("Seen",Истина); на строка выборки писем (Письма = Почта.Выбрать(Ложь, ИдентификаторыНовыхПисем);) возникает ошибка (Ошибка при вызове контекста Выбрать()).
В тонком или толстом клиенте любой отбор работает без ошибок.
В принципе, возможно, что в моем коде есть ошибки, но перепроверял код несколько раз.
Специалисты в мобильном приложении, можете поделиться знаниями по механизмам получения электронных писем? Это баг платформы (тестировал на 8.3.15 и 8.3.17 версиях)
Заранее благодарен за советы :)