Имя: Пароль:
1C
1С v8
Зачем "уровень()" в ТабДок.Вывести?
0 Очень Любознательная
 
24.08.19
19:42
Добрый вечер!
Делаю макет через конструктор - оказание услуги с табличной частью (список услуг).
1С формирует такой код:

Процедура Печать(ТабДок, Ссылка) Экспорт
    //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
    Макет = Документы.ОказаниеУслуги.ПолучитьМакет("Печать");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ОказаниеУслуги.Дата,
    |    ОказаниеУслуги.Клиент,
    |    ОказаниеУслуги.Номер,
    |    ОказаниеУслуги.Склад,
    |    ОказаниеУслуги.Сотрудник,
    |    ОказаниеУслуги.ПереченьНоменклатуры.(
    |        НомерСтроки,
    |        Номенклатура,
    |        Количество,
    |        Цена,
    |        Сумма
    |    )
    |ИЗ
    |    Документ.ОказаниеУслуги КАК ОказаниеУслуги
    |ГДЕ
    |    ОказаниеУслуги.Ссылка В (&Ссылка)";
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    Шапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьПереченьНоменклатурыШапка = Макет.ПолучитьОбласть("ПереченьНоменклатурыШапка");
    ОбластьПереченьНоменклатуры = Макет.ПолучитьОбласть("ПереченьНоменклатуры");
    ТабДок.Очистить();

    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
        Если ВставлятьРазделительСтраниц Тогда
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;

        ТабДок.Вывести(ОбластьЗаголовок);

        Шапка.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Шапка, Выборка.Уровень());

        ТабДок.Вывести(ОбластьПереченьНоменклатурыШапка);
        ВыборкаПереченьНоменклатуры = Выборка.ПереченьНоменклатуры.Выбрать();
        Пока ВыборкаПереченьНоменклатуры.Следующий() Цикл
            ОбластьПереченьНоменклатуры.Параметры.Заполнить(ВыборкаПереченьНоменклатуры);
            ТабДок.Вывести(ОбластьПереченьНоменклатуры, ВыборкаПереченьНоменклатуры.Уровень());
        КонецЦикла;

        ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
    //}}
КонецПроцедуры

Что такое Уровень() в ТабДок.Вывести(ОбластьПереченьНоменклатуры, ВыборкаПереченьНоменклатуры.Уровень())?
Я так понимаю, что уровень - уровень иерархии в запросе. Но зачем он? Что он даёт?
1 DES
 
24.08.19
20:17
Уровень используется для автоматической группировки строк табличного документа
2 Franchiser
 
гуру
24.08.19
21:19
Сделай запрос с Итогами
3 Очень Любознательная
 
24.08.19
22:49
(1) (2) Да, в случае с "итогами" уровень уже становится 1.
Но я всё же не понимаю, на что влияет эта группировка? У меня все строки на одном уровне печатаются.
4 rabbidX
 
24.08.19
22:54
(3) НачатьАтогруппировкуСтрок забыли
5 Дмитрий Николаевич
 
24.08.19
23:13
1
6 RomanYS
 
24.08.19
23:35
(3) У ячейки можно задать отступ, который будет умножаться на уровень. А с (4) ещё плюсики должны появиться с группировками строк