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