Статья

Как в 1С проверить наличие свойства у любого объекта?

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

ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Объект, ИмяРеквизита);

// Проверяет наличие реквизита или свойства у произвольного объекта без обращения к метаданным.
//
// Параметры:
//  Объект       - Произвольный - объект, у которого нужно проверить наличие реквизита или свойства;
//  ИмяРеквизита - Строка       - имя реквизита или свойства.
//
// Возвращаемое значение:
//  Булево - Истина, если есть.
2025-01-09 22:17