НастройкиПодключаемогоОбъекта (БСП)

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

Настройки подключаемого объекта. Получает настройки интеграции объекта метаданных - поставщика команд (отчета или обработки).

// Получает настройки интеграции объекта метаданных - поставщика команд (отчета или обработки).
//
// Параметры:
//   ПолноеИмя - Строка - полное имя объекта метаданных.
//   НастройкиПрограммногоИнтерфейса - Произвольный - Результат выполнения функции
//       НастройкиПрограммногоИнтерфейсаПодключаемыхОбъектов().
//
// Возвращаемое значение:
//   Структура - Настройки интеграции этого объекта.
//       Состав полей см. в блоке "Параметры процедуры ПриОпределенииНастроек"
//       процедуры ПодключаемыеКомандыПереопределяемый.ПриОпределенииСоставаНастроекПодключаемыхОбъектов().
//       Дополнительно содержит следующие поля:
//       * Вид - Строка - Вид имя объекта метаданных в верхнем регистре.
//       * ПолноеИмя - Строка - Полное имя объекта метаданных.
//       * Менеджер - ОбработкаМенеджер, ОтчетМенеджер - Менеджер объекта метаданных.
//
Функция НастройкиПодключаемогоОбъекта(ПолноеИмя, НастройкиПрограммногоИнтерфейса = Неопределено) Экспорт
	ЧастиИмени = СтрРазделить(ПолноеИмя, ".");
	Если ЧастиИмени.Количество() <> 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
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

НастройкиПрограммногоИнтерфейсаПодключаемыхОбъектов (БСП)

ПриОпределенииСоставаНастроекПодключаемыхОбъектов (БСП)

ТаблицаПодключаемыхОбъектов (БСП)

ЗаписатьНастройкуВерсионированияПоОбъекту (БСП)

НастройкиОбъектовМетаданных (БСП)

Синтакс-помощник БСП с нейросетевым ассистентом