КаналСервисаИнтеграцииМенеджер.<Имя канала сервиса интеграции>.ВыбратьСообщения

Методы · SelectMessages

Формирует выборку сообщений канала сервиса интеграции.

Синтаксис

ВыбратьСообщения(<Отбор>, <МаксимальноеКоличество>)
Полное описание, параметры и ограничения

КаналСервисаИнтеграцииМенеджер.<Имя канала сервиса интеграции>.ВыбратьСообщения (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. Только собственная учебная конфигурация с заранее подготовленными объектами и необходимыми правами. Здесь нет запуска 1С, сервисов или сетевых операций.

  2. Создайте свой сервис интеграции УчебныйСервис и реальный канал УчебныйКанал с собственным тестовым внешним сервисом. Коды learning-sender и learning-receiver согласуйте с этим сервисом. Не используйте рабочие очереди и данные.

  3. Подготовьте только свое сообщение с указанной меткой. Просматривайте его очередь локально; пример читает не больше 10 собственных сообщений.

&НаСервереБезКонтекста
Процедура ПоказатьУчебныеСообщенияОчереди()
    Параметры = Новый Соответствие;
    Параметры.Вставить("Назначение", "Одноразовый учебный пример");
    Отбор = Новый Структура;
    Отбор.Вставить("КодОтправителя", "learning-sender");
    Отбор.Вставить("КодПолучателя", "learning-receiver");
    Отбор.Вставить("Параметры", Параметры);
    Канал = СервисыИнтеграции.УчебныйСервис.УчебныйКанал;
    Сообщения = Канал.ВыбратьСообщения(Отбор, 10);
    Для Каждого Сообщение Из Сообщения Цикл
        Сообщить("Идентификатор: " + Строка(Сообщение.Идентификатор));
        Сообщить("Дата отправки в часовом поясе сеанса: " + Строка(Сообщение.ДатаОтправки));
        Сообщить("Ссылка на запрос: " + Строка(Сообщение.ИдентификаторСообщенияЗапроса));
    КонецЦикла;
    Сообщить("Выбрано сообщений: " + Строка(Сообщения.Количество()));
КонецПроцедуры

Разбор по шагам

  1. Составьте отбор своих кодов и параметров.

  2. Получите ограниченный массив настоящих сообщений.

  3. Прочитайте три настоящих поля каждого результата.

Как проверить результат

  1. Readonly дата и идентификатор не изменяются.

  2. ИдентификаторСообщенияЗапроса полученного сообщения не перезаписывается.

Ожидаемый результат

Показаны реальные сведения выбранных собственных сообщений.

На что обратить внимание

  1. Дата хранится в UTC, при получении преобразуется в часовой пояс сеанса. Если сообщений нет, очередь может быть уже обработана; не подставляйте фиктивные ID.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.