Доброго дня всем! Форумчане, может кто подскажет как при включенном отборе в форме выбора справочника "Номенклатура" скрывать пустые группы? Убрать из показа нужно те группы, в которых после отбора нет ни одного элемента. Можно конечно отключить иерархию просмотра, но это не выход. Отбор делаю стандартным образом. Он работает, но остается много пустых групп.
<Code+>
Процедура ВыбНоменклатураНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВыпускПродукции.Продукция.Ссылка КАК Продукция
|ИЗ
| РегистрНакопления.ВыпускПродукцииБухгалтерскийУчет КАК ВыпускПродукции
|ГДЕ
| НЕ ВыпускПродукции.КодОперации В (&СписокКодовОпераций)
| И ВыпускПродукции.Период МЕЖДУ &ДатаНачала И &ДатаКонца
| И ВыпускПродукции.Подразделение = &ВыбПодразделение
| И ВыпускПродукции.Организация = &ВыбОрганизация";
Сам делал через видимость в условном оформлении списка.
ЭлементОформления = ДС_ПодборУслуг.УсловноеОформление.Элементы.Добавить();
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Видимость", Ложь);
(1) У нас очень большой справочник Номенклатура, разные подразделения выпускают разную номенклатуру. в отбор должна попадать только номенклатура выпущенная в конкретном подразделении за конкретный период. отсюда возникают пустые группы. в них содержалась номенклатура других подразделений которая была отфильтрована отбором.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший