Пример работы с функциями для работы с метаданными в БСП 1с
// Возвращает объект метаданных по переданному идентификатору
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору( Объект, Ложь);// Определяет доступность объекта метаданных по функциональным опциям
Результат = ОбщегоНазначения. ОбъектМетаданныхДоступенПоФункциональнымОпциям( ОбъектМетаданных);// Возвращает менеджер объекта по ссылке на объект
МенеджерСправочника = ОбщегоНазначения.МенеджерОбъектаПоСсылке( СсылкаНаОрганизацию);
ПустаяСсылка = МенеджерСправочника.ПустаяСсылка();// Возвращает менеджер объекта по полному имени объекта метаданных
МенеджерСправочника = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени( "Справочник.Организации");
ПустаяСсылка = МенеджерСправочника.ПустаяСсылка();// Возвращает полное имя объекта метаданных по переданному значению ссылки
Результат = ОбщегоНазначения.ИмяТаблицыПоСсылке(Ссылка) // "Справочник.Номенклатура"// Возвращает имя базового типа по переданному значению объекта метаданных
ИмяБазовогоТипа = ОбщегоНазначения.ИмяБазовогоТипаПоОбъектуМетаданных( Метаданные.Справочники.Номенклатура); // "Справочники".// Возвращает строку реквизитов объекта метаданных с заданным типом
Данные = ОбщегоНазначения.ИменаРеквизитовПоТипу( Организация.Ссылка, Тип("СправочникСсылка.Организации"));// Возвращает ссылку, соответствующую объекту метаданных, для использования в базе данных
Идентификатор = ОбщегоНазначения.ИдентификаторОбъектаМетаданных( ТипЗнч(Ссылка));
Идентификатор = ОбщегоНазначения.ИдентификаторОбъектаМетаданных( ОбъектМетаданных);
Идентификатор = ОбщегоНазначения.ИдентификаторОбъектаМетаданных( "Справочник.Организации");// Возвращает имя вида объектов метаданных по ссылке на объект
Результат = ОбщегоНазначения.ВидОбъектаПоСсылке(Ссылка); // "Справочник"// Возвращает имя вида объектов метаданных по типу объекта
ИмяТипаОбъекта = ОбщегоНазначения.ВидОбъектаПоТипу(ТипЗнч(Ссылка)); // "Справочник"// Для использования в процедуре ПриДобавленииПереименованийОбъектовМетаданных общего модуля ОбщегоНазначенияПереопределяемый для описания переименований объектов метаданных
ОбщегоНазначения.ДобавитьПереименование( Итог, "2.1.2.14", "Подсистема._ДемоПодсистемы", "Подсистема._ДемоСервисныеПодсистемы");// Позволяет определить, есть ли среди реквизитов объекта реквизит с переданным именем
МетаданныеДокумента = ДокументОбъект.Ссылка.Метаданные();
Если ОбщегоНазначения.ЕстьРеквизитОбъекта( "КратностьВзаиморасчетов", МетаданныеДокумента) Тогда
ДокументОбъект.КратностьВзаиморасчетов = Кратность;
КонецЕсли;// Проверить, что значение имеет ссылочный тип данных
Если ОбщегоНазначения.ЗначениеСсылочногоТипа(Организация) Тогда
Организация = Организация.ПолучитьОбъект();
КонецЕсли;// Возвращает признак того, что реквизит входит в подмножество стандартных реквизитов
Результат = ОбщегоНазначения.ЭтоСтандартныйРеквизит( СтандартныеРеквизиты, ИмяРеквизита);// Проверка того, что переданный тип является ссылочным типом данных
ТипОбъекта = ТипЗнч(Номенклатура);
Если ОбщегоНазначения.ЭтоСсылка(ТипОбъекта) Тогда
Сообщить("Это ссылочный объект");
КонецЕсли;// Определяет принадлежность объекта метаданных к ссылочному типу
ИмяТаблицыПоСсылке = ОбщегоНазначения.ИмяТаблицыПоСсылке( Ссылка) // "Справочник.Номенклатура"
МетаданныеОбъекта = Метаданные.НайтиПоПолномуИмени( ИмяТаблицыПоСсылке);
Результат = ОбщегоНазначения.ЭтоОбъектСсылочногоТипа( МетаданныеОбъекта);// Истина// Определяет принадлежность объекта метаданных к общему типу "Константа"
Результат = ОбщегоНазначения.ЭтоКонстанта(МетаданныеОбъекта); // Истина// Возвращает строковое представление типа
Тип = ТипЗнч(Номенклатура); // "СправочникСсылка.Номенклатура"СтроковоеПредставлениеТипа = ОбщегоНазначения.СтроковоеПредставлениеТипа(Тип);// Проверяет физическое наличие записи в информационной базе данных о переданном значении ссылки
// Битая ссылка на номенклатуру вида (6778:8414001e67079e6011e2219d259f469d)
Если Не ОбщегоНазначения.СсылкаСуществует(Ссылка) Тогда // Истина
ВызватьИсключение НСтр("uk = ''");
КонецЕсли// Проверить, что описание типа состоит из единственного типа значения и совпадает с нужным типом
Если ОбщегоНазначения.ОписаниеТипаСостоитИзТипа( Строка.ТипЗначения, Тип("Булево")) Тогда
НоваяСтрока.Значение = Ложь;
КонецЕсли;// Проверяет, является ли объект группой элементов
Результат = ОбщегоНазначения.ОбъектЯвляетсяГруппой(Склад);
2024-06-25