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