1C:Шина
Справочник по объектной модели встроенного языка технологии "1C:Шина"
Примеры
В примерах документации интеграционной шины используется процесс интеграции СетьМагазинов, ниже представлена его схема.
В процессе СетьМагазинов реализованы следующие сценарии интеграции:
- Интеграция офисов и магазинов для отправки и получения документов (узлы
ВМагазины,ВОфисвида Канал1СИсточник,ВходящиеМагазина,ВходящиеОфисавида Канал1СНазначение). - Интеграция офиса и WEB витрины для периодического (узел
Таймервида Таймер) опроса и экспорта данных по протоколу http (узелОпросВитринывида Http с контролем и протоколированием ошибок (узелЕслиОшибкаHttpвида МаршрутизаторПоСодержимому,ПротоколОшибоквида ФайлНазначение). - Интеграция офиса и WEB витрины для загрузки (узел
ВызовВитринывида Http упакованных в ZIP-архив документов (узелУпаковкаДляВитринывида Транслятор с контролем и протоколированием ошибок (узелЕслиОшибкаHttp2вида МаршрутизаторПоСодержимому,ПротоколОшибоквида ФайлНазначение). - Интеграция офиса и фирм-партнеров для получения (узел
ВходящиеОтПартнероввида Канал1СНазначение) при необходимости (узелПроверкаУпаковкивида МаршрутизаторПоСодержимому) упакованных в ZIP-архив (узелУпаковкаДляОфисавида Транслятор документов от фирм-партнеров двумя способами: по событию (узелОтПартнероввида ПрограммныйИсточник), инициируемому из http-сервиса процесса интеграции, а также путем выполнения периодических (узелТаймерОпросаПартнероввида Таймер) http-запросов (узелОпросПартнероввида Http, связан с группой участниковПартнеры) ко всем системам-участникам группы.
Таким образом, процесс интеграции СетьМагазинов содержит примеры следующих видов узлов:
- Таймер используется для реализации периодически повторяющегося сценария:
- Узел
Таймеркаждые 15 секунд (настраивается в свойствеПериод) формирует сообщение в узелОпросВитринывида Http для экспорта данных витрины путем выполнения http-запроса, а результат отправляется в Канал1СНазначениеОтВитрины. - Узел
ТаймерОпросаПартнеровкаждые 15 секунд (настраивается в свойствеПериод) формирует сообщение в узелОпросПартнероввида Http для выполнения http-запросов получения документов от фирм-партнеров.
- Узел
- Канал1СИсточник используется для отправки сообщений в 1С:Шина из 1С:Предприятие:
- Канал
ВМагазиныслужит для отправки документов из офиса в магазины ч ерез каналВходящиеМагазиноввида Канал1СНазначение. - Канал
ВОфисслужит для отправки документов из магазинов в офис через каналВходящиеОфисавида Канал1СНазначение. - Сообщения из канала
НаВитринуупаковываются в ZIP-архив в узлеУпаковкаДляВитринывида Транслятор и затем отправляются на WEB витрину путем выполнения http-запроса в узлеВызовВитринывида Http.
- Канал
- Канал1СНазначение используется для получения сообщений из 1С:Шина в 1С:Предприятие:
- Канал
ВходящиеМагазинаслужит для получения документов от офиса магазином. - Канал
ВходящиеОфисаслужит для получения документов от магазинов офисом. - Канал
ВходящиеОтПартнеровслужит для получения документов от фирм-партнеров офисом. - Канал
ОтВитриныслужит для получения заказов от WEB витрины офисом.
- Канал
- ФайлНазначение используется для сохранения сообщений 1С:Шина в файл:
- Узел
ПротоколОшибокслужит для сохранения ошибок обращения к WEB витрине в протокольный файл (настраивается в свойствахКаталог,ИмяФайла).
- Узел
- Http используется для выполнения http-запросов к внешним системам:
- Узел
ОпросВитриныслужит для импорта данных из WEB витрины по протоколу http (параметры настраиваются в свойствахUri,Метод). - Узел
ВызовВитриныслужит для загрузки документов на WEB витрину по протоколу http (параметры настраиваются в свойствахUri,Метод). - Узел
ОпросПартнеровслужит для получения документов от фирм-партнеров по протоколу http с базовой аутентификацией (параметры настраиваются в свойствахUri,Метод,ИмяПользователя,Пароль). Так как узел связан с группойПартнеры, при обработке одного сообщения узел отправляет отдельный http-запрос каждой системе-участнику данной группы. При этом параметры каждого запроса индивидуальные и настраиваются с использованием значений реквизитов справочника участников.
- Узел
- Транслятор используется для преобразования сообщений в 1С:Шина:
- В узле
УпаковкаДляВитринывыполняется упаковка документов в ZIP-архив перед отправкой на WEB витрину. Программный код, выполняющий упаковку, реализован в обработчикеПреобразование. - В узле
УпаковкаДляОфисавыполняется упаковка документов от фирм-партнеров в ZIP-архив перед отправкой в офис. Программный код, выполняющий упаковку, реализован в обработчикеПреобразование. - В узле
ФормированиеПротоколавыполняется форматирование информации об ошибке http-запроса для последующего сохранения в протокольный файл.
- В узле
- МаршрутизаторПоСодержимому используется для маршрутизации сообщений 1С:Шина, например, ветвления по условию:
- В узлах
ЕслиОшибкаHttp,ЕслиОшибкаHttp2выполняется проверка, что в результате http-запроса к WEB витрине получена ошибка. В обработчикеВыборПолучателейв зависимости от результата определяется дальнейший путь сообщения: или в канал получателя, или в узел протоколирования ошибки. - В обработчике
ВыборПолучателейузлаПроверкаУпаковкивыполняется проверка, требуется ли упаковать документ в ZIP-архив в узлеУпаковкаДляОфисавида Транслятор.
- В узлах
- ПрограммныйИсточник используется для программной отправки сообщения в 1С:Шина:
- Http-сервис процесса интеграции вызовом метода [ПроцессИнтеграции.ОтправитьСообщениеВУзлы] отправляет сообщение
с документом от фирмы-п артнера в узел
ОтПартнеров.
- Http-сервис процесса интеграции вызовом метода [ПроцессИнтеграции.ОтправитьСообщениеВУзлы] отправляет сообщение
с документом от фирмы-п артнера в узел
Процесс интеграции СетьМагазинов содержит три группы участников интеграции: Офис, Магазины и Партнеры.
Группы соединены с каналами Канал1СИсточник и Канал1СНазначение, а также с узлом Http.
В узле ОпросПартнеров демонстрируется использование реквизитов расширения справочника участника для настройки свойств узла.
Так, в расширении справочника для каждого участника хранятся настройки http-запроса: адрес, порт, метод запроса, имя пользователя и пароль.
Также процесс интеграции демонстрирует использование параметров (их в примере два: ЧастотаОпросаВитрины типа Длительность и строковый ДиректорияЛогов),
и метрик (Архивы).
