Создание проекта в среде разработки
Создание нового проекта
На этапе создания приложения вам будет предложено выбрать тип СУБД для хранения данных. В связи с этим, предварительно вам следует подключить СУБД к серверу «1С:Шины». Инструкцию по подключению вы можете найти здесь. Для более быстрого запуска тестового примера вы также можете использовать и файловую систему, которая не требует предварительной настройки, однако при создании реальных проектов ее использование крайне не рекомендуется.
На этом этапе вы создадите в среде разработки «1С:Шины» приложение и добавите в него процесс интеграции.
- Создайте новое приложение с СУБД типа Postgres и откройте его в режиме разработки.
- Добавьте новый элемент проекта — процесс интеграции. Назовите его МаршрутизацияСообщений и установите для его свойства СправочникУчастников значение ИнформационныеСистемы.
«1С:Шина» создаст в проекте новый процесс интеграции и откроет редактор для создания его схемы.
Описание схемы процесса интеграции
Схема интеграции в данном примере будет выглядеть следующим образом:

Вы можете создать ее самостоятельно или воспользоваться готовым примером из YAML-файла ниже и перейти к следующему разделу.
Пример YAML-файла процесса интеграции
ВидЭлемента: ПроцессИнтеграции
ОбластьВидимости: ВПодсистеме
Ид: 41c3efc8-c191-43c0-9ae5-0b82c5183636
Имя: МаршрутизацияСообщений
СправочникУчастников: e1c::ОбменСМаршрутизацией::Основной::ИнформационныеСистемы
Схема:
ГруппыУчастников:
-
Ид: 2f678d75-6352-400f-ac1d-5800350ae450
Имя: ИБ
X: 172
Y: 16
Высота: 60
Ширина: 138
-
Ид: d9378f49-7364-4f75-82bf-2824c4ac07cc
Имя: Партнеры
X: 176
Y: 522
Высота: 60
Ширина: 138
Маршруты:
-
Ид: 07a5fa62-f2a5-4f3e-bef2-90cad1bf47e6
В: ВыборСпособаДоставки
Из: ИзБазы
Точки:
-
X: 241
Y: 204
-
X: 241
Y: 204
-
Ид: cf541808-4baf-43c5-a546-06dd4e9a423a
В: Xml2Json
Из: ВыборСпособаДоставки
Точки:
-
X: 241
Y: 301
-
X: 114
Y: 301
-
Ид: 37fdc0b7-e97f-4405-8c3d-6a790f97ff17
В: Xml2Zip
Из: ВыборСпособаДоставки
Точки:
-
X: 241
Y: 301
-
X: 375
Y: 301
-
Ид: 800d51f5-5052-4024-9219-64a7c252e491
В: ВHttp
Из: Xml2Json
Точки:
-
X: 114
Y: 402
-
X: 114
Y: 402
-
Ид: 91d09754-d4b8-470f-9b3d-a8635baf9bb4
В: НаFtp
Из: Xml2Zip
Точки:
-
X: 375
Y: 403
-
X: 375
Y: 403
Связи:
-
Ид: 395cbbc2-8bc6-4aa1-9a7e-2eca990e89b1
Группа: ИБ
НаправлениеСвязи: ИзГруппыВУзел
Узел: ИзБазы
Точки:
-
X: 241
Y: 100
-
X: 241
Y: 100
-
Ид: aeb7e4c2-157c-4abd-84d5-2158c1bc1bf1
Группа: Партнеры
НаправлениеСвязи: ИзУзлаВГруппу
Узел: ВHttp
Точки:
-
X: 114
Y: 501
-
X: 245
Y: 501
-
Ид: ae646b7d-a1b5-497d-81a9-943383889b2a
Группа: Партнеры
НаправлениеСвязи: ИзУзлаВГруппу
Узел: НаFtp
Точки:
-
X: 375
Y: 502
-
X: 245
Y: 502
Узлы:
-
Вид: МаршрутизаторПоСодержимому
Ид: 53faf3cf-1e5f-4eb5-93ed-da651761bcee
Имя: ВыборСпособаДоставки
X: 146
Y: 223
Высота: 62
Ширина: 191
-
Вид: Транслятор
Ид: 10e46750-b7ef-48c1-8fbc-e37a1e51a4a3
Имя: Xml2Json
X: 44
Y: 321
Высота: 58
Ширина: 140
-
Вид: Транслятор
Ид: 40e0a3d1-95c2-4137-ab16-d51a5de24be5
Имя: Xml2Zip
X: 305
Y: 321
Высота: 58
Ширина: 140
-
Вид: Http
Ид: 63cfc787-632d-49c8-b993-4f9f51606c6a
Имя: ВHttp
X: 44
Y: 419
Высота: 63
ИгнорироватьКодОтвета: Ложь
Ширина: 140
-
Вид: FtpНазначение
Ид: bd66958c-f38f-4001-8b0b-f784132ba761
Имя: НаFtp
X: 305
Y: 421
Высота: 64
ЗадержкаПереподключения: 5с
ИспользоватьИмяФайлаБезПути: Ложь
КодировкаИменФайлов: windows-1251
МаксимумПопытокПереподключения: 3
МенятьКаталогПошагово: Истина
ПассивныйРежим: Ложь
Порт: 21
Таймаут: 30с
ТаймаутПодключения: 10с
Ширина: 140
-
Вид: Канал1СИсточник
Ид: 9a210a26-12ca-49c6-9a2b-97967772af1a
Имя: ИзБазы
X: 171
Y: 123
Высота: 62
Ширина: 139
Чтобы сообщения из информационной базы поступали в «1С:Шину», на схему добавлена группа участников ИБ. В эту группу (уже после публикации проекта, в панели управления приложения) будет включена информационная система «1С», из которой будут отправляться сообщения. Группа участников соединена с каналом вида Канал1СИсточник ИзБазы. После публикации проекта, когда в группу участников будет добавлена информационная система, «1С:Шина» создаст для нее индивидуальную очередь, к которой информационная система сможет подключиться и в которую сможет отправлять сообщения.
Затем сообщения будут поступать в узел вида МаршрутизаторПоСодержимому ВыборСпособаДоставки. Данный узел предназначен для того, чтобы определять, в какие узлы из тех, что идут непосредственно за ним, должны попасть сообщения. Для этого у узла есть событие ОбработчикОпределенияПолучателей, в котором вы пропишете специальный метод. Внутри данного метода вы будете находить нужного получателя в справочнике ИнформационныеСистемы и, в зависимости от значения реквизита получателя СпособДоставки, направлять сообщение в один из следующих узлов.
На следующем этапе сообщение попадет в один из узлов вида Транслятор: Xml2Json либо Xml2Zip. Если необходимо выполнить отправку по протоколу HTTP, то в узле Xml2Json тело сообщения будет сконвертировано из XML в JSON. Если необходимо выполнить отправку по протоколу FTP, то в узле Xml2Zip тело сообщения будет архивировано в ZIP.
После того как тело сообщения было приведено к соответствующему формату, оно попадает в узел вида Http ВHttp либо узел вида FtpНазначение НаFtp. В узле ВHttp тело сообщения будет отправлено POST-запросом в HTTP-сервис партнера. В узле НаFtp тело сообщения будет размещено на FTP-сервере в индивидуальном каталоге партнера, из которого он впоследствии сможет забрать файл.
Также на схему добавлена группа участников Партнеры. Она соединена с узлами ВHttp и НаFtp. В эту группу (уже после публикации проекта, в панели управления приложения) будут включены все информационные системы партнеров. Запись о каждом партнере будет содержать индивидуальный код получателя и дополнительные реквизиты (такие как способ доставки, адрес HTTP-сервиса или FTP-сервера).