<< Click to Display Table of Contents >> Объектная модель > Базовое решение Directum RX > ExchangeCore – электронный обмен. Настройки > Очереди MessageQueueItem – элемент очереди синхронизации сообщений |
Очередь обработки полученных сообщений из сервисов ЮЗДО. Наследник от Sungero.ExchangeCore.QueueItemBase.
Жизненный цикл элемента очереди:
•создается в фоновом процессе «Электронный обмен. Получение сообщений» для пришедшего сообщения из сервиса ЮЗДО;
•обрабатывается в асинхронном обработчике «Обработка сообщений из сервиса обмена»;
•если сообщение не удалось обработать, то элемент очереди не удаляется, а асинхронный обработчик уходит в переповтор;
•элемент очереди удаляется после успешной обработки сообщения из сервиса ЮЗДО.
Имя свойства |
Отображаемое имя |
---|---|
Идентификатор контрагента в сервисе обмена |
|
Дата загрузки |
|
Документы |
|
Cессия загрузки сообщений |
|
Возобновлено вручную |
|
Основное сообщение |
|
Уведомление |
|
ИД основного сообщения в сервисе обмена |
ExternalId (ИД в сервисе обмена): Строка(250) Идентификатор полученного сообщения в сервисе обмена. ProcessingStatus (Статус обработки): Перечисление К базовому набору добавлены новые значения: •«Обработано». В асинхронном обработчике «Обработка сообщений из сервиса обмена» необходимо различать успешно обработанные элементы очереди, чтобы их удалить; •«Обработка остановлена». В этот статус переводятся элементы очереди, по которым остановлена обработка через действие «Остановить обработку» записи справочника MessageQueueItem (Элемент очереди синхронизации сообщений). Обработка элементов очереди с таким статусом пропускается. Вновь запустить обработку элемента очереди можно через действие «Возобновить обработку». В этом случае значение свойства ProcessingStatus (Статус обработки) изменится на «Не обработано».
Box (Абонентский ящик): Sungero.ExchangeCore.BoxBase Используется для маршрутизации задания на обработку документов, а также определение сотрудников, которым необходимо выдать права на документы сообщения. RootBox (Головной ящик): Sungero.ExchangeCore.BusinessUnitBox Обеспечивает уникальность сообщения вместе с ExternalId, также используется для проверки статуса обмена с контрагентом, от которого пришло сообщение. CounterpartyExternalId (Идентификатор контрагента в сервисе обмена): Строка(250) Идентификатор контрагента в сервисе обмена. Соответствует свойству OrganizationId в коллекции ExchangeBoxes и ExternalId в сущности CounterpartyQueueItem (Элемент очереди синхронизации контрагентов). Используется в инструментах диагностики для поиска сообщений, которые не могут обработаться из-за конфликта синхронизации контрагентов. Дата первой загрузки сообщения из сервиса обмена. Используется в инструментах диагностики для поиска сообщений, которые не обработались за время, указанное в константе модуля Exchange PoisonedMessagePeriod. Константа определяет количество дней для уведомления о том, что сообщение висит в очереди. RootMessageId (ИД основного сообщения в сервисе обмена): Строка (250) Идентификатор основного сообщения в сервисе обмена. Основное сообщение – самое первое сообщение по пакету документов, содержащее в себе тела всех документов пакета. Заполняется при создании элемента очереди сообщений на основе данных о сообщении из сервиса обмена. Используется: •в фоновом процессе «Электронный обмен. Получение сообщений» для группировки элементов очереди по одному пакету документов и последующей их отправки в асинхронный обработчик «Обработка сообщений из сервиса обмена»; •в асинхронном обработчике «Обработка сообщений из сервиса обмена» при проверке обработано ли основное сообщение для элемента очереди сообщений. Если не обработано, то асинхронный обработчик уходит на переповтор. IsRootMessage (Основное сообщение): Логическое Признак, что сообщение является основным среди всех сообщений по одному пакету документов. Основное сообщение – самое первое сообщение по пакету документов, содержащее в себе содержимое всех документов пакета. Заполняется при создании элемента очереди сообщений на основе данных о сообщении из сервиса обмена. Используется в асинхронном обработчике «Обработка сообщений из сервиса обмена» при проверке обработано ли основное сообщение для элемента очереди сообщений. Если не обработано, то асинхронный обработчик повторяет проверку. DownloadSession (Cессия загрузки сообщений): Sungero.ExchangeCore.HistoricalMessagesDownloadSession Сессия загрузки исторических сообщений, в рамках которой создан элемент очереди сообщений. Заполняется при создании элемента очереди сообщений. Используется: •в фоновом процессе «Электронный обмен. Получение исторических сообщений» для получения количества необработанных элементов очереди сообщений по сессии загрузки, у которых ProcessingStatus (Статус обработки) не равен значению «Обработка остановлена». Если количество превышает значение параметра «HistoricalMessageQueueItemLimit» таблицы Sungero_Docflow_Params, то получение новых сообщений по сессии загрузки приостанавливается, пока не будут обработаны существующие из очереди. По умолчанию значение параметра равно 10000; •в асинхронном обработчике «Обработка сообщений из сервиса обмена» для получения состояния сессии загрузки элемента очереди сообщений. Если сессия загрузки в состоянии «Прекращено», то ProcessingStatus (Статус обработки) элемента очереди сообщений принимает значение «Обработка остановлена» и его обработка прекращается; •в асинхронным обработчике «Обработка сообщений из сервиса обмена» при отправке задачи на обработку неподдерживаемых документов: если сессия загрузки у элемента очереди сообщений указана, то задача не отправляется; •при отображении текущего состояния сессии загрузки с помощью команд утилиты RxCmd show-downloads и show-sessions для получения количества необработанных и прекращенных элементов очереди сообщений по сессии загрузки. IsManualRestart (Возобновлено вручную): Логическое Признак того, что обработка элемента очереди сообщений возобновлена вручную. Заполняется при создании значением False. Принимает значение True после нажатия на действие «Возобновить обработку» записи справочника MessageQueueItem (Элемент очереди синхронизации сообщений). Используется в асинхронном обработчике «Обработка сообщений из сервиса обмена» для определения нужно обрабатывать элементы очереди сообщений по прекращенной сессии загрузки или нет. Если признак IsManualRestart (Возобновлено вручную) у таких элементов равен True, то элемент очереди сообщений обрабатывается, иначе его обработка прекращается и ProcessingStatus (Статус обработки) переходит в значение «Обработка остановлена». |
NoticeTask (Уведомление): Sungero.Workflow.Task Задача для отправки подтверждения получения документа. |
© Компания Directum, 2024 |