Link Search Menu Expand Document

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-сервис процесса интеграции вызовом метода [ПроцессИнтеграции.ОтправитьСообщениеВУзлы] отправляет сообщение с документом от фирмы-партнера в узел ОтПартнеров.

Процесс интеграции СетьМагазинов содержит три группы участников интеграции: Офис, Магазины и Партнеры. Группы соединены с каналами Канал1СИсточник и Канал1СНазначение, а также с узлом Http. В узле ОпросПартнеров демонстрируется использование реквизитов расширения справочника участника для настройки свойств узла. Так, в расширении справочника для каждого участника хранятся настройки http-запроса: адрес, порт, метод запроса, имя пользователя и пароль.

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