Пример 4: Настройка синхронизации данных между информационными базами на платформе «1С:Предприятие»
В данной статье будет показан пример использования «1С:Исполнителя » для синхронизации данных между информационными базами на платформе «1С:Предприятие».
В качестве исходных данных будет использован уже настроенный обмен между демонстрационными базами «1С:ERP Управление предприятием 2 (2.4.14.176)» (скачать) и «1С:Розница редакция 2.3 (2.3.11.29)» (скачать), который необходимо перенести в «1С:Исполнитель». Если вы планируете выполнить данный пример с использованием демонстрационных баз, то предварительно вам нужно будет отдельно настроить данный обмен. По умолчанию, в демонстрационных базах обмен не настроен.
В ходе этого примера вы:
- В среде разработки «1С:Исполнителя»:
- создадите проект и настроите в нем процесс интеграции;
- опубликуете проект на сервере;
- создадите информационные системы, которые будут принимать участие в обмене;
- включите информационные системы в состав процесса интеграции;
- запустите процесс интеграции.
- Создадите демонстрационные базы «1С:Предприятия» и в каждой из этих баз:
- создадите расширение для доработки конфигураций без снятия с поддержки;
- в расширении добавите сервис интеграции и реализуете механизмы формирования исходящих сообщений и обработки входящих;
- добавите регламентные задания для взаимодействия с «1С:Исполнителем» по расписанию с помощью внешней обработки, чтобы не снимать конфигурации с поддержки;
- подключите сервисы интеграции к «1С:Исполнителю»;
- проверите работу обменов через «1С:Исполнитель».
Создание проекта
На этом этапе вы создадите в среде разработки «1С:Исполнителя» проект с описанием схемы интеграции и опубликуете его на сервере «1С:Исполнителя», создав приложение.
-
Откройте панель управления.
-
Нажмите Приложения ⟶ + Новое приложение:
-
Убедитесь, что выбраны варианты Из проекта и Новый проект:
-
Укажите поставщика, представление, имя и версию проекта. «1С:Исполнитель» заполнит остальные поля и включит режим разработки для создаваемого приложения:
-
Выберите тип СУБД (в примере это будет Файловая СУБД) и нажмите Создать:
-
Новое приложение появится в списке со статусом Создается. Через некоторое время статус приложения изменится на Работает:
Добавление элемента проекта
На этом этапе вы откроете приложение в среде разработки и добавите в него элемент проекта — процесс интеграции.
-
Чтобы открыть проект в среде разработки, нажмите Разработать... в конце строки:
-
«1С:Исполнитель» откроет новую вкладку браузера для среды разработки и запросит пароль. Введите пароль администратора, который вы создали при установке сервера, и нажмите Войти:
-
«1С:Исполнитель» подготовит рабочую область, построит проект и откроет его в среде разработки:
-
Добавьте новый элемент проекта — процесс интеграции. Для этого в представлении НАВИГАТОР ПРОЕКТА нажмите правой кнопкой мыши на имя подсистемы Основной, затем в контекстном меню выберите Новый ⟶ Элемент проекта:
-
Выберите вид добавляемого элемента проекта — Процесс Интеграции:
-
Задайте имя создаваемого элемента — ОбменМагазиныТиповой — и нажмите Ввод:
-
«1С:Исполнитель» создаст в проекте новый процесс интеграции и откроет редактор для создания его схемы:
Редактирование схемы процесса интеграции
На этом этапе вы создадите схему процесса интеграции, которая описывает взаимодействие информационных систем.
-
Добавьте в схему группу участников. Для этого прокрутите палитру узлов, выберите ГруппаУчастников и кликните в верхней части схемы, чтобы разместить там группу:
-
Выделите группу и в представлении СВОЙСТВА задайте ее имя — ЦентральнаяБаза:
-
По аналогии добавьте еще одну группу участников и назовите ее Магазины:
-
Добавьте на схему узел Канал1СИсточник и задайте имя — из_ЦБ_в_Магазины:
-
По аналогии добавьте еще один узел Канал1СИсточник и назовите его — из_Магазины_в_ЦБ:
-
Теперь следует добавить два узла Канал1СНазначение. Назовите их в_ЦБ_из_Магазины и в_Магазины_из_ЦБ. Расположите их как показано на схеме:
-
Свяжите группу участников Магазины с узлом из_Магазины_в_ЦБ. Для этого прокрутите палитру узлов, выберите Связь, а затем кликните последовательно на группу участников Магазины и на узел из_Магазины_в_ЦБ:
-
Аналогичным образом создайте связи ЦентральнаяБаза ⟶ из_ЦБ_в_Магазины, в_ЦБ_из_Магазины ⟶ ЦентральнаяБаза, в_Магазины_из_ЦБ ⟶ Магазины:
-
Свяжите узел из_Магазины_в_ЦБ маршрутом с узлом в_ЦБ_из_Магазины. Для этого выберите в панели Маршрут, а затем кликните последовательно на узел из_Магазины_в_ЦБ и на узел в_ЦБ_из_Магазины. Аналогичным образом создайте маршрут из_ЦБ_в_Магазины ⟶ в_Магазины_из_ЦБ:
Сообщения поступают в шину через узлы вида Канал1СИсточник (узлы из_Магазины_в_ЦБ и из_ЦБ_в_Магазины) и доставляются в узлы вида Канал1СНазначение (узлы в_ЦБ из_Магазины и в_Магазины_из_ЦБ).
Информационные системы – участники процесса интеграции (в роли которых выступают информационные базы «1С:Предприятия») объединяются в группы участников (в нашем примере –Магазины и Ц ентральнаяБаза), которые, в свою очередь, связываются с каналами. Отправлять сообщения в каналы вида Канал1СИсточник и получать сообщения из каналов вида Канал1СНазначение будут только те информационные системы, которые включены в группы участников, связанные с соответствующим каналом.
Какие именно информационные системы будут участвовать во взаимодействии, их названия, параметры подключения и в какие группы участников они будут входить – определяется позднее, уже после публикации процесса интеграции на сервере, с помощью веб-интерфейса сервера «1С:Исполнителя».
-
Чтобы опубликовать проект на сервере, нажмите F9.
примечание -
За ходом обновления проекта вы можете наблюдать в левом углу строки состояния среды разработки. Статус updating изменится на статус running. Это говорит о том, что приложение было обновлено и запущено заново:
-
Откройте опубликованное приложение. Для этого нажмите на имя приложения в строке состояния слева. В открывшемся меню выберите Открыть приложение....
примечание -
Сервер запросит имя пользователя и пароль. Для аутентификации используйте учетную запись администратора и пароль, который вы создали при установке сервера:
-
После успешной авторизации вы увидите приложение, а в нем — список процессов интеграции, существующих в приложении. В примере это будет единственный процесс интеграции ОбменМагазиныТиповой:
Настройка приложения в панели управления
В первую очередь, следует добавить информационные системы, с которыми будет взаимодействовать «1С:Исполнитель» в приложение.
-
Для этого откройте приложение, если вдруг оно у вас закрыто.
-
Нажмите Инфосистемы ⟶ Добавить систему:
-
Откроется окно добавления информационной системы:
Идентификация получателя в «1С:Исполнителе» осуществляется с использованием кода информационной системы – это буквенно-цифровой код, который указывается в свойстве Код в процессе регистрации информационной системы на сервере «1С:Исполнителя».
Для удобства в тестовом примере при добавлении информационных систем будут использованы префиксы информационных баз: «1С:ERP» и «1С:Розница»:
-
Центральная база (код «ЦБ») – информационная база «1С:ERP».
-
Магазин 1 (код «М1») – информационная база «1С:Розница».
-
Задайте код системы — ЦБ и наименование — Центральная база. Нажмите Добавить:
-
Аналогичным образом добавьте информационную систему с наименованием Магазин 1 и кодом М1.
-
Теперь для информационной системы нужно получить ключ, который она будет использовать при подключении к серверу «1С:Исполнителя». Чтобы получить ключ, нажмите на информационную систему, а затем нажмите Выдать ключ API:
-
Скопируйте и сохраните Идентификатор ключа и Секрет клиента. Позднее вы будете использовать его при подключении информационной базы к серверу «1С:Исполнителя»:
Получите и сохраните ключи API для обеих информационных систем.
Следующим шагом следует включить информационные системы в состав приложения.
-
Для этого перейдите на вкладку Процессы и нажмите на процесс Основной::ОбменМагазиныТиповой:
-
Вы увидите схему процесса интеграции и панель, позволяющую задавать свойства узлов этой схемы. На схеме выберите группу Магазины, и нажмите Состав группы в правом нижнем углу:
-
Вы увидите список информационных систем, входящих в группу Магазины. Сейчас в группе нет ни одной информационной системы. Установите флажок у информационной системы Магазины 1 и нажмите Добавить в группу:
Добавленная информационная система отобразится во вкладке Действующие:
-
Закройте окно Состав группы Магазины.
-
Аналогичным образом добавьте информационную систему Центральная база в группу ЦентральнаяБаза: на схеме выберите группу ЦентральнаяБаза, нажмите Состав группы, установите флажок у информационной системы Центральная база и нажмите Добавить в группу. Закройте окно.
-
Теперь можно запустить созданный процесс интеграции. Для этого нажмите Запустить в правом верхнем углу:
Следующим шагом мы создадим и настроим информационную базу 1С:Предприятие.
Предварительная настройка информационных баз «1С:Предприятия»
В тестовом примере рассматривается переключение существующего двустороннего обмена между демонстрационными базами «1С:ERP» и «1С:Розница», который настроен через универсальный формат EnterpriseData. Роль центральной базы выполняет «1С:ERP», роль базы магазина выполняется «1С:Розница».
Перед выполнением настроек на стороне информационных баз необходимо отключить регламентные задания существующего обмена, чтобы в ходе запуска обмена через «1С:Исполнитель» не возникло коллизий, когда сформированное сообщение для обмена будет отправлено и через «1С:Исполнитель», и через настроенны й транспорт существующего обмена.
-
Запустите информационную базу 1C:Розница. В качестве логина укажите Администратор узла, поле с паролем оставьте пустым. Нажмите Войти:
-
Перейдите в раздел Администрирование ⟶ Обслуживание:
-
В разделе Регламентные операции выберите Регламентные и фоновые задания:
-
Правой кнопкой мыши кликните на регламентное задание Выполнение обмена по сценарию: Сценарий синхронизации для "Детские товары" и нажмите Выключить:
-
Затем, откройте форму списка настроенных обменов. Перейдите во вкладку Администрирование ⟶ Синхронизация данных:
-
В поле Префикс информационной базы укажите М1:
-
Запустите информационную базу «1С:ERP». В качестве логина укажите Администратор (Орлов АВ), поле с паролем оставьте пустым. Нажмите Войти:
-
Перейдите во вкладку НСИ и Администрирование ⟶ Синхронизация данных:
-
В поле Префикс информационной базы укажите ЦБ:
Теперь можно приступить к редактированию конфигурации информационных баз.