Получение сообщений
Для получения сообщений вы можете использовать следующие методы типа СистемаВзаимодействия:
-
ПолучитьНепрочитанныеСообщения()— возвращает непрочитанные сообщения для указанного обсуждения. Количество запрашиваемых сообщений устанавливается параметромЛимитСообщений, но не может превышать 100 (даже если фактических сообщений больше). Установить последнее прочитанное сообщение в обсуждении можно с помощью методаУстановитьПоследнееПрочитанноеСообщение(). Непрочитан ными будут считаться сообщения, которые следуют после указанного сообщения. -
ПолучитьСообщения()— возвращает сообщения указанного обсуждения. Количество запрашиваемых сообщений устанавливается параметромЛимитСообщений, но не может превышать 100 (даже если фактических сообщений больше). Сообщения возвращаются в порядке от последних созданных к более ранним. Если задан параметрНачальноеСообщение, то будут выбраны сообщения, созданные ранее указанного. -
НайтиСообщение()— возвращает сообщение системы взаимодействия по его идентификатору. Если сообщение не найдено, будет возвращеноНеопределено. Длительность ожидания определяется параметромТаймаут.
ОжидатьНовыеСообщения()— если на момент запуска есть непрочитанные сообщения, то возвращается их список. Если сообщений нет, то выполняется ожидание поступления новых. Длительность ожидания определяется параметромТаймаут.
Получение непрочитанных обсуждений и сообщений
попытка
// Получение непрочитанных обсуждений.
пер МассивИдНепрочитанныхОбсуждений = СистемаВзаимод ействия.ПолучитьНепрочитанныеОбсуждения(ЛимитОбсуждений = 10)
// Получение непрочитанных сообщений из каждого непрочитанного обсуждения (выдаются в хронологическом порядке).
для ИдНепрочитанногоОбсуждения из МассивИдНепрочитанныхОбсуждений
// Консоль.Записать("Обсуждение # " + ИдНепрочитанногоОбсуждения)
пер МассивНовыхСообщений = СистемаВзаимодействия.ПолучитьНепрочитанныеСообщения(ИдНепрочитан ногоОбсуждения)
для Сообщение из МассивНовыхСообщений
// Консоль.Записать("Сообщение # " + Сообщение.Ид + " : " + Сообщение.Текст)
// Установка прочитанного сообщения как последнего прочитанного.
СистемаВзаимодействия.УстановитьПоследнееПрочитанноеСообщение(ИдНепрочитанногоОбсуждения, Сообщение.Ид)
;
;
поймать Исключение : ИсключениеСистемыВзаимодействия
// Обработка исключения...
;
Получение сообщения по идентификатору
знч ИдСообщения = Ууид{520a34cb-f8cb-4c79-ba78-45b7fdfb080d}
знч Таймаут = 5с
пер Сообщение: СообщениеВзаимодействия?
попытка
Сообщение = СистемаВзаимодействия.НайтиСообщение(ИдСообщения, Таймаут)
поймать Исключение: ИсключениеСистемыВзаимодействия
если Исключение это ИсключениеЗапретаДоступаСистемыВзаимодействия
// Консоль.Записать("Нет доступа к сообщению '%ИдСообщения'.")
иначе если Исключение это ИсключениеТаймаутаСистемыВзаимодействия
// Консоль.Записать("Время ожидания ответа вышло. Попробуйте снова.")
иначе если Исключение это Исключение НеНайденОбъектСистемыВзаимодействия
// Консоль.Записать("Сообщение '%ИдСообщения' не найдено.")
;
;