Проверка заполненности дополнительного сведения

1. popov_i 5 12.07.21 12:15 Сейчас в теме
Здравствуйте.
БП 3.0
Получаю доп сведения объекта вот таким методом

Функция ПолучитьЗначениеДопСведений(Ссылка,Свойство) Экспорт
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	ДополнительныеСведения.Значение КАК Значение
	|ИЗ
	|	РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
	|ГДЕ
	|	ДополнительныеСведения.Объект = &Объект
	|	И ДополнительныеСведения.Свойство.Имя = &Имя";
	Запрос.УстановитьПараметр("Объект",Ссылка);
	Запрос.УстановитьПараметр("Имя",Свойство);
	ДопСведения = Запрос.Выполнить().Выбрать();
	Пока  ДопСведения.Следующий() Цикл
		Возврат ДопСведения.Значение;
	КонецЦикла;
КонецФункции
Показать


Как проверить наличие у объекта дополнительного сведения?
По теме из базы знаний
Найденные решения
6. puzo50 12.07.21 12:37 Сейчас в теме
если запрос.выполнить().пустой() тогда
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Азбука Морзе 105 12.07.21 12:23 Сейчас в теме
(1) В ЕРП, Документообороте список дополнительных сведений хранится в справочнике Наборы дополнительных реквизитов и сведений.
А где в вашей конфе не знаю.
4. popov_i 5 12.07.21 12:27 Сейчас в теме
(2) В БП 3.0 хранятся в Регистре сведений
5. Азбука Морзе 105 12.07.21 12:35 Сейчас в теме
(4) Если я правильно понял, то ваша проблема заключается в том, как проверить у объекта возможность заполнения дополнительного свойства, а не фактическое его заполнения. Если это как, то саму возможность заполнения проверяем в справочнике, а конкретное значение в регистре.
3. soft_wind 12.07.21 12:27 Сейчас в теме
попробуйте так
    ДопСведения = Запрос.Выполнить().Выбрать();
	Если ДопСведения.Следующий() Тогда
		лкЗначение = ДопСведения.Значение;
	Иначе	
		//вообще не найдено Доп.свойство
		лкЗначение = Неопределено;//или Null вставьте
	КонецЕсли; 
	
	Возврат лкЗначение;
Показать
6. puzo50 12.07.21 12:37 Сейчас в теме
если запрос.выполнить().пустой() тогда
8. popov_i 5 12.07.21 13:13 Сейчас в теме
(6) Проверил в функции на пустой результат запроса. А в коде, где использовал функцию проверял на null
7. Max_Max 12.07.21 13:01 Сейчас в теме
Общий модуль УправлениеСвойствами
// Возвращает дополнительные реквизиты и сведения у указанного объекта.
//
// Параметры:
//  ВладелецСвойств      - Ссылка - например: СправочникСсылка.Номенклатура, ДокументСсылка.ЗаказПокупателя, ...
//                       - Объект - например: СправочникОбъект.Номенклатура, ДокументОбъект.ЗаказПокупателя, ...
//                       - ДанныеФормыСтруктура - коллекция по типу объекта владельца свойств.
//  ПолучатьДопРеквизиты - Булево - в результат включать дополнительные реквизиты.
//  ПолучатьДопСведения  - Булево - в результат включать дополнительные сведения.
//
// Возвращаемое значение:
//  Массив из ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения
//
Функция СвойстваОбъекта(ВладелецСвойств, ПолучатьДопРеквизиты = Истина, ПолучатьДопСведения = Истина) Экспорт
Показать
9. popov_i 5 12.07.21 13:14 Сейчас в теме
Всем Спасибо за участие!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот