Заготовка для работы с метаданными в управляемом интерфейсе.


При создании внешних обработок или отчетов, так же при разработки различных модулей можно использовать готовый код (смотри ниже) для работы с метаданными в режиме &НаКлиенте.

Данный код содержит следующие процедуры и функции, которые позволяют исполнять серверные методы на клиенте:
  • ПолучитьРеквизитОбъекта - получить значение реквизита ссылки или объекта;
  • ПолучитьЗначениеКонстанты - получить значение константы.

Для получения предопределенных значений (пустые ссылки, перечисления, предопределенные элементы и группы) используем метод ПредопределенноеЗначение(<Имя предопределенного значения>) . Примеры:

// Пустая ссылка

ПредопределенноеЗначение("Справочник.Номенклатура.ПустаяСсылка");

 // Предопределённый элемент справочника "Номенклатура"

ПредопределенноеЗначение("Справочник.СтавкаНДС.НДС_20");

// Значение перечисления

ПредопределенноеЗначение("Перечисление.ТипыНоменклатуры.Услуга");

 

Код:

#Область РаботаСМетаданными

// Функция - Получить реквизит объекта
//
// Параметры:
//  СсылкаНаСправочник     - СправоничкСсылка.<ИмяСправочника> - ссылка на элемент справочника
//  ИмяРеквизита         - Строка - имя ревизита (свойства) справочника
//
// Возвращаемое значение:
//  Произвольное - значение реквизита (свойства) ссылки объекта
//
&НаСервере
Функция ПолучитьРеквизитОбъекта(СсылкаНаОбъект,ИмяРеквизита) Экспорт
   
    Попытка
        Возврат СсылкаНаОбъект[""+ИмяРеквизита+""];
    Исключение
        Возврат Неопределено;
    КонецПопытки;

КонецФункции // ПолучитьРеквизитОбъекта()

// Функция - Получить значение константы
//
// Параметры:
//  ИмяКонстанты - Строка - имя константы заданное в дереве метаданных
//
// Возвращаемое значение:
//  Произвольное - значение константы
//
&НаСервере
Функция ПолучитьЗначениеКонстанты(ИмяКонстанты) Экспорт

    Попытка
        Возврат Константы[""+ИмяКонстанты+""].Получить();
    Исключение
        Возврат Неопределено;
    КонецПопытки;

КонецФункции // ПолучитьЗначениеКонстанты()

#КонецОбласти

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.