ПоддерживаемыеОбъектыФормата (БСП)

Автор: 1С
ОбщийМодуль.ОбменДаннымиXDTOСервер
БСП

Поддерживаемые объекты формата. Возвращает таблицу поддерживаемых в обмене объектов формата для указанного плана обмена.

// Возвращает таблицу поддерживаемых в обмене объектов формата для указанного плана обмена.
// Перечень формируется на основании правил обмена из модулей менеджера обмена по соответствующим версиям.
//
// Параметры:
//  ИмяПланаОбмена - Строка - Имя плана обмена 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

ЭтоНаборЗаписейПоддерживающийИтоги (БСП)

ПропускатьОбъектыСОшибкамиПроверкиПоСхеме (БСП)

Заменить ссылки на навигационные

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз