«Современные компании, даже небольшие, практически всегда используют сразу несколько программных продуктов 1С – от «1С:Бухгалтерии» до сложных систем ERP, «Управление холдингом», каких-то специализированных отраслевых решений и облачных сервисов, а также программных продуктов и сервисов других вендоров, – рассказывает мой коллега Доржо, аналитик 1С в Programming Store.

Чтобы обеспечить обмен данными между всеми этими системами, требуется надежный, гибкий и легко сопровождаемый инструмент интеграции. Именно эту задачу решает «1С:Шина», а разработанное у нас расширение конфигурации «ПростоКоннектор» максимально упрощает процесс подключения пользовательских баз 1С к «Шине».

Комбинация «1С:Шины» и расширения «ПростоКоннектор» позволяет легко настроить обмен данными между любыми конфигурациями 1С, как типовыми, так и самописными, без необходимости разработки сложных интеграционных модулей и без глубокой доработки типовых конфигураций».

Что представляет собой «1С:Шина»

Если кратко, «1С:Шина» — это облачное платформенное решение, выполняющее роль централизованного интеграционного слоя, относящееся к классу «Сервисная шина предприятия (ESB)» от компании 1С. Оно позволяет:

  • объединять множество различных систем в единую управляемую инфраструктуру обмена сообщениями;

  • выполнять маршрутизацию, обработку и преобразование сообщений;

  • осуществлять гарантированную доставку сообщений;

  • настраивать процессы интеграции визуально, как без программирования (no-code), так и с небольшим кодированием (low-code);

  • контролировать маршрутизацию сообщений и их обработку.

Роль расширения «ПростоКоннектор»

Однако, при всех достоинствах «1С:Шины», есть некоторые ограничения, которые усложняют процесс подключения 1С-систем к «Шине». В частности, требуются доработки конфигураций источника и приемника – добавление сервисов интеграции и каналов, написание процедур обработки и т.д.

Для упрощения подключения информационных баз 1С к «1С:Шине» без внесения доработок в конфигурацию источника и приемника используется расширение «ПростоКоннектор». Оно дает возможности:

  • автоматически загружать каналы обмена из «1С:Шины» в базу «1С»;

  • добавляет встроенные обработчики входящих сообщений;

  • позволяет настраивать правила выгрузки и загрузки данных;

  • обеспечивает работу регламентных заданий по отправке и приёму сообщений.

Благодаря этому подключение новой базы превращается в простую процедуру. Достаточно:

  • Установить расширение «ПростоКоннектор» в базы-источники и приемники.

  • Указать адрес сервиса и API-ключи в настройках сервиса интеграции расширения.

  • Загрузить каналы обмена в сервис интеграции расширения.

  • Активировать сервис интеграции расширения путем внесения одной строки кода.

Общий механизм выгрузки сообщений в «Шину»:

  • В конфигурации-источнике создаётся или изменяется объект (справочник, документ и т.д.).

  • Коннектор находит все активные правила, настроенные на этот тип объекта.

  • По выбранному правилу формирует сообщение и сразу отправляет его в «1С:Шину».

Общий механизм загрузки сообщений из «Шины»:

  • В «1С:Шину» приходит сообщение от другого участника.

  • «Коннектор» по идентификатору правила, указанному в сообщении, находит нужную настройку загрузки.

  • Автоматически создаёт или обновляет объекты в вашей базе.

Настроить правила выгрузки данных в «Шину» можно одним из четырёх способов:

·         на встроенном языке 1С пишете небольшой скрипт, который формирует JSON-сообщение для «Шины». Максимальная гибкость;

·         конвертация данных 2 (КД2). Используете привычные правила конвертации и старый проверенный формат Enterprise Data. Никаких новых знаний не требуется;

·         EnterpriseData (режим «из коробки»). Самый быстрый вариант. Если ваша конфигурация использует современную БСП (от 3.1.21+), достаточно просто указать объекты – правила загрузки на стороне получателя создавать не нужно;

·         система компоновки данных (СКД). Просто строите отчёт-компоновщик, а «Коннектор» автоматически превращает его результат в сообщение для «Шины».

Настройка интеграции с помощью «Коннектора».

1. Создание приложения на «1С:Шина».

В данной статье не будем подробно рассматривать процесс создания приложения в «1С:Шине». Предполагается, что у нас уже имеется созданное приложение и настроенный бизнес-процесс интеграции. Рассмотрим только краткие основные шаги действий в «Шине»:

1.      Создать новое приложение в панели управления «Шины».

2.      В новом приложении создаётся и публикуется процесс интеграции – схема движения данных между двумя базами 1С.

3.      Далее в созданном приложении нужно создать необходимые информационные системы (ИС) – участники обмена.

4.      Для каждой созданной ИС необходимо сгенерировать API-ключи – Идентификатор ключа и Секрет клиента. Именно они нам потребуются в дальнейшем для настройки коннектора.

5.      Добавить созданные ИС в соответствующие группы участников обмена бизнес-процесса.

6.      Запустить процесс.

2. Подключение 1С-базы через «ПростоКоннектор»

Далее рассмотрим шаги для настройки интеграции с экземпляром приложения «1С:Шины» в каждой из баз 1С – участников обмена:

  • В режиме «1С: Предприятие» устанавливается расширение «ПростоКоннектор»:

  • На следующем шаге откройте программу 1С в режиме конфигуратора, затем откройте расширение «ПростоКоннектор» и в составе расширения найдите сервис интеграции «Коннектор_1СШина», в котором необходимо нажать «Загрузить каналы»:

  • В открывшемся окне загрузки каналов внешнего сервиса интеграции заполните поля: «Адрес сервиса» – адрес приложения на 1С:Шине, «Пользователь» – Идентификатор ключа, «Пароль» – Секрет ключа, которые Вы получили (сгенерировали) ранее на «1С:Шине». Затем нажмите на кнопку «Получить каналы сервиса», выберете нужные для конкретной базы, далее нажмите на кнопку «Загрузить»:

  • В открывшемся модуле сервиса, следуя инструкции в комментариях, скопируйте строку: Коннектор_БиблиотекаФункций.ОбработкаВходящегоСообщения(Сообщение); в сгенерированные обработчики получения сообщения. Вставьте строку в сгенерированные обработчики получения сообщения, как показано на рисунке ниже, затем примените изменения и перейдите в режим предприятия:

  • В режиме «Предприятия» перейдите в раздел «Настройки интеграции» – «Сервис» – «Настройка сервисов интеграции». Администратор активирует сервис интеграции в пользовательском режиме:

6.      В открывшемся окне заполните данные для подключения к «1С:Шине», которые вы использовали ранее для загрузки каналов сервиса (п. 3 текущей инструкции по настройке базы «1С»).

Далее укажите канал, в который в соответствии с настройками процесса, требуется отправлять сообщения и установите флаг «Активность сервиса = Истина»:

7.      Перейдите в справочник «Правила выгрузки» и создайте новое правило для выгрузки справочника:

8.      В открывшейся форме карточки создаваемого правила выгрузки установите флаг «Активность правила = Истина» и укажите следующие данные: «Код правил», «Вариант проверки условия выгрузки», «Вариант выгрузки», «Источник».

При необходимости установите дополнительные отборы, как показано на рисунке ниже. В приведенном примере в «1С:Шину» будет выгружаться элемент справочника «Физические лица» при записи, если ПометкаУдаления = Ложь.

Сама выгрузка будет происходить по самому простому сценарию – по формату EnterpriseData, поэтому нам не придется даже настраивать правила загрузки номенклатуры в системе-приемнике.

Произведите аналогичные настройки в базе – приемнике для подключения коннектора «1С:Шина» и создайте правило для загрузки справочника «Физические лица».

9.      На последнем шаге включите и настройте регламентные задания:

·         «Коннектор - задание по обмену с шиной»

Шаги этого этапа обеспечивают техническую связку между 1С-конфигурацией и «Шиной».

Преимущества использования «Коннектора»

На основе рассмотренного примера можно выделить ключевые сильные стороны совместного использования «1С:Шины» и расширения «ПростоКоннектор»:

1. Минимум доработки конфигураций для интеграции с «1С:Шиной».

Механизм расширений конфигурации, на котором был реализован «Коннектор», позволяет гораздо быстрее и проще реализовать подключение базы «1С» к приложению «1С:Шины». Достаточно установить расширение и указать ключи API.

2. Гибкий контроль данных.

Правила выгрузки и загрузки, которые можно создать в «Коннекторе», позволяют прописывать любую логику передачи данных между системами.

3. Масштабируемость.

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

Выводы

Комбинация «1С:Шины» и расширения «ПростоКоннектор» решает задачу интеграции различных 1С-систем (от «1С:Бухгалтерии» до ERP и самописных конфигураций) без сложных доработок и разработки интеграционных модулей. «1С:Шина» обеспечивает централизованный обмен сообщениями с гарантированной доставкой, маршрутизацией и визуальной настройкой, а «ПростоКоннектор» упрощает подключение баз путём автоматической загрузки каналов, встроенных обработчиков, настройки правил выгрузки/загрузки и регламентных заданий.

В результате компании получают надёжный, легко сопровождаемый инструмент для обмена данными между множеством 1С-систем и внешними сервисами.