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