«Современные компании, даже небольшие, практически всегда используют сразу несколько программных продуктов 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С-систем и внешними сервисами.