Серверное событие DCIOnReferenceRecordSynchronization отправляет сообщение, используя обработчик DCIReferenceRecordSynchronizationHandler.
Порядок отправки сообщения:
1. | Ищется незавершенный межсистемный процесс для синхронизируемой записи справочника. Ее глобальный ИД передается в параметр RecordGlobalId серверного события. Если процесс найден, то сообщение отправляется в рамках найденного процесса. Если не найден, то создается новый процесс. |
2. | На время отправки сообщения процесс блокируется. |
3. | Для системы-получателя ищется глобальный ИД предыдущего отправленного сообщения в рамках текущего межсистемного процесса. |
Примечание
В режиме отладки поиск не производится.
4. | Отправляется сообщение системе-получателю с помощью функции DCIInternalSendProcessMessage: |
• | создается объект сообщения IProcessMessage и заполняются необходимые свойства; |
• | если есть ведущее сообщение, то проверяется, отправлено ли оно. Если не отправлено, то отправка текущего сообщения откладывается. В этом случае генерируется исключение; |
• | сообщение отправляется в адаптер к DIRECTUM: |
• | выполняется обработчик отправки сообщения; |
• | сообщение сохраняется, его состояние меняется на Отправлено. |
Примечание
В режиме отладки обработчик отправки сообщения не выполняется, а статус сообщения меняется на Отладка.
5. | Разблокируется процесс для дальнейшей отправки или приема сообщений. |