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

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

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


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

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

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


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


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

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

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

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


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

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

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

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


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


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

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


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


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

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

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


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


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



Теги:   


2024-06-25





Вибрати мову:
-  руский
-  Українська