Имя: Пароль:
1C
1С v8
Получить дерево групп справочника
0 al_zzz
 
22.10.14
06:18
Хочу вывести дерево групп справочника (http://snap.ashampoo.com/ymHMPyhG) на форму. Нашел описание от Гения 1С вот здесь: http://kb.mista.ru/article.php?id=522

Мой код:
Объект = РеквизитФормыВЗначение("ОсновнойРеквизит");
    Дерево = РеквизитФормыВЗначение("ДеревоКатегорий");
        //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ЛОЖЬ КАК НеВыгружать,
        |    ЛОЖЬ КАК НеВыгружатьСПодчиненными,
        |    Номенклатура.Ссылка.Родитель КАК Группа
        |ИЗ
        |    Справочник.Номенклатура КАК Номенклатура
        |ГДЕ
        |    Номенклатура.ЭтоГруппа = ЛОЖЬ
        |ИТОГИ
        |    МАКСИМУМ(НеВыгружать),
        |    МАКСИМУМ(НеВыгружатьСПодчиненными)
        |ПО
        |    Группа ТОЛЬКО ИЕРАРХИЯ";
    
    РезультатЗапроса = Запрос.Выполнить();
    
    Дерево = РезультатЗапроса.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    Объект.обУбратьОшибкиИтоговПоИерархии(Дерево.Строки,"Группа");

    
    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

    ЗначениеВРеквизитФормы(Дерево,"ДеревоКатегорий");

Результат: http://snap.ashampoo.com/gDBIxOZR совсем не похож на мое дерево в справочнике.
ЧЯДНТ?
1 Peltzer
 
22.10.14
06:34
Может быть, сгруппировать для начала? Чтобы родителей объединить.
2 butterbean
 
22.10.14
08:04
ВЫБРАТЬ
        ЛОЖЬ КАК НеВыгружать,
        ЛОЖЬ КАК НеВыгружатьСПодчиненными,
        Номенклатура.Ссылка
................
УПОРЯДОЧИТЬ ПО Ссылка ИЕРАРХИЯ

и всё
3 al_zzz
 
22.10.14
13:18
(1) Переписал запрос. Получилось более близко к истине, но не совсем то, что нужно:
"ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    Номенклатура.Родитель КАК Ссылка
        |ПОМЕСТИТЬ _0_
        |ИЗ
        |    Справочник.Номенклатура КАК Номенклатура
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ЛОЖЬ КАК НеВыгружать,
        |    ЛОЖЬ КАК НеВыгружатьСПодчиненными,
        |    _0_.Ссылка КАК Группа
        |ИЗ
        |    _0_ КАК _0_
        |ИТОГИ
        |    МАКСИМУМ(НеВыгружать),
        |    МАКСИМУМ(НеВыгружатьСПодчиненными)
        |ПО
        |    Группа ТОЛЬКО ИЕРАРХИЯ"
http://snap.ashampoo.com/XeaqdJFx

(2) Куда добавить это упорядочивание?
4 al_zzz
 
22.10.14
13:20
Я хочу один в один как в справочнике номенклатуры: http://snap.ashampoo.com/0lNZzsFw
5 Kamas
 
22.10.14
13:20
(0) формы какие??
6 al_zzz
 
22.10.14
13:21
(5) Управляемые
7 Kamas
 
22.10.14
13:24
(6) может проще динамический список заюзать
8 al_zzz
 
22.10.14
13:28
(7) Хочу, чтоб пользователь мог для каждой группы задать настройки - не выгружать или не выгружать с подчиненными, чтоб мог перенастроить подчинение групп.
Второй пункт, мне кажется, в динамическом списке не получится реализовать.
9 al_zzz
 
22.10.14
13:29
Поэтому хочу дерево использовать.
10 al_zzz
 
22.10.14
14:08
Ап!