Процедура ПодключитьИнтеграционныеМодули(Ядро, МакетыОбработки)
ИмяМодуляИнтеграции = Ядро.ИнтеграционныйМодуль_ПолучитьИмяМакета();
ИмяТиповогоМодуля = Ядро.ИмяТиповогоМодуля();
Если ЭтоВнешняяОбработка() Тогда
МенеджерИнтеграции = ФайлМенеджераИнтеграции();
Если ЗначениеЗаполнено(ИмяМодуляИнтеграции) Тогда
ИМ = ФайлИнтеграционногоМодуля();
МакетыОбработки.Вставить(ИмяМодуляИнтеграции, ИМ);
КонецЕсли;
Если ЗначениеЗаполнено(ИмяТиповогоМодуля) Тогда
ТиповойМодуль = ФайлТиповогоМодуля();
МакетыОбработки.Вставить(ИмяТиповогоМодуля, ТиповойМодуль);
КонецЕсли;
МакетыОбработки.Вставить("КонтурДиадокМенеджерИнтеграции", МенеджерИнтеграции);
Ядро.Макеты_Установить(МакетыОбработки);
КонецЕсли;
Попытка
Модуль_ИМ = Ядро.Модуль_ИМ(Ядро);
Исключение
Если ЗначениеЗаполнено(ИмяМодуляИнтеграции) Тогда
МакетыОбработки.Вставить(ИмяМодуляИнтеграции, Неопределено);
КонецЕсли;
Ядро.Макеты_Установить(МакетыОбработки);
Ошибка = ИнформацияОбОшибке();
ТекстОшибки = ПодробноеПредставлениеОшибки(Ошибка);
ВидОперации = "ПодключитьИнтеграционныйМодуль";
ЖурналРегистрации_ЗаписатьОшибку(Видоперации, ТекстОшибки);
ОбработатьОшибкуПодключенияИнтеграционногоМодуля(ИмяМодуляИнтеграции, Ошибка);
КонецПопытки;
Если Модуль_ИМ <> Неопределено Тогда
Ядро.Модуль_МенеджерИнтеграции(Ядро);
Иначе
МакетыОбработки.Вставить("КонтурДиадокМенеджерИнтеграции", Неопределено);
Ядро.Макеты_Установить(МакетыОбработки);
КонецЕсли;
Ядро.СопоставлениеДанныхПМ_ВыполнитьАвтоcопоставление();
КонецПроцедуры