Отвечу сам себе. Временно придумал такое решение ОбменДаннымиXDTOСервер
&ИзменениеИКонтроль("ВерсииФорматаОбмена")
Функция УП258_ВерсииФорматаОбмена(Знач УзелИнформационнойБазы)
ВерсииФорматаОбмена = Новый Соответствие;
ИмяПланаОбмена = "";
Если ЗначениеЗаполнено(УзелИнформационнойБазы) Тогда
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелИнформационнойБазы);
ВерсииФорматаОбмена = ОбменДаннымиСервер.ЗначениеНастройкиПланаОбмена(ИмяПланаОбмена, "ВерсииФорматаОбмена");
#Вставка
УП258_ПолучитьВерсиюФорматаОбмена(ВерсииФорматаОбмена, УзелИнформационнойБазы);
#КонецВставки
Иначе
ОбменДаннымиПереопределяемый.ПриПолученииДоступныхВерсийФормата(ВерсииФорматаОбмена);
КонецЕсли;
Если ВерсииФорматаОбмена.Количество() = 0 Тогда
Если ЗначениеЗаполнено(УзелИнформационнойБазы) Тогда
ШаблонОписанияОшибки = НСтр("ru = 'Не заданы версии формата обмена.
|Имя плана обмена: %1
|Процедура: %2';
|en = 'Exchange format versions not set.
|Exchange plan name: %1
|Procedure: %2'");
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОписанияОшибки,
ИмяПланаОбмена,
"ПолучитьВерсииФорматаОбмена(<ВерсииФорматаОбмена>)");
ВызватьИсключение ТекстОшибки;
Иначе
ШаблонОписанияОшибки = НСтр("ru = 'Не заданы версии формата обмена.
|Процедура: %1';
|en = 'Exchange format versions not set.
|Procedure: %1'");
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОписанияОшибки,
"ОбменДаннымиПереопределяемый.ПриПолученииДоступныхВерсийФормата(<ВерсииФорматаОбмена>)");
ВызватьИсключение ТекстОшибки;
КонецЕсли;
КонецЕсли;
Результат = Новый Соответствие;
Для Каждого Версия Из ВерсииФорматаОбмена Цикл
Результат.Вставить(СокрЛП(Версия.Ключ), Версия.Значение);
КонецЦикла;
Возврат Результат;
КонецФункции
Процедура УП258_ПолучитьВерсиюФорматаОбмена(ВерсииФормата, Знач УзелИнформационнойБазы)
Если УзелИнформационнойБазы.Наименование = "Бухгалтерия предприятия, редакция 3.0" Тогда
ИмяОбработки = "C:\Exchange\МенеджерОбменаЧерезУниверсальныйФорматERPТестовый.epf";
МенеджерОбмена = ВнешниеОбработки.Создать(ИмяОбработки);
ВерсииФормата.Вставить("1.10", МенеджерОбмена);
КонецЕсли;
КонецПроцедуры
Показать