Имя: Пароль:
1C
1С v8
Группировки в табличном документе
,
0 I_learn_1c
 
10.01.20
16:01
Добрый вечер,

Помогите разобраться пожалуйста... запуталась где-то на ровном месте
Нужно вывести в табличный документ элементы справочника с иерархией, чтобы можно было свернуть/развернуть подчиненные.  Делаю так, просто выводит списком без иерархии. ВыборкаДетальныеЗаписи.Уровень() для всех элементов возвращает 0, ну и логично что без иерархии тогда.
Может это быть оттого что справочник с видом иерархии "Иерархия элементов" ? Куда копать чтобы вывести с группировками? не могу никак найти адекватный пример


ТабДок = Новый ТабличныйДокумент;
    
    Макет = ПолучитьМакет("Макет");
    
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ТабДок.Вывести(ОбластьШапка);
        
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ЦФО.Ссылка КАК ЦФО
        |ИЗ
        |    Справочник.ЦФО КАК ЦФО
        |ГДЕ
        |    НЕ ЦФО.ПометкаУдаления
        |
        |СГРУППИРОВАТЬ ПО
        |    ЦФО.Ссылка";
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
    
    
    ТабДок.НачатьАвтогруппировкуСтрок();
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Область=Макет.ПолучитьОбласть("Строка");
        ЗаполнитьЗначенияСвойств(Область.Параметры, ВыборкаДетальныеЗаписи);
        ТабДок.Вывести(Область, ВыборкаДетальныеЗаписи.Уровень());
        
        
        
    КонецЦикла;
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    
    
    
    Возврат ТабДок;
1 ДенисЧ
 
10.01.20
16:04
А где НачатьГруппуСтрок / ЗакончитьГруппуСтрок ?
2 Timon1405
 
10.01.20
16:05
(0) сделайте в конструкторе запроса и сравните текст с вашим
https://imgur.com/b3d6i5e
3 dka80
 
10.01.20
16:06
(1) ТабДок.НачатьАвтогруппировкуСтрок();
4 I_learn_1c
 
10.01.20
16:14
(2) сделала в конструкторе, все равно выводит списком без сворачивания...

ТабДок = Новый ТабличныйДокумент;
    
    Макет = ПолучитьМакет("Макет1");
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ЦФО.Ссылка КАК Ссылка
        |ИЗ
        |    Справочник.ЦФО КАК ЦФО
        |
        |СГРУППИРОВАТЬ ПО
        |    ЦФО.Ссылка";
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
    
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
        ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
    КонецЦикла;
    
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);
    
    
    Возврат ТабДок;
5 Timon1405
 
10.01.20
16:22
вместо сгруппировать
ИТОГИ ПО
Ссылка ИЕРАРХИЯ
6 I_learn_1c
 
10.01.20
16:29
(5) тогда дублирует элементы последнего уровня... но хотя бы с группировками)
7 Greeen
 
10.01.20
16:31
Как в (1) написали, можно НачатьГруппуСтрок использовать (вместо НачатьАвтогруппировкуСтрок)
8 Timon1405
 
10.01.20
16:39
(6) сделайте ВСЕ с нуля в конструкторе с итогами по ссылке.
9 I_learn_1c
 
10.01.20
17:09
(8) дублирует элементы в иерархии


вот только сам запрос, в консоли, выдает вот что.. 2 скрина - как в справочнике иерархия, и как выдает результат запроса с дублями. не пойму где торможу... может потому что справочник с видом иерархии "Иерархия элементов" или что еще.. не догоняю никак  
https://yadi.sk/i/YT_6VA4sFvZ_WA
https://yadi.sk/i/V3BhHyg7Kvm2ew


ВЫБРАТЬ
    ЦФО.Ссылка КАК Ссылка
ИЗ
    Справочник.ЦФО КАК ЦФО
ГДЕ
    НЕ ЦФО.ПометкаУдаления
ИТОГИ ПО
    Ссылка ИЕРАРХИЯ
10 I_learn_1c
 
10.01.20
17:11
(9) последние элементы которые можно развернуть не должны разворачиваться
11 I_learn_1c
 
10.01.20
17:12
(9) плюс у верхних дублируется сам элемент к себе же как подчиненный, в справочнике нет таких дублей
12 D_E_S_131
 
10.01.20
17:14
(10) Что-то "попахивает" заданием с использованием СКД...
13 I_learn_1c
 
10.01.20
17:19
(12) на скд тоже дублирует так же запрос... или я туплю уже по полной)
14 Timon1405
 
10.01.20
17:22
15 I_learn_1c
 
13.01.20
11:41
(14) очень оригинально...  я пыталась и пытаюсь найти адекватный пример, но случая как мой - не вижу, нахожу пока только совсем примитивные примеры по группировке с табличном документе
16 I_learn_1c
 
13.01.20
16:58
(14) НЕ ЭтоГруппа не подойдет если что, т.к. тип иерархии другой
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.