ЗарегистрироватьИсточник (БСП)

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

Зарегистрировать источник. Регистрирует в дереве источников команд объект метаданных, а также вспомогательные объекты метаданных,

// Регистрирует в дереве источников команд объект метаданных, а также вспомогательные объекты метаданных,
//   подключенных к указанному объекту метаданных.
//
// Параметры:
//   ОбъектМетаданных - ОбъектМетаданных - Объект метаданных, к которому подключены источники команд.
//   Источники - ДеревоЗначений - См. описание одноименного параметра
//       процедуры ПодключаемыеКомандыПереопределяемый.ПриОпределенииКомандПодключенныхКОбъекту().
//   ПодключенныеОбъекты - ТаблицаЗначений - См. описание возвращаемого значения
//       функции ПодключаемыеКоманды.ТаблицаПодключаемыхОбъектов().
//   НастройкиПрограммногоИнтерфейса - Структура - Необязательный. См. описание возвращаемого значения
//       функции ПодключаемыеКоманды.НастройкиПрограммногоИнтерфейсаПодключаемыхОбъектов().
//
// Возвращаемое значение:
//   СтрокаДереваЗначений - Настройки объекта метаданных. См. описание 2 параметра
//       процедуры ПодключаемыеКомандыПереопределяемый.ПриОпределенииКомандПодключенныхКОбъекту().
//
Функция ЗарегистрироватьИсточник(ОбъектМетаданных, Источники, ПодключенныеОбъекты, НастройкиПрограммногоИнтерфейса) Экспорт
	Если ОбъектМетаданных = Неопределено Тогда
		Возврат Неопределено;
	КонецЕсли;
	ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
	Менеджер  = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя);
	Если Менеджер = Неопределено Тогда
		Возврат Неопределено; // Объект не может быть источником команд.
	КонецЕсли;
	
	Источник = Источники.Строки.Добавить();
	Источник.Метаданные          = ОбъектМетаданных;
	Источник.ПолноеИмя           = ПолноеИмя;
	Источник.Менеджер            = Менеджер;
	Источник.СсылкаМетаданных    = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ПолноеИмя);
	Источник.Вид                 = ВРег(СтрРазделить(ПолноеИмя, ".")[0]);
	Источник.ЭтоЖурналДокументов = (Источник.Вид = "ЖУРНАЛДОКУМЕНТОВ");
	
	Если Источник.ЭтоЖурналДокументов Тогда
		МассивТипов = Новый Массив;
		Для Каждого МетаданныеДокумента Из ОбъектМетаданных.РегистрируемыеДокументы Цикл
			Документ = ЗарегистрироватьИсточник(МетаданныеДокумента, Источник, ПодключенныеОбъекты, НастройкиПрограммногоИнтерфейса);
			Если Документ <> Неопределено Тогда
				МассивТипов.Добавить(Документ.ТипСсылкиДанных);
			КонецЕсли;
		КонецЦикла;
		Источник.ТипСсылкиДанных = Новый ОписаниеТипов(МассивТипов);
	ИначеЕсли Не Метаданные.Обработки.Содержит(ОбъектМетаданных) И Не Метаданные.Отчеты.Содержит(ОбъектМетаданных) Тогда
		Источник.ТипСсылкиДанных = Тип(Источник.Вид + "Ссылка." + ОбъектМетаданных.Имя);
	КонецЕсли;
	
	ПодключенныеОбъекты(Источник, ПодключенныеОбъекты, НастройкиПрограммногоИнтерфейса);
	
	Возврат Источник;
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

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

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

Зарегистрироваться (БСП)

ПечатьПоВнешнемуИсточнику (БСП)

СКД внешние источники данных

ИзмененияЗарегистрированы (БСП)

ИсточникиДанныхДляПроверкиЗапретаИзменения (БСП)

ЭтоВнешнийИсточникДанных (БСП)

ДеревоИсточниковКоманд (БСП)

ЗарегистрироватьОбработку (БСП)

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