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