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-запроса: адрес, порт, метод запроса, имя пользователя и пароль.
Также процесс интеграции демонстрирует использование параметров (их в примере два: ЧастотаОпросаВитрины
типа Длительность и строковый ДиректорияЛогов
), и метрик (Архивы
).