Этапы и процесс внедрения 1С:Шина
Выделим семь этапов внедрения шины данных:
- Проектирование схемы работы сервиса
- Выявление перечня участников процесса интеграции.
- Разработка маршрутов и методов трансформации данных между системами.
- Разработка кода для обработки и отправки сообщений, присвоение значений параметрам
- Многоуровневое опытное тестирование системы.
- Обучение пользователей.
- Ввод в промышленную эксплуатацию.
Сроки и стоимость внедрения варьируются в зависимости от сложности инфраструктуры, состава передаваемых данных и других параметров.
Процесс внедрения 1С:Шины зависит от выбранного компанией ее варианта использования:- Шина как централизованный буфер транспорта данных и объединяющий компонент инфраструктуры, налаживающий информационные обмены. Предусмотрено единое окно управления потоками данных.
- Организация MDM-системы для ввода и редактирования нормативно-справочных данных.По итогам согласования данных происходит их транспортировка в связанные системы для дальнейшего использования в работе. Процессы обмена данными настраиваются раздельно, поэтому ими можно гибко управлять, а ошибка миграции одного объекта не повлечет остановку всего обмена.
- Обеспечение бесперебойной работы и синхронности данных при поэтапном внедрении учетной системы, когда часть пользователей продолжает работать в старой системе, а часть переходит в новую. 1С:Шина обеспечит видимость всех информационных потоков, порядок в данных, бесшовность перехода на новую систему и управляемость автоматизации.
В зависимости от бизнес-процессов предприятия, для внедрения 1С:Шины можно выбрать один из перечисленных вариантов или их комбинацию. Для внедрения и последующего администрирования процессов интеграции можно привлечь консультанта или задействовать штатного программиста. Важно, что архитектура предусматривает легкость масштабирования: включение в контур новой учетной системы не потребует больших трудозатрат.
Способы передачи данных между системами
1С:Шина поддерживает несколько способов передачи данных между системами. Расскажем подробнее о каждом из них:
- Сервисы интеграции. Это механизм платформы 1С:Предприятие, позволяющий быстро и легко интегрировать системы 1С как между собой, так и с внешними решениями. Он не заменяет планы обмена, поскольку осуществляет только транспортировку сообщений, однако механизм планов обмена может быть источником данных для сообщений, отправляемых с помощью сервиса интеграции.
- Стандарт JMS (Java Message Service) позволяет настроить интеграцию со сторонним брокером сообщений Apache ActiveMQ Artemis и компонентом SAP PI. Сторонняя система может подключиться к очередям и отправлять в них или забирать из них сообщения.
- Протокол AMQP версии 1.0 служит для подключения к 1С:Шине внешних систем для отправки или получения сообщений, в том числе с использованием брокера RabbitMQ.
- Собственные и сторонние HTTP-сервисы дают возможность использовать обмен в соответствии с имеющимся REST API. Разработка собственного HTTP-сервиса позволяет 1С:Шине обрабатывать входящие HTTP-запросы, поступающие от внешних систем.
- Файловый обмен. Подключение к файловым хранилищам, сетевым и несетевым каталогам, FTP-ресурсам. При настройке можно указать параметры передачи и обработки.
- Веб-сервисы (SOAP), позволяющие 1С:Шине обрабатывать SOAP-запросы, поступающие от внешних систем. Обращение к SOAP-сервису выполняется при помощи HTTP POST запроса по URL, а само SOAP сообщение передается в теле запроса. 1С:Шина предоставляет возможность вызывать внешний SOAP-сервис и удобно обрабатывать полученные ответы. Для описания сервиса используются WSDL-схемы.
- JDBC (Java DataBase Connectivity) предоставляет прямой обмен с внешними СУБД (например, MS SQL Server, PostgreSQL). Возможно добавление JDBC-драйверов в сервер «1С:Шины».
Благодаря большому охвату способов реализации обмена Шину подходит для компаний с самой разнообразной архитектурой информационных систем. Особенно она востребована в холдингах и других крупных предприятиях с разветвленной сетью филиалов или подразделений.
Сценарии работы 1С:Шина
Рассмотрим для примера два сценария работы 1С:Шина при реализации разных способов обмена данными.
Обмен между системами на базе платформы 1С через Сервисы интеграции
- Создайте новый проект, открыв панель управление сервером, выбрав пункт меню «Приложения» и перейдя по ссылке «+ Новое приложение».
- Поставьте переключатель в позицию «Новый проект», укажите его название, версию и имя приложения. Пропишите путь, проставьте галочку «Режим разработки», выберите тип СУБД и нажмите кнопку «Создать».
- Новое приложение отобразится в списке сначала со статусом «Создается», вскоре он автоматически изменится на «Работает».
- Откройте приложение в среде разработки, нажав кнопку «Редактировать» в списке приложений.
- На вкладке браузера введите пароль администратора, который был указан при установке сервера 1С:Шины, и нажмите «Войти». Откроется редактор среды разработки.
- Выберите подсистему «Основной». По нажатию правой кнопки мыши откроется меню, выберите «New», далее «Project Element». В открывшемся окне выберите вид добавляемого элемента проекта – «Процесс интеграции», укажите название и нажмите «Ввод». Откроется редактор для создания схемы нового процесса интеграции
- Рассмотрим пример с созданием двух элементов вида «ГруппаУчастников»: «ЦентральнаяБаза» и «Магазины», двух элементов вида «Канал1СИсточник» и «Канал1СНазначение». Задайте им имена и соедините, как на схеме.
- Опубликуйте схему интеграции, нажав клавишу F9. В левом углу строки состояния среды разработки появится статус публикации – если это «running», значит приложение обновлено и запущено.
- В среде разработки нажмите правой кнопкой мыши на название приложения и в контекстном меню выберите пункт «Open Application».
- Введите логин и пароль администратора, которые были заданы при установке сервера «1С:Шины». Откроется перечень процессов интеграции, добавленных в приложение. В адресной строке браузера отображается URL, который понадобится при дальнейшей настройке подключения информационных баз к «1С:Шине».
- Для добавления баз в приложении «1С:Шины» перейдите на вкладку «Инфосистемы» и нажмите «+Добавить систему».
- Идентификация получателя в «1С:Шине» осуществляется с использованием буквенно-цифрового префикса, который указывается в свойстве «Код» в процессе регистрации системы на сервере «1С:Шины». Проверить префикс базы можно на вкладке «Синхронизация данных»:
- Чтобы получить ключ, который базы будут использовать при подключении к серверу «1С:Шины», выберите информационную систему и нажмите кнопку «Выдать ключ API».
- Скопируйте и сохраните ID ключа и секрет клиента для дальнейшего подключения
- Перейдите на вкладку «Процессы» и выберите процесс «Основной::ОбменМагазиныТиповой». Откроется схема процесса интеграции и панель для указания свойств ее узлов. В схеме щелкните на узел «Центральная база» и нажмите «Состав группы».
- Откроется перечень входящих в группу систем. У системы «Центральная база» установите флажок и нажмите «Добавить в группу».
- Выполните аналогичные действия для второй тестовой системы, на схеме интеграции щелкнув на узел «Магазины» и добавив систему «Магазин 1» в группу.
- После настройки состава групп запустите процесс интеграции. Далее перейдите к настройке информационных баз.
- В тестовом сценарии рассмотрим переключение существующего двустороннего обмена между демо-базами 1С:ERP и 1С:Розница, который настроен через универсальный формат EnterpriseData. Центральная база – 1С:ERP, база магазина – 1С:Розница.
- Перед выполнением настроек на стороне баз во избежание ошибок отключите регламентные задания существующего обмена.
- Откройте конфигуратор базы 1С:ERP и создайте расширение для выполнения доработок.
- В расширении добавьте сервис интеграции, раскрыв ветку «Общие», выбрав «Сервисы интеграции» и создав новый объект. В тестовом примере его название – «Интеграция ОбменМагазиныТиповой». Загрузите данные о доступных каналах интеграции из опубликованного приложения шины, выбрав пункт «Загрузить каналы» в меню «Действия».
- Введите в открывшейся форме URL (см.п.10), идентификатор ключа и секрет клиента (см.п.14). Нажмите кнопку «Получить каналы сервиса». Список заполнится каналами вида «Канал1СИсточник» и «Канал1СНазначение», созданными на этапе настройки конфигурации шины.
- Установите флажки для каналов, относящихся к узлу «ЦентральнаяБаза». Нажмите кнопку «Загрузить» и перейдите на вкладку «Каналы», выбранные каналы отобразятся в списке.
- В модуль сервиса интеграции автоматически добавляется обработчик получения сообщений из каналов.
- Для реализации обработчиков отправки и получения сообщений создайте в расширении общий серверный модуль «Интеграция_Обработчики».
- Добавьте в общий модуль обработчик «ОбработатьВходящееСообщение» для получения тела сообщения, и вызов процедуры «ВыполнитьЗагрузкуДляУзлаИнформационнойБазыЧерезСтроку» общего модуля «ОбменДаннымиСервер» для конвертации полученного сообщения.
- Добавьте в общий модуль обработчик «СформироватьИсходящееСообщенияДляУзлаОбмена» для формирования вызова процедуры «ВыполнитьВыгрузкуДляУзлаИнформационнойБазыВоВременноеХранилище» общего модуля «ОбменДаннымиСервер». Этот метод cгенерирует исходящее сообщение и отправит его в 1С:Шину.
- В модуле сервиса интеграции «Интеграция_ОбменМагазиныТиповой» укажите обработчик входящего сообщения для запуска фонового задания, вызывающего обработчик соответствующего канала
- При загрузке канала (см.п.22) был создан пустой обработчик «ОбменМагазиныТиповой_ОбработкаПолученияСообщения». Добавьте в него вызов созданной процедуры «ОбработатьВходящееСообщение» из модуля «Интеграция_Обработчики».
- После выполнения настроек в базе 1С:ERP сохраните расширение и подключите в базе 1С:Розница. Затем каналы интеграции из 1С:ERP замените на каналы интеграции для узла «Магазины». Для этого удалите каналы, которые относятся к 1С:ERP, и укажите ID ключа и секрет клиента, полученные на этапе создания системы «Магазины» (см.п.23).
- Для формирования регламентных заданий без доработки конфигурации создайте внешнюю обработку, в модуле которой будет реализован вызов серверных методов.
- После настройки конфигураций 1С:ERP и 1С:Розница задайте настройки подключения этих баз к сервису интеграции в режиме «1С:Предприятие». Запустите базу от имени пользователя с правами администратора, откройте «Функции для технического специалиста», разверните ветку «Стандартные» и откройте «Управление сервисами интеграции».
- Для настройки подключения к серверу «1С:Шины» нажмите «Редактировать» и в группе «Настройки внешнего сервиса интеграции» задайте имя и пароль пользователя – идентификатор и секрет ключа (см.п.23), а также URL опубликованного приложения шины (см.п.10). Нажмите кнопку «ОК».
- Для запуска обмена сообщениями в списке сервисов интеграции установите галочку в строке выбранного сервиса.
- Для выполнения обмена в автоматическом режиме подключите созданную обработку в базах 1С:ERP и 1С:Розница. В 1С:ERP для этого перейдите в раздел «НСИ и Администрирование», выберите «Печатные формы, отчеты и обработки»-->«Дополнительные отчеты и обработки», в открывшемся окне нажмите кнопку «Добавить из файла».
- Выберите нужную обработку, после чего откроется форма, где можно задать расписание для выполнения команд. Проставьте галочку в столбце «Выполнять команду по расписанию». Указав расписание, нажмите кнопку «Записать и закрыть».

Рис.1. Создание проекта

Рис.2. Настройки нового приложения
Рис.3. Запуск редактирования приложения
Рис.4. Редактор среды разработки
Рис.5. Создание процесса интеграции
Рис.6. Пример схемы интеграции

Рис.7. Открытие приложения
Рис.8. Список процессов

Рис.9. Добавление базы
Рис.10. Префикс базы
Рис.11. Выдача ключа API.

Рис.12. Схема процесса интеграции
Рис.13. Схема добавления базы в группу
Рис.14. Добавление системы в группу

Рис.15. Запуск интеграции
Рис.16. Отключение обмена

Рис.17. Создание расширения
Рис.18. Загрузка каналов
Рис.19. Загруженные каналы
Рис.20. Добавленные каналы
Рис.21. Обработчик
Рис.22. Создание серверного модуля
Рис.23. Замена сервисов интеграции
Рис.24. Список доступных сервисов интеграции
Рис.25. Настройка сервиса интеграции
Рис.26. Запуск обмена
Рис.27. Настройка автоматического обмена
Рис.28. Задание расписания
Обмен между базой на платформе 1С и сайтом через HTTP-сервис
Выполните пункты 1-6 из инструкции Обмен между системами на базе платформы 1С через Сервисы интеграции. Далее настройки этих двух сценариев отличаются.
- В окне добавления процесса интеграции задайте имя создаваемого элемента «ОбменССайтом» и нажмите «Ввод». 1С:Шина создаст в проекте новый процесс интеграции и откроет редактор для разработки его схемы.
- Добавьте в схему группу участников, прокрутив палитру узлов, выбрав вариант «ГруппаУчастников» и кликнув в верхней части схемы, чтобы разместить там группу.
- Выделите группу и в представлении «PROPERTIES» задайте ее имя – «Офис».
- Добавьте на схему узел «Канал1СИсточник» и задайте имя «ИзОфиса».
- Добавьте узел «Http» и свяжите его маршрутом с узлом «ИзОфиса». Для этого выберите в панели «Маршрут», а затем кликните последовательно на узел «ИзОфиса» и на узел «Http».
- Переименуйте узел «Http» в «ОбменССайтом».
- В подсистеме «Основной» раскройте созданный процесс интеграции «ОбменССайтом» и добавьте новый элемент – параметр процесса интеграции
- Создайте последовательно 4 параметра: URL, API, Login, Password.
- Выделите узел «ОбменССайтом» и заполните параметр «URL», нажав на кнопку, раскрывающую параметры процесса, и выбрав созданный ранее параметр «URL».
- Добавьте параметр API, повторно нажав на кнопку, раскрывающую параметры процесса, и выбрав созданный параметр API.
- Аналогично заполните параметры «Login» и «Password». В выпадающем списке выберите метод «POST».
- Для публикации проекта на сервере нажмите F9.
- В левом углу строки состояния статус updating изменится на running.
- Откройте опубликованное приложение, нажав на контекстное меню процесса «ОбменССайтом» и выбрав «Open Application».
- Введите логин администратора и пароль, который вы создали при установке сервера. Откроется приложение со списком процессов интеграции.
- В данном сценарии используется сайт на базе WordPress, для взаимодействия с сайтом – имеющийся у плагина WooCommerce собственный REST API.
- В панели управления сайтом перейдите в «Настройки» → «Дополнительно» → «REST API».
- Сгенерируйте и сохраните ключи от сайта.
- Откройте 1С:Шину, нажмите «Инфосистемы» →» + Добавить систему».
- Задайте код системы «office» и наименование «Офис». Нажмите «Добавить».
- Чтобы получить ключ, который система будет использовать при подключении к серверу 1С:Шины, кликните на ее название и в правой части окна нажмите «Выдать ключ API».
- Скопируйте и сохраните идентификатор ключа и секрет клиента.
- Перейдите на вкладку «Процессы» и нажмите на процесс «Основной::ОбменССайтом». Откроется схема процесса интеграции и панель, позволяющую задавать свойства ее узлов.
- В схеме выберите группу «Офис» и нажмите «Состав группы» в правом нижнем углу. Откроется перечень систем, входящих в группу. Установите галочку в строке системы «office» и нажмите «Добавить в группу».
- Закройте окно «Состав группы Офис».
- Заполните параметры у узла «ОбменССайтом» для взаимодействия 1С:Шины с сайтом. Для этого на схеме выберите узел «ОбменССайтом» и в правом нижнем углу нажмите «Параметры». Укажите URL: https://localhost/testsite и API: /wp-json/wc/v3/products. В полях «Login» и «Password» укажите пользовательский ключ и секрет пользователя, полученные при генерации ключа на сайте (см.п.18)
- Для запуска созданного процесса интеграции нажмите «Запустить».
- В среде 1С:Предприятия в базе «Офис» создайте объект конфигурации «Сервис интеграции», взаимодействующий с сервером 1С:Шины. Под управлением этого сервиса интеграции будет работать один канал. По каналу «ИзОфиса» сообщения будут уходить на сайт. В комплект поставки 1С:Шины включены шаблоны конфигураций «Офис» и «Магазин».
- Создайте пустую информационную базу, используя конфигурацию office_template.
- Запустите конфигуратор базы «Офис».
- Добавьте сервис интеграции с названием «ОбменССайтом».
- Откройте приложение «1С:Шины» в браузере и скопируйте адрес приложения.
- Вернитесь в конфигуратор и установите скопированный адрес как значение свойства «Адрес внешнего сервиса интеграции».
- На вкладке «Основные» нажмите «Действия» –> «Загрузить каналы».
- В открывшейся форме укажите идентификатор и секрет клиента, полученные на этапе создания системы «Офис». Нажмите кнопку «Получить каналы сервиса».
- В списке будет отмечен галочкой канал, имеющий отношение к офису. Нажмите «Загрузить».
- Создайте новый план обмена «ОбменСИнтернетМагазином» и включите в состав «Справочник» →»Товары».
- Настройте расписание работы регламентного задания так, чтобы изменения публиковались в удобный промежуток времени
- Напишите код общего модуля «ЗаданиеОтправкаСообщенийНаСайт».
- Для запуска или продолжения работы служебных фоновых заданий, обеспечивающих отправку сообщений, предназначен метод «СервисыИнтеграцииМенеджер.ВыполнитьОбработку()». Для непрерывной работы служебных фоновых заданий этот метод нужно вызывать периодически, например, 1 раз в минуту. Для этого создайте регламентное задание с именем «СервисыИнтеграции».
- Выберите обработчик для регламентного задания «СервисыИнтеграцииСервер» и серверный общий модуль с тем же именем.
- Проверьте, что обработчик регламентного задания содержит код:
- Установите флажки «Использование» и «Предопределенное» для автоматического добавления задания в базе.
- Нажмите «Расписание» → «Открыть» и задайте расписание выполнения задания.
- Обновите конфигурацию базы данных.
- В режиме «1С:Предприятие» запустите базу «Офис» от имени пользователя с административными правами и откройте «Функции для технического специалиста».
- Разверните ветку «Стандартные» и откройте «Управление сервисами интеграции».
- В списке сервисов интеграции вы увидите запись «Обмен с сайтом». Для настройки подключения к серверу «1С:Шины»нажмите «Редактировать». В группе «Настройки внешнего сервиса интеграции» укажите логин и пароль пользователя (см.п.18). Нажмите «ОК».
- Для запуска обмена сообщениями нажмите «Установить активность» у выбранного сервиса.
- Создайте план обмена, который будет отслеживать изменения в справочнике «Товары».
- Создайте обмен с сайтом, введя код и наименование, и нажав «Записать и закрыть».
Рис.29. Окно создания схемы интеграции
Рис. 30. Разработка схемы
Рис.31. Добавление параметра процесса интеграции
Рис.32. Добавление дополнительных параметров
Рис.33. Добавление URL
Рис.34. Добавление API
Рис.35. Заполнение всех параметров
Рис.36. Опубликованное приложение
Рис.37. Список процессов интеграции
Рис.38. Настройка сайта
Рис.39. Генерация ключа
Рис.40. Детали ключа
Рис.41. Добавление системы
Рис.42. Параметры системы
Рис.43. Получение ключа
Рис.44. Добавление в группу
Рис.45. Заполнение параметров узла
Рис.46. Запуск процесса

Рис.47. Сервис обмена с сайтом
Рис.48. URL приложения
Рис.49. Ввод адреса сервиса
Рис.50. Получение каналов сервиса
Рис.51. План обмена с интернет-магазином
Рис.52. Создание регламентного задания
Рис.53. Выбор обработчика
Рис.54. Код обработчика

Рис.55. Запуск базы «Офис»

Рис.56. Управление сервисами интеграции
Рис.57. Настройка подключения

Рис.58. Активность сервиса

Рис.59. План обмена для товаров

Рис.60. Создание обмена с сайтом
Рис.61. Обмен с сайтом
Преимущества использования системы при администрировании обменов
Единый механизм обменов дает следующие преимущества:
- Удешевление управления интеграциями в компании за счет сбора всех интеграций в одном месте.
- Упрощение вовлечения новых сотрудников в проект благодаря единому унифицированному стандарту и подробной, регулярно обновляемой документации.
- Отсутствие необходимости сопровождения кода и прописывания служебных функций: они уже встроены в 1С:Шину. Разработчикам нужно прописать только бизнес-логику обменов и минимум технических моментов, связанных с транспортом, преобразованием и маршрутизацией сообщений.
Встроенное в 1С:Шину логирование процессов обеспечивает быстрое выявление и устранение ошибок. Интерфейс Шины включает визуальную отрисовку процессов интеграции, что упрощает их перенастройку в случае необходимости.