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