БСП Метаданные - работа с функциями для работы с метаданными в 1с

БСП Метаданные - работа с функциями для работы с метаданными в 1с

Пример работы с функциями для работы с метаданными в БСП 1с


// Возвращает объект метаданных по переданному идентификатору
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору( Объект, Ложь);

// Определяет доступность объекта метаданных по функциональным опциям
Результат = ОбщегоНазначения. ОбъектМетаданныхДоступенПоФункциональнымОпциям( ОбъектМетаданных);

// Возвращает менеджер объекта по ссылке на объект
МенеджерСправочника = ОбщегоНазначения.МенеджерОбъектаПоСсылке( СсылкаНаОрганизацию);
ПустаяСсылка = МенеджерСправочника.ПустаяСсылка();


// Возвращает менеджер объекта по полному имени объекта метаданных
МенеджерСправочника = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени( "Справочник.Организации");
ПустаяСсылка = МенеджерСправочника.ПустаяСсылка();


// Возвращает полное имя объекта метаданных по переданному значению ссылки
Результат = ОбщегоНазначения.ИмяТаблицыПоСсылке(Ссылка) // "Справочник.Номенклатура"

// Возвращает имя базового типа по переданному значению объекта метаданных
ИмяБазовогоТипа = ОбщегоНазначения.ИмяБазовогоТипаПоОбъектуМетаданных( Метаданные.Справочники.Номенклатура); // "Справочники".

// Возвращает строку реквизитов объекта метаданных с заданным типом
Данные = ОбщегоНазначения.ИменаРеквизитовПоТипу( Организация.Ссылка, Тип("СправочникСсылка.Организации"));

// Возвращает ссылку, соответствующую объекту метаданных, для использования в базе данных
Идентификатор = ОбщегоНазначения.ИдентификаторОбъектаМетаданных( ТипЗнч(Ссылка));
Идентификатор = ОбщегоНазначения.ИдентификаторОбъектаМетаданных( ОбъектМетаданных);
Идентификатор = ОбщегоНазначения.ИдентификаторОбъектаМетаданных( "Справочник.Организации");


// Возвращает имя вида объектов метаданных по ссылке на объект
Результат = ОбщегоНазначения.ВидОбъектаПоСсылке(Ссылка); // "Справочник"

// Возвращает имя вида объектов метаданных по типу объекта
ИмяТипаОбъекта = ОбщегоНазначения.ВидОбъектаПоТипу(ТипЗнч(Ссылка)); // "Справочник"

// Для использования в процедуре ПриДобавленииПереименованийОбъектовМетаданных общего модуля ОбщегоНазначенияПереопределяемый для описания переименований объектов метаданных
ОбщегоНазначения.ДобавитьПереименование( Итог, "2.1.2.14", "Подсистема._ДемоПодсистемы", "Подсистема._ДемоСервисныеПодсистемы");

// Позволяет определить, есть ли среди реквизитов объекта реквизит с переданным именем
МетаданныеДокумента = ДокументОбъект.Ссылка.Метаданные();
Если ОбщегоНазначения.ЕстьРеквизитОбъекта( "КратностьВзаиморасчетов", МетаданныеДокумента) Тогда
ДокументОбъект.КратностьВзаиморасчетов = Кратность;
КонецЕсли;


// Проверить, что значение имеет ссылочный тип данных
Если ОбщегоНазначения.ЗначениеСсылочногоТипа(Организация) Тогда
Организация = Организация.ПолучитьОбъект();
КонецЕсли;


// Возвращает признак того, что реквизит входит в подмножество стандартных реквизитов
Результат = ОбщегоНазначения.ЭтоСтандартныйРеквизит( СтандартныеРеквизиты, ИмяРеквизита);

// Проверка того, что переданный тип является ссылочным типом данных
ТипОбъекта = ТипЗнч(Номенклатура);
Если ОбщегоНазначения.ЭтоСсылка(ТипОбъекта) Тогда
Сообщить("Это ссылочный объект");
КонецЕсли;


// Определяет принадлежность объекта метаданных к ссылочному типу
ИмяТаблицыПоСсылке = ОбщегоНазначения.ИмяТаблицыПоСсылке( Ссылка) // "Справочник.Номенклатура"
МетаданныеОбъекта = Метаданные.НайтиПоПолномуИмени( ИмяТаблицыПоСсылке);
Результат = ОбщегоНазначения.ЭтоОбъектСсылочногоТипа( МетаданныеОбъекта);// Истина


// Определяет принадлежность объекта метаданных к общему типу "Константа"
Результат = ОбщегоНазначения.ЭтоКонстанта(МетаданныеОбъекта); // Истина

// Возвращает строковое представление типа
Тип = ТипЗнч(Номенклатура); // "СправочникСсылка.Номенклатура"
СтроковоеПредставлениеТипа = ОбщегоНазначения.СтроковоеПредставлениеТипа(Тип);

// Проверяет физическое наличие записи в информационной базе данных о переданном значении ссылки
// Битая ссылка на номенклатуру вида (6778:8414001e67079e6011e2219d259f469d)
Если Не ОбщегоНазначения.СсылкаСуществует(Ссылка) Тогда // Истина
ВызватьИсключение НСтр("uk = ''");
КонецЕсли


// Проверить, что описание типа состоит из единственного типа значения и совпадает с нужным типом
Если ОбщегоНазначения.ОписаниеТипаСостоитИзТипа( Строка.ТипЗначения, Тип("Булево")) Тогда
НоваяСтрока.Значение = Ложь;
КонецЕсли;


// Проверяет, является ли объект группой элементов
Результат = ОбщегоНазначения.ОбъектЯвляетсяГруппой(Склад);



Теги:   


2024-06-25




Выбрать язык:
-  руский
-  Українська