Имя: Пароль:
1C
 
Не отбражать пустые папки в списке номенклатуры
0 myr4ik07
 
27.03.18
10:21
Есть иерархический список номенклатуры, как при открытии конкретной папки http://prntscr.com/iwwhyx если в данной папки есть пустые папки то их не отбражать, а отображать только те папки, в которых есть элементы?
1 myr4ik07
 
27.03.18
10:26
придумал что то типа


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

        
        СсылкаОтбор = СправочникНоменклатура.Отбор.Найти("Ссылка");
        СсылкаОтбор.ВидСравнения = ВидСравнения.ВСпискеПоИерархии;
        СсылкаОтбор.Значение = СписокНоменклатуры;
        СсылкаОтбор.Использование = Истина;

т.е. в отбор попадают только те элементы, которые есть на остатках определенных складов и выбранной папки, т.е. Материалы

и да, элементы не отбражаються, которых нет на остатках, а но отображаються пустые папки, которые тоже нужо спрятать
2 myr4ik07
 
27.03.18
10:37
есть идеи?
3 xxTANATORxx
 
27.03.18
10:46
РЛС умеет не показывать папки, но что-то мне кажется смысла это реализовывать нет
4 Ц_У
 
27.03.18
10:47
Идей куча, вопрос, зачем?
5 myr4ik07
 
27.03.18
10:48
(4) так подгони парочку, "надо Федя, надо"
6 myr4ik07
 
27.03.18
10:50
(3) смысл в том, что не показывать пустые папки нужно в конкретной обработке, на обработке выведено ТабличноеПоле из тип данным Справочник.Номенклатура
7 xxTANATORxx
 
27.03.18
10:52
(6)ёптать, нарисуй своё дерево
8 myr4ik07
 
27.03.18
10:52
(3) вот форма обработки http://prntscr.com/iwwxht там где Артикул, Номенклатура, Цена это и есть это поле http://prntscr.com/iwwxuh
9 myr4ik07
 
27.03.18
10:53
(7) переделывать много логики
10 Ц_У
 
27.03.18
11:33
(5) ну вот так, например

ВЫБРАТЬ
    Номенклатура.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВТ_Группы
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.ЭтоГруппа
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Номенклатура.Ссылка КАК Ссылка,
    Номенклатура.Родитель КАК Родитель
ПОМЕСТИТЬ ВТ_Товары
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    НЕ Номенклатура.ЭтоГруппа
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Номенклатура.Ссылка КАК Ссылка,
    Номенклатура.Родитель КАК Группа
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    НЕ Номенклатура.Ссылка В
                (ВЫБРАТЬ
                    ВТ_Группы.Ссылка КАК Ссылка
                ИЗ
                    ВТ_Группы КАК ВТ_Группы
                        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Товары КАК ВТ_Товары
                        ПО
                            ВТ_Группы.Ссылка = ВТ_Товары.Родитель
                ГДЕ
                    ВТ_Товары.Ссылка ЕСТЬ NULL)
11 Ц_У
 
27.03.18
11:49
Во втором запросе не нужно условие, иначе скроет папки в которых нет товаров, но есть вложенные папки с товарами
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс