Поддерживаемые объекты формата. Возвращает таблицу поддерживаемых в обмене объектов формата для указанного плана обмена.
// Возвращает таблицу поддерживаемых в обмене объектов формата для указанного плана обмена.
// Перечень формируется на основании правил обмена из модулей менеджера обмена по соответствующим версиям.
//
// Параметры:
// ИмяПланаОбмена - Строка - Имя плана обмена XDTO.
// Режим - Строка - Вид запрашиваемой информации: "Отправка" | "Получение" | "ОтправкаПолучение".
// "Отправка" - будут возвращены все объекты, для которых поддерживается отправка;
// "Получение" - будут возвращены все объекты, для которых поддерживается получение;
// "ОтправкаПолучение" - будут возвращены все поддерживаемые объекты.
// По умолчанию "ОтправкаПолучение".
// УзелОбмена - ПланОбменаСсылка, Неопределено - узел плана обмена, соответствующий корреспонденту.
//
// Возвращаемое значение:
// ТаблицаЗначений - состав поддерживаемых объектов формата в разрезе версий.
// * Версия - Строка - Версия формата, например, "1.5".
// * Объект - Строка - Имя объекта формата, например, "Справочник.Номенклатура".
// * Отправка - Булево - Признак поддержки отправки данного объекта формата.
// * Получение - Булево - Признак поддержки получения данного объекта формата.
//
Функция ПоддерживаемыеОбъектыФормата(ИмяПланаОбмена, Режим = "ОтправкаПолучение", УзелОбмена = Неопределено) Экспорт
ТаблицаОбъекты = Новый ТаблицаЗначений;
ИнициализироватьТаблицуПоддерживаемыхОбъектовФормата(ТаблицаОбъекты, Режим);
ВерсииФормата = ОбменДаннымиСервер.ЗначениеНастройкиПланаОбмена(ИмяПланаОбмена, "ВерсииФорматаОбмена");
Для Каждого Версия Из ВерсииФормата Цикл
Если СтрНайти(Режим, "Отправка") Тогда
КомпонентыОбмена = ИнициализироватьКомпонентыОбмена("Отправка");
КомпонентыОбмена.ВерсияФорматаОбмена = Версия.Ключ;
КомпонентыОбмена.МенеджерОбмена = Версия.Значение;
КомпонентыОбмена.XMLСхема = ФорматОбмена(ИмяПланаОбмена, КомпонентыОбмена.ВерсияФорматаОбмена);
ИнициализироватьТаблицыПравилОбмена(КомпонентыОбмена);
ЗаполнитьПоддерживаемыеОбъектыФорматаПоКомпонентамОбмена(ТаблицаОбъекты, КомпонентыОбмена);
КонецЕсли;
Если СтрНайти(Режим, "Получение") Тогда
КомпонентыОбмена = ИнициализироватьКомпонентыОбмена("Получение");
КомпонентыОбмена.ВерсияФорматаОбмена = Версия.Ключ;
КомпонентыОбмена.МенеджерОбмена = Версия.Значение;
КомпонентыОбмена.XMLСхема = ФорматОбмена(ИмяПланаОбмена, КомпонентыОбмена.ВерсияФорматаОбмена);
ИнициализироватьТаблицыПравилОбмена(КомпонентыОбмена);
ЗаполнитьПоддерживаемыеОбъектыФорматаПоКомпонентамОбмена(ТаблицаОбъекты, КомпонентыОбмена);
КонецЕсли;
КонецЦикла;
ЕстьАлгоритм = ОбменДаннымиСервер.ЕстьАлгоритмМенеджераПланаОбмена(
"ПриОпределенииПоддерживаемыхОбъектовФормата", ИмяПланаОбмена);
Если ЕстьАлгоритм Тогда
ПланыОбмена[ИмяПланаОбмена].ПриОпределенииПоддерживаемыхОбъектовФормата(ТаблицаОбъекты, Режим, УзелОбмена);
КонецЕсли;
Возврат ТаблицаОбъекты;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ПоддерживаемыеОбъектыФорматаКорреспондента (БСП)
ЗаполнитьПоддерживаемыеОбъектыXDTO (БСП)
ПоддерживаетсяВерсияСИдентификаторомОбменаДанными (БСП)
ВерсияФорматаОбменаПриВыгрузке (БСП)
Функции преобразования ЗаписьJSON
ЭтоНаборЗаписейПоддерживающийИтоги (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)