Проверка существования реквизита у объекта метаданных |
|
|
|
Написал Валецкий Станислав
|
При написании универсальных процедур или функций (например проверка заполнения реквизитов перед проведением, или непосредственно проведение документов) возникает проблема, связанная с существованием или несуществованием некоторых реквизитов у объекта (например у документа продажи есть реквизит склад, а у документа перемещение - склад отправитель и склад получатель). Определить существование реквизита можно через метаданные, для этого понадобится вид объекта и имя реквизита.
Для справочников код будет следующий:
Реквизит = Метаданные.Справочник("ТМЦ").Реквизит("Артикул").Выбран();
Если Реквизит = 1 Тогда
Сообщить("У справочника есть такой реквизит");
Иначе
Сообщить("У справочника нет такого реквизита");
Конецесли;
Для документов код будет следующий:
Реквизит = Метаданные.Документ("РасходнаяНакладная").РеквизитШапки("Склад").Выбран();
Если Реквизит = 1 Тогда
Сообщить("У документа есть такой реквизит");
Иначе
Сообщить("У документа нет такого реквизита");
Конецесли;
Для табличной части документов код будет следующий:
Реквизит = Метаданные.Документ("РасходнаяНакладная").РеквизитТабличнойЧасти("Склад").Выбран();
Если Реквизит = 1 Тогда
Сообщить("У табличной части документа есть такой реквизит");
Иначе
Сообщить("У табличной части документа нет такого реквизита");
Конецесли;
|