|
Отбор справочника Номенклатура - скрытие групп | ☑ | ||
---|---|---|---|---|
0
Tornadius
08.12.17
✎
07:09
|
Доброго дня всем! Форумчане, может кто подскажет как при включенном отборе в форме выбора справочника "Номенклатура" скрывать пустые группы? Убрать из показа нужно те группы, в которых после отбора нет ни одного элемента. Можно конечно отключить иерархию просмотра, но это не выход. Отбор делаю стандартным образом. Он работает, но остается много пустых групп.
<Code+> Процедура ВыбНоменклатураНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ВыпускПродукции.Продукция.Ссылка КАК Продукция |ИЗ | РегистрНакопления.ВыпускПродукцииБухгалтерскийУчет КАК ВыпускПродукции |ГДЕ | НЕ ВыпускПродукции.КодОперации В (&СписокКодовОпераций) | И ВыпускПродукции.Период МЕЖДУ &ДатаНачала И &ДатаКонца | И ВыпускПродукции.Подразделение = &ВыбПодразделение | И ВыпускПродукции.Организация = &ВыбОрганизация"; Запрос.УстановитьПараметр("ВыбОрганизация", ВыбОрганизация); Запрос.УстановитьПараметр("ВыбПодразделение", ВыбПодразделениеОрганизации); Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(НачПериода)); Запрос.УстановитьПараметр("ДатаКонца", КонецДня(КонПериода)); Запрос.УстановитьПараметр("СписокКодовОпераций", СписокКодовОпераций); Выборка = Запрос.Выполнить().Выбрать(); СписокВыпущеннойНоменклатуры = Новый СписокЗначений; Пока Выборка.Следующий() Цикл СписокВыпущеннойНоменклатуры.Добавить(Выборка.Продукция); КонецЦикла; Форма = Справочники.Номенклатура.ПолучитьФормуВыбора(); ФормаОтбор = Форма.Отбор; ФормаОтбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке; ФормаОтбор.Ссылка.Значение = СписокВыпущеннойНоменклатуры; ФормаОтбор.Ссылка.Использование = Истина; Форма.Открыть(); КонецПроцедуры <Code-> |
|||
1
nordbox
08.12.17
✎
07:16
|
А откуда у тебя столько пустых групп набирается?
если они тебе не нужны зачем они существуют? |
|||
2
Тихий омут
08.12.17
✎
07:17
|
Сам делал через видимость в условном оформлении списка.
ЭлементОформления = ДС_ПодборУслуг.УсловноеОформление.Элементы.Добавить(); ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Видимость", Ложь); ЭлементОформления = ДС_ПодборУслуг.УсловноеОформление.Элементы.Добавить(); ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Видимость", Истина ); ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Отображать",Истина ); ОтборПоГруппе = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборПоГруппе.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка"); ОтборПоГруппе.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии; ОтборПоГруппе.ПравоеЗначение = СписокГрупп; |
|||
3
Tornadius
08.12.17
✎
07:28
|
(1) У нас очень большой справочник Номенклатура, разные подразделения выпускают разную номенклатуру. в отбор должна попадать только номенклатура выпущенная в конкретном подразделении за конкретный период. отсюда возникают пустые группы. в них содержалась номенклатура других подразделений которая была отфильтрована отбором.
|
|||
4
Tornadius
08.12.17
✎
07:32
|
(2) а список групп как получали?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |