В запросах СКД часто встречаются конструкции типа "... Когда &Параметр = Значение(Справочник.ИмяСправочника.ПустаяСсылка) ..." при выводе параметров не совсем красиво отображать пустое значение, а когда запретить вывод параметра поставив ограничение доступности не будут отображатся заполненые значения. Решением есть устанавливать ограничение доступности в СКД при компоновке в зависимости от заполнения параметра пользовательских настроек.
Настройки = ЭтотОбъект.КомпоновщикНастроек.Настройки; Параметр = Настройки.ПараметрыДанных.Элементы.Найти(ИмяПараметра); ПараметрСКД = ЭтотОбъект.СхемаКомпоновкиДанных.Параметры.Найти(ИмяПараметра); Если Не (Параметр = Неопределено Или ПараметрСКД = Неопределено) Тогда ПараметрСКД.ОграничениеИспользования = Не ЗначениеЗаполнено(Параметр.Значение) КонецЕсли;
Нихера так не получится. Необходимо сделать инициализацию после всего:
ОтветитьУдалитьСКД = ОтчетОбъект.СхемаКомпоновкиДанных;
ОтчетОбъект.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД));