Часто в коде бывает нужно узнать, имеет ли текущий составной объект определенное свойство или реквизит.
В следующем коде лаконично решается эта проблема:
Функция ЕстьРеквизитИлиСвойство(Объект, Имя)
КлючУникальности = Новый УникальныйИдентификатор;
СтруктураРеквизита = Новый Структура(Имя, КлючУникальности);
ЗаполнитьЗначенияСвойств(СтруктураРеквизита, Объект);
Возврат СтруктураРеквизита[Имя] <> КлючУникальности;
КонецФункции
Также можно использовать функцию из общего модуля БСП:
ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Объект, ИмяРеквизита);
// Проверяет наличие реквизита или свойства у произвольного объекта без обращения к метаданным.
//
// Параметры:
// Объект - Произвольный - объект, у которого нужно проверить наличие реквизита или свойства;
// ИмяРеквизита - Строка - имя реквизита или свойства.
//
// Возвращаемое значение:
// Булево - Истина, если есть.