Пример 2. Настройка обмена сообщениями между базой на платформе «1С:Предприятие» и брокером сообщений RabbitMQ
В данном примере используется демонстрационная конфигурация информационной базы «Офис». Ее можно скачать по ссылке.
«1С:Шина» поддерживает обмен данными со сторонними брокерами сообщений:
- Протокол AMQP позволяет обмениваться с RabbitMQ.
- Стандарт JMS позволяет обмениваться с Apache ActiveMQ Artemis.
Далее рассматривается пример настройки обмена данными между базой на платформе «1С:Предприятие» и брокером сообщений RabbitMQ.
В примере выполняется отправка сообщения из RabbitMQ в «1С:Шину», которое поступает в базу, работающую на платформе «1С:Предприятие».
В ходе этого примера вы:
- В панели управления брокером сообщений RabbitMQ:
- создадите очередь сообщений.
 
- В среде разработки «1С:Шины»:
- создадите проект и настроите в нем процесс интеграции;
- опубликуете проект на сервере и создадите приложение;
- проверите работоспособность приложения.
 
- На сервере «1С:Шины»:
- заполните парамет ры для подключения к RabbitMQ;
- создадите информационную систему;
- включите ее в состав процесса интеграции;
- запустите процесс интеграции.
 
- Создадите демонстрационную базу «1С:Предприятия»:
- добавите сервис интеграции;
- загрузите в него информацию о доступных каналах;
- напишете код обработки полученного сообщения;
- настроите подключение к серверу «1С:Шины» в режиме «1С:Предприятие».
 
- Проверите обмен сообщениями.
Создание очереди сообщений в RabbitMQ
На этом этапе в брокере сообщений необходимо создать очередь сообщений, через которую мы будем отправлять сообщение.
- 
Откройте панель управления RabbitMQ:  
- 
Перейдите на вкладку Queues and Streams. Нажмите на ссылку Add a new queue. Заполните поле Name, введя название очереди TestChannel1C, и нажмите Add queue:  
Создание проекта
На этом этапе вы создадите в среде разработки «1С:Шины» проект с описанием схемы интеграции и опубликуете его на сервере «1С:Шины», создав приложение.
- Создайте новое приложение с файловой СУБД и откройте его в режиме разработки.
- Добавьте новый элемент проекта — процесс интеграции. Назовите его ОбменСКроликом и установите для его свойства СправочникУчастников значение ИнформационныеСистемы.
«1С:Шина» создаст в проекте новый процесс интеграции и откроет редактор для создания его схемы.
Ред актирование схемы процесса интеграции
На этом этапе вы создадите схему процесса интеграции, которая описывает взаимодействие информационных систем. Вы можете выполнить все действия самостоятельно или воспользоваться готовым примером из YAML-файла ниже и перейти к публикации приложения.
Пример YAML-файла процесса интеграции
ВидЭлемента: ПроцессИнтеграции
ОбластьВ идимости: ВПодсистеме
Ид: fa5f490e-68ee-41cf-819c-d519586aea0b
Имя: ОбменСКроликом
СправочникУчастников: e1c::Проект2::Основной::ИнформационныеСистемы
Схема:
    ГруппыУчастников:
        -
            Ид: ad5fca45-050f-4989-bfd8-6b8093c12bac
            Имя: Офис
            X: 74
            Y: 380
            Высота: 60
            Ширина: 138
    Маршруты:
        -
            Ид: d829cff8-1148-4a37-8cb1-346595018dc3
            В: ВОфис
            Из: RabbitMqИсточник
            Точки:
                -
                    X: 143
                    Y: 245
                -
                    X: 150
                    Y: 245
                -
                    X: 150
                    Y: 242
                -
                    X: 143
                    Y: 242
    Параметры:
        -
            Имя: ChannelName
            Тип: Строка
        -
            Имя: Host
            Тип: Строка
        -
            Имя: Login
            Тип: Строка
        -
            Имя: Password
            Тип: Строка
    Связи:
        -
            Ид: cd8e1699-2cb3-449a-a885-3f261bd2cba7
            Группа: Офис
            НаправлениеСвязи: ИзУзлаВГруппу
            Узел: ВОфис
            Точки:
                -
                    X: 143
                    Y: 357
                -
                    X: 143
                    Y: 357
    Узлы:
        -
            Вид: RabbitMqИсточник
            Ид: 0816abbd-e034-49b9-b45b-ffd55355fb21
            Имя: RabbitMqИсточник
            X: 60
            Y: 150
            Высота: 63
            ИмяКанала: ="%{Параметры.ChannelName}"
            ИмяПользователя: ="%{Параметры.Login}"
            Пароль: ="%{Параметры.Password}"
            Хост: ="%{Параметры.Host}"
            Ширина: 166
        -
            Вид: Канал1СНазначение
            Ид: d83e26b1-f952-481e-a084-4a265b5a016c
            Имя: ВОфис
            X: 73
            Y: 273
            Высота: 62
            Ширина: 140
- 
Добавьте на схему источник RabbitMQ. Для этого прокрутите палитру узлов, выберите RabbitMQИсточник и кликните в верхней части схемы, чтобы разместить его там:  
- 
Добавьте на схему узел Канал1СНазначение, щелкните по нему два раза и задайте имя — ВОфис:  
- 
Добавьте на схему узел ГруппаУчастников и задайте имя — Офис:  
- 
Свяжите узел RabbitMQИсточник маршрутом с узлом ВОфис. Для этого выберите в панели Маршрут, а затем кликните последовательно на узел RabbitMQИсточник и на узел ВОфис:  
- 
Свяжите узел ВОфис с группой участников Офис. Для этого прокрутите палитру узлов, выберите Связь, а затем кликните последовательно на узел ВОфис и на группу участников Офис:  
- 
Теперь следует создать параметры процесса интеграции. В подсистеме Основной выберите процесс интеграции ОбменСКроликом, нажмите на значок плюса и выберите параметр. Назовите его ChannelName. Этот параметр будет отвечать за название очереди сообщений в RabbitMQ.  
- 
По аналогии создайте еще три параметра интеграционных процессов: - Host – адрес сервера, где располагается RabbitMQ;
- Login – логин для RabbitMQ;
- Password – пароль для RabbitMQ.
  
- 
Заполните параметры источника RabbitMqИсточник.. Для этого кликните на узел RabbitMqИсточник и откройте панель Свойства. В поле Имя канала выберите параметр ChannelName, в поле Хост – Host, в поле Имя пользователя – Login, в поле Пароль – Password:  
Публикация и открытие приложения
Чтобы опубликовать и открыть приложение, выполните следующие действия:
- 
Нажмите Ctrl+F5. Сервер запросит имя пользователя и пароль. Для аутентификации используйте учетную запись администратора и пароль, который вы создали при установке сервера. 
- 
После успешной авторизации вы увидите приложение, а в нем — список существующих процессов интеграции. В примере это будет единственный процесс интеграции ОбменСКроликом:  
Настройка приложения в панели управления
- Откройте приложение.
- Создайте инфосистему с кодом office и наименованием Офис.
- Получите для нее ключ и секрет клиента. Скопируйте их, чтобы позднее использовать при подключении информационной базы к серверу «1С:Шины».
- Перейдите на вкладку Процессы и нажмите на процесс Основной::ОбменСКроликом. Вы увидите схему процесса интеграции и панель свойств схемы. На схеме выберите группу Офис. Добавьте в нее информационную систему office.
Далее необходимо заполнить параметры узла RabbitMqИсточник, с помощью которых «1С:Шина» взаимодействует с брокером RabbitMQ.
- 
На схеме выберите узел RabbitMqИсточник и в правом нижнем углу нажмите Параметры:  
- 
Заполните параметры следующим образом: - ChannelName – название канала (в примере: TestChannel1C);
- Host – адрес сервера, где располагается RabbitMQ (например: localhost);
- Login – логин для RabbitMQ;
- Password – пароль для RabbitMQ.
 Нажмите Применить. Когда параметры будут применены, нажмите Запустить в правом верхнем углу:  
Следующим шагом мы создадим и настроим информационную базу 1С:Предприятия.