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