Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

Для синхронизации справочников используется вид межсистемного процесса с типом Синхронизация данных.

Если при создании записи справочника Виды межсистемных процессов заполнить поле Тип справочника, то в табличную часть записи добавляются сообщения SynchronizeRecordChanges и SynchronizeRecordDeletion с предзаполненными обработчиками на отправку и прием.

Вычисления обработчиков на удаление изменять не нужно. В вычисления обработчиков на изменение необходимо добавить сохранение синхронизируемых реквизитов в список.

В коде обработчиков можно получить две переменные:

Process – для работы с экземпляром межсистемного процесса. Для получения используется функция DCIGetProcess;
ProcessMessage – для работы с экземпляром сообщения межсистемного процесса. Для получения используется функция DCIGetParams.

Описание интерфейсов, их свойств и методов см. в разделе «Объектная модель SDK».

Записи связанных систем сопоставляются по глобальному ИД. У вида межсистемного процесса есть предопределенный параметр RecordGUID, который хранит глобальный ИД изменяемой записи справочника. При необходимости можно сопоставить записи с помощью ключевых реквизитов.

Синхронизируемые данные записи справочника рекомендуется заносить в список в виде пар «Имя-Значение». Список создается функцией DCIGetObjectDictionary.

Когда список элементов сформирован, данные выгружаются и добавляются к сообщению с помощью функции DCIAttachDataToProcessMessage. В системе-приемнике парная функция DCIGetDataFromProcessMessage считывает данные из файла сообщения и преобразует их список.

Для совместимости необходимо использовать функции, указанные выше. Это поможет избежать доработки обработчиков при переходе на новую версию системы.

Для анализа ошибок рекомендуется записывать отладочную информацию в лог-файл обработчиков.

© Компания DIRECTUM, 2018 Сообщество пользователей DIRECTUM
.navbar > a:hover { background: #FFD73B; }