ПроцессИнтеграции
Стд::ИнтеграционнаяШина::ПроцессИнтеграции Доступность: Сервер
Базовый тип процесса интеграции.
Сравнение
Ссылочное
Иерархия типа
Базовые типы: Объект
Дочерние типы: ИмяПроцессаИнтеграции
Примеры
Общие примеры
Пример обработчика http-сервиса, возвращающего описание статуса всех процессов интеграции проекта в виде json.
метод СтатусПроцессов(Запрос: HttpСервисЗапрос)
знч Json = новый ЗаписьJson(Запрос.Ответ.ОткрытьПотокЗаписиТела())
Json.ЗаписатьНачалоОбъекта()
Json.ЗаписатьИмяСвойства("Процессы")
Json.ЗаписатьНачалоМассива()
для Процесс из ПроцессыИнтеграции
Json.ЗаписатьНачалоОбъекта()
Json.Записать("Имя", Процесс.Имя)
Json.Записать("КоличествоВходящихСообщений", Процесс.КоличествоВходящихСообщений)
Json.Записать("КоличествоОшибок", Процесс.КоличествоОшибок)
Json.Записать("КоличествоИсходящихСообщений", Процесс.КоличествоИсходящихСообщений)
Json.Записать("ВремяРаботы", Процесс.ВремяРаботы.ВСтроку())
Json.Записать("РегистрироватьДоставкуВЖурналеСобытий", Процесс.РегистрироватьДоставкуВЖурналеСобытий)
Json.Записать("Состояние", Процесс.Состояние.ВСтроку())
Json.ЗаписатьИмяСвойства("Каналы")
Json.ЗаписатьНачалоМассива()
для КлючЗначение из Процесс.СостоянияКаналов
знч Узел = КлючЗначение.Ключ
знч КаналыУчастников = КлючЗначение.Значение
Json.ЗаписатьНачалоОбъекта()
Json.Записать("Имя", Узел.Имя)
Json.ЗаписатьИмяСвойства("КаналыУчастников")
Json.ЗаписатьНачалоМассива()
для СостояниеКанала из КаналыУчастников.Значения()
пер КодУчастника: Строка? = Неопределено
если СостояниеКанала это СостояниеКанала1С
КодУчастника = (СостояниеКанала как СостояниеКанала1С).КодУчастника
иначе
КодУчастника = (СостояниеКанала как СостояниеОчередиИнтеграционнойШины).КодУчастника
;
Json.ЗаписатьНачалоОбъекта()
Json.Записать("Участник", КодУчастника)
Json.Записать("КоличествоСообщенийВКанале", СостояниеКанала.КоличествоСообщенийВКанале)
Json.Записать("КоличествоДоставленныхСообщений", СостояниеКанала.КоличествоДоставленныхСообщений)
Json.ЗаписатьКонецОбъекта()
;
Json.ЗаписатьКонецМассива()
Json.ЗаписатьКонецОбъекта()
;
Json.ЗаписатьКонецМассива()
Json.ЗаписатьКонецОбъекта()
;
Json.ЗаписатьКонецМассива()
Json.ЗаписатьКонецОбъекта()
;
Свойства
ВремяРаботы
Доступность: Сервер
ТолькоЧтение
ВремяРаботы: ДлительностьВремя работы процесса.
ДоставленныеСообщения
Доступность: Сервер
ТолькоЧтение
ДоставленныеСообщения: ДоставленныеСообщенияИнтеграцииДоставленные сообщения процесса интеграции.
ИзображениеСхемы
Доступность: Сервер
ТолькоЧтение
ИзображениеСхемы: ДвоичныйОбъект.СсылкаСсылка на двоичные данные SVG изображения схемы процесса интеграции.
Имя
Доступность: Сервер
ТолькоЧтение
Имя: СтрокаИмя процесса интеграции.
ИмяПроцессаДляВнешнегоСервисаИнтеграции
Доступность: Сервер
ИмяПроцессаДляВнешнегоСервисаИнтеграции: СтрокаИмя процесса для внешнего сервиса интеграции. По умолчанию значение соответствует полно му имени процесса. Используется для HTTP-сервиса описания каналов процесса интеграции в качестве псевдонима имени процесса. Значение возвращается в ответе сервиса в свойстве process.
КоличествоВходящихСообщений
Доступность: Сервер
ТолькоЧтение
КоличествоВходящихСообщений: ЧислоКоличество входящих сообщений, полученных процессом интеграции.
КоличествоИсходящихСообщений
Доступность: Сервер
ТолькоЧтение
КоличествоИсходящихСообщений: ЧислоКоличество исходящих сообщений.
КоличествоОшибок
Доступность: Сервер
ТолькоЧтение
КоличествоОшибок: ЧислоКоличество ошибок, которые произошли в ходе работы процесса интеграции.
КонтекстОперацииЖурналаСобытий
Доступность: Сервер
ТолькоЧтение
КонтекстОперацииЖурналаСобытий: КонтекстОперацииЖурналаСобытий?Контекст операции журнала событий, которая начинается при запуске процесса интеграции.
МаксимальноеКоличествоПовторныхДоставок
Доступность: Сервер
МаксимальноеКоличествоПовторныхДоставок: Число?Максимальное число повторных доставок сообщения. Если Неопределено, то повторные доставки осуществляются бесконечно. При достижении указанного значения сообщение отправляется в канал недоставленных сообщений. По умолчанию Неопределено, т.е. бесконечная повторная доставка.
ОбластиИзображенияСхемы
Доступность: Сервер
ТолькоЧтение
ОбластиИзображенияСхемы: ДвоичныйОбъект.СсылкаСсылка на двоичные данные координат узлов для отображения схемы процесса интеграции.
Описание
Доступность: Сервер
ТолькоЧтение
Описание: СтрокаОписание процесса интеграции.
РегистрироватьДоставкуВЖурналеСобытий
Доступность: Сервер
РегистрироватьДоставкуВЖурналеСобытий: БулевоПризнак регистрации доставки сообщений в журнале событий.
При установке значения Истина события доставки с ообщений в узел назначения фиксируются в журнале.
Для изменения признака не требуется перезапускать процесс интеграции.
Состояние
Доступность: Сервер
ТолькоЧтение
Состояние: СостояниеПроцессаИнтеграцииТекущее состояние процесса интеграции.
СостоянияКаналов
Доступность: Сервер
ТолькоЧтение
СостоянияКаналов: ЧитаемоеСоответствие<УзелСхемыИнтеграции, ЧитаемоеСоответствие<Строка, СостояниеКаналаИнтеграции>>Соответствие, в котором в качестве ключа выступает узел схемы, а в качестве значения - соответствие, в котором ключ - код участника, значение - состояние канала.
Схема
Доступность: Сервер
ТолькоЧтение
Схема: СхемаПроцессаИнтеграцииСхема процесса интеграции.
Примеры
Пример обработчика http-запроса программной отправки сообщения через узел типа ПрограммныйИсточник процесса интеграции СетьМагазинов.
метод ОтправитьСообщение(Запрос: HttpСервисЗапрос)
знч ЯвляетсяАрхивом = Запрос.Заголовки.ПолучитьПервый("content-type") == "application/zip"
знч Сообщение = новый СообщениеИнтеграции({"IsArchive":ЯвляетсяАрхивом}, Запрос.Тело)
СетьМагазинов.ОтправитьСообщениеВУзлы(С ообщение, СетьМагазинов.Схема.Узлы.ОтПартнеров)
;
ТаблицаГруппУчастников
Доступность: Сервер
ТолькоЧтение
ТаблицаГруппУчастников: Строка?Имя таблицы, в которой содержатся группы участников.
ТаблицаСправочникаУчастников
Доступность: Сервер
ТолькоЧтение
ТаблицаСправочникаУчастников: Строка?Имя таблицы справочника, который используется в качестве справочника участников процесса интеграции.
ТаблицаУчастников
Доступность: Сервер
ТолькоЧтение
ТаблицаУчастников: Строка?Имя таблицы, в которой содержатся участники процесса интеграции.
ТаймаутУстареванияНедоставленныхСообщений
Доступность: Сервер
ТаймаутУстареванияНедоставленныхСообщений: ДлительностьТаймаут устаревания недоставленных сообщений. Значение по умолчанию 7 дней. Минимальное значение 1 день. По истечении указаного времени с момента попадания сообщения в канал недоставленных оно будет удалено из канала.
ТипСправочникаИнформационныхСистем
Доступность: Сервер
ТолькоЧтение
ТипСправочникаИнформационныхСистем: Тип<Справочник>?Тип справочника информационных систем для участников процесса интеграции. Неопределено, если справочник не используется.
Методы
Запустить
Доступность: Сервер
Запустить(): СостояниеПроцессаИнтеграцииОстановить
Доступность: Сервер
Остановить(): СостояниеПроцессаИнтеграцииОтправитьСообщениеВУзлы
Доступность: Сервер
ОтправитьСообщениеВУзлы(
Сообщение: СообщениеИнтеграции,
Узлы: УзелСхемыИнтеграции|Строка|Ууид|Обходимое<УзелСхемыИнтеграции|Строка|Ууид>
): ЧитаемоеСоответствие<УзелСхемыИнтеграции, Строка>Сообщение из узла(ов)-программного(ых) источника(ов) Узлы, выби раемого(ых) по имени, идентификатору, объекту или коллекции имен/идентификаторов/объектов.
Возвращает соответствие, где ключ - узел процесса интеграции, в который было отправлено сообщение, а значение - идентификатор отправленного сообщения.
В каждый узел отправляется сообщение со своим идентификатором, который не равен значению свойства Ид аргумента Сообщение.
Для дальнейшего нахождения сообщения по Ид в Шине необходимо использовать значение Ид, полученное из возвращаемого значения по узлу, в который оно было отправлено.
Исключения
ИсключениеНедопустимоеСостояние - неверный идентификатор, имя или тип узла.
Примеры
Пример обработчика http-запроса программной отправки сообщения через узел типа ПрограммныйИсточник процесса интеграции СетьМагазинов.
метод ОтправитьСообщение(Запрос: HttpСервисЗапрос)
знч ЯвляетсяАрхивом = Запрос.Заголовки.ПолучитьПервый("content-type") == "application/zip"
знч Сообщение = новый СообщениеИнтеграции({"IsArchive":ЯвляетсяАрхивом}, Запрос.Тело)
знч УзелКИдентификатору = СетьМагазинов.ОтправитьСообщениеВУзлы(Сообщение, СетьМагазинов.Схема.Узлы.ОтПартнеров)
знч ИдСообщенияОтПартнеров = УзелКИдентификатору.Получить(СетьМагазинов.Схема.Узлы.ОтПартнеров)
Запрос.Ответ.Заголовки.Установить("PartnersMessageId", ИдСообщенияОтПартнеров)
;
ПолучитьНедоставленныеСообщения
Доступность: Сервер
ПолучитьНедоставленныеСообщения(
Количество: Число,
Якорь: НедоставленноеСообщениеИнтеграции? = Неопределено,
Вперед: Булево = Истина
): ЧитаемыйМассив<НедоставленноеСообщениеИнтеграции>Количество недоставленных сообщений.
Если указан якорь Якорь, то будут выбираться сообщения, записанные до (если Вперед == Ложь) или после (если Вперед == Истина) якорного сообщения.
Прим еры
Пример обработчика http-запроса отправки недоставленных сообщений, связанных с витриной,
в узел ПротоколОшибок процесса СетьМагазинов.
метод ОтправитьНедоставленныеСообщения(Запрос: HttpСервисЗапрос)
пер НедоставленныеСообщения = СетьМагазинов.ПолучитьНедоставленныеСообщения(10)
для Недос тавленноеСообщение из НедоставленныеСообщения
пер ИсторияДвижения = НедоставленноеСообщение.ПолучитьИсториюДвижений()
пер ПервыйУзел = ИсторияДвижения.Первый()
пер ПоследнийУзел = ИсторияДвижения.Последний()
если ПервыйУзел.ИмяУзла == "НаВитрину" или ПоследнийУзел.ИмяУзла == "ОтВитрины"
НедоставленноеСообщение.ОтправитьВ(СетьМагазинов.Схема.Узлы.ПротоколОшибок)
НедоставленноеСообщение.Удалить()
;
;
;