Обмен между конфигурациями
Для обмена между конфигурациями необходимо настроить данные подключения:
меню “Дополнительный функционал” → Настройки подключения
Для каждой конфигурации с которой необходимо настроить обмен добавляем настройку и указываем все требуемые настройки:
конфигурация - выбираем из списка, на текущий момент реализованы обмены между конфигурациями:
УУСО - БУХ: данные БДР, заявки на оплату, складской учет
БУХ - УУСО: контрагенты, договоры, складской учет
БУХ - ЗУП - БУХ: данные начисления заработной платы, объекты кап. вложений (в т.ч. ОС)
адрес сервера - адрес публикации ИБ конфигурации
имя пользователя - имя пользователя для подключения
пароль пользователя - пароль пользователя для подключения (пароль хранится в зашифрованном виде)
при необходимости регулярного обмена данными необходимо создать регламентное задание
регулярный обмен реализован для обмена данными Контрагентов и договоров из БУХ в УУСО
Технические детали обмена
Идентификаторы обмена
В процессе обмена, программа хранит сопоставление ссылок текущей конфигурации и конфигурации источника. Данные хранятся в регистре “Идентификаторы интернет сервисов (УВК)” (УВК_ИдентификаторыИнтернетСервисов). Для регулярного обмена, необходимо чтобы в конфигурации источнике хранились “зеркальные” записи идентификаторов. Для их обновления есть команда в форме списка регистра (скрыта в подменю “Еще”).
Разработка обмена
Обмен может быть реализован несколькими способами:
универсальный обмен с использованием механизмов EnterpriseData (не рассматривается)
обмен без предоставления просмотра данных из конфигурации источника (например: обмен данными БДР)
обмен с предоставлением просмотра данных из конфигурации источника (например: контрагенты, договоры и пр.)
Обмен данными без предоставления просмотра из конфигурации источника, не отличается от просмотра, только не имеет интерфейсов для просмотра, но использует аналогичные механизмы.
Обмены реализованы с использованием механизмов HTTP-сервисов.
Обмен с предоставлением просмотра данных из конфигурации источника
Для организации данного обмена необходимо реализовать следующие изменения:
добавить в обработку “УВК_ИнтернетСервисы” форму списка и форму просмотра (см. пример КонтрагентыФормаСписка, КонтрагентыФормаЭлемента)
добавить требуемые HTTP-сервисы (см. пример ДанныеКонтрагентов)
добавить команду для просмотра формы списка из объекта текущей конфигурации (см. команду “КонтрагентыИсточник” из обработки)
При разработке следует придерживаться логики:
все методы обработки и подготовки данных для HTTP-сервисов должны располагаться в общем модуле “ИнтернетСервисыУВКПереопределяемый”, но в нем они должны по текущей конфигурации определять целевой модуль для вызова обработчиков, и логика должна быть реализована именно в соответствующем обработчике модуля. При это все методы, даже если они не планируются к использованию, должны быть объявлены. Для образца можно использовать общий модуль “ИнтернетСервисыУВКШаблон”
все методы должны быть универсальны, а общие механизмы без ошибок быть скопированы в другую конфигурацию. А переопределение поведения выполняется в вышеуказанных методах общего модуля
Регистрация изменений и регулярное обновление
Для регистрации изменений в объектах конфигурации необходимо выполнить следующие изменения:
в плане обмена “УВК_ОбменМеждуКонфигурациями” добавить объекты, которые планируется регистрировать, установив признак “Запретить” для автоматической регистрации;
в модуле менеджера при необходимости требуется дополнить метод определения узла для регистрации изменений и установить признак “Регистрировать”;
регистрация объектов выполняется через подписку “УВК_РегистрацияИзмененийОбъектовОбмена” на событие “ПриЗаписи” соответствующих добавленных объектов;
поскольку регламентные события в расширении недоступно, система использует регламентное событие “СинхронизацияДанных” из подсистемы обмена данными, не требуется создать собственный экземпляр обмена с требуемой конфигурации. Это может быть выполнено в настройках подключения или программным путем (см. реализацию создания в форме записи регистра настроек подключения);