Формирует выборку сообщений канала сервиса интеграции.
Синтаксис
ВыбратьСообщения(<Отбор>, <МаксимальноеКоличество>)Полное описание, параметры и ограничения
КаналСервисаИнтеграцииМенеджер.<Имя канала сервиса интеграции>.ВыбратьСообщения (IntegrationServiceChannelManager.<Integration service channel name>.SelectMessages)
КаналСервисаИнтеграцииМенеджер.<Имя канала сервиса интеграции> (IntegrationServiceChannelManager.<Integration service channel name>)
ВыбратьСообщения (SelectMessages)
Доступен, начиная с версии 8.3.18.
Синтаксис:
ВыбратьСообщения(<Отбор>, <МаксимальноеКоличество>)
Параметры:
<Отбор> (необязательный)
Тип: Неопределено, Структура.
Структура, содержащая условия отбора сообщений. В отборе можно использовать поля объекта СообщениеСервисаИнтеграции и поля заголовка сообщения.
В качестве пары "Ключ" и "Значение" используются:
Идентификатор (ID) - значение типа УникальныйИдентификатор. Отбор сообщений по идентификатору.
ДатаОтправкиНачало (StartSendDate) - значение типа Дата. Отбор сообщений с датой отправки, большей или равной указанной даты.
ДатаОтправкиОкончание (EndSendDate) - значение типа Дата. Отбор сообщений с датой отправки, меньшей или равной указанной даты.
ИдентификаторСообщенияЗапроса (CorrelationID) - значение типа УникальныйИдентификатор. Отбор сообщений по идентификатору сообщения запроса.
ДатаУстареванияНачало (StartExpirationDate) - значение типа Дата. Отбор сообщений с датой устаревания большей или равной указанной даты.
ДатаУстареванияОкончание (EndExpirationDate) - значение типа Дата. Отбор сообщений с датой устаревания меньшей или равной указанной даты.
КодОтправителя (SenderCode) - значение типа Строка. Отбор сообщений по коду отправителя.
КодПолучателя (ReceiverCode) Строка. Отбор сообщений по коду получателя.
Параметры (Parameters) - значение типа Соответствие. Отбор по параметрам сообщения. Если в <Параметры> есть элемент "Поле1"="Значение1", то будут отобраны сообщения с Параметры, содержащие элемент "Поле1"="Значение1".
Значение по умолчанию: Неопределено.
<МаксимальноеКоличество> (необязательный)
Тип: Неопределено, Число.
Ограничивает число считываемых версий.
Если указано конечное число, метод считывает сообщения с учетом установленного фильтра в количестве, не превышающем значения параметра. Если указано Неопределено, то считываются все версии.
Значение по умолчанию: Неопределено.
Возвращаемое значение:
Тип: Массив.
Массив объектов СообщениеСервисаИнтеграции.
Описание:
Формирует выборку сообщений канала сервиса интеграции.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Исключение генерируется, если выполняется одно из условий:
Cервис интеграции входит в состав разделителя:
Если у пользователя нет права "Администрирование данных",
В сеансе используется разделитель, который не разделяет сервис интеграции.
В сеансе не используется разделитель, в состав которого входит сервис интеграции.
Cервис интеграции не входит в состав разделителя:
Если у пользователя нет права "Администрирование".
В сеансе используется любой разделитель.
Использование в версии:
Доступен, начиная с версии 8.3.18.
Описание изменено в версии 8.3.24.
Методическая информация
Практические примеры
Прочитать время и идентификаторы своих сообщений очереди
Идентификатор и дата берутся из фактически выбранных сообщений. ИдентификаторСообщенияЗапроса означает связь ответа с запросом, не произвольный ключ.
Где и как запускать
Сервер, толстый клиент или внешнее соединение.
Подготовка
Только собственная учебная конфигурация с заранее подготовленными объектами и необходимыми правами. Здесь нет запуска 1С, сервисов или сетевых операций.
Создайте свой сервис интеграции УчебныйСервис и реальный канал УчебныйКанал с собственным тестовым внешним сервисом. Коды learning-sender и learning-receiver согласуйте с этим сервисом. Не используйте рабочие очереди и данные.
Подготовьте только свое сообщение с указанной меткой. Просматривайте его очередь локально; пример читает не больше 10 собственных сообщений.
&НаСервереБезКонтекста
Процедура ПоказатьУчебныеСообщенияОчереди()
Параметры = Новый Соответствие;
Параметры.Вставить("Назначение", "Одноразовый учебный пример");
Отбор = Новый Структура;
Отбор.Вставить("КодОтправителя", "learning-sender");
Отбор.Вставить("КодПолучателя", "learning-receiver");
Отбор.Вставить("Параметры", Параметры);
Канал = СервисыИнтеграции.УчебныйСервис.УчебныйКанал;
Сообщения = Канал.ВыбратьСообщения(Отбор, 10);
Для Каждого Сообщение Из Сообщения Цикл
Сообщить("Идентификатор: " + Строка(Сообщение.Идентификатор));
Сообщить("Дата отправки в часовом поясе сеанса: " + Строка(Сообщение.ДатаОтправки));
Сообщить("Ссылка на запрос: " + Строка(Сообщение.ИдентификаторСообщенияЗапроса));
КонецЦикла;
Сообщить("Выбрано сообщений: " + Строка(Сообщения.Количество()));
КонецПроцедурыРазбор по шагам
Составьте отбор своих кодов и параметров.
Получите ограниченный массив настоящих сообщений.
Прочитайте три настоящих поля каждого результата.
Как проверить результат
Readonly дата и идентификатор не изменяются.
ИдентификаторСообщенияЗапроса полученного сообщения не перезаписывается.
Ожидаемый результат
Показаны реальные сведения выбранных собственных сообщений.
На что обратить внимание
Дата хранится в UTC, при получении преобразуется в часовой пояс сеанса. Если сообщений нет, очередь может быть уже обработана; не подставляйте фиктивные ID.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.