helpf.pro
Регистрация

v8.3: Вывод списка с разбивкой по подразделениям

Ledgik
17.02.2019 14:56Прочитано: 1427

Здравствуйте форумчане! Не подскажете как можно вывести одним списком в табличном документе Штатное с содержащейся структурой Подразделения с разбивкой по ним примерно вот так: Подразделение с итогами по нему, потом расшифровка по Подразделению, и затем по порядку другое Подразделение с итогами по нему, потом расшифровка по Подразделению, и в окончании списка по полям ЕдиницыИтогШтатное и СуммаИтогШтатное чтобы суммировались значения из полей ЕдиницыИтогГруппа и СуммаИтогГруппа. Тот код что я привожу ниже для того что я задумал не подходит. Не подскажите как его изменить.

Код 1C v 8.3
 Процедура Печать(ТабДок, Ссылка) Экспорт
    Макет = Справочники.Штатное.ПолучитьМакет("Печать");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |   Штатное.ЕдиницыИтогГруппа,
    |   Штатное.Код,
    |   Штатное.НазваниеПредприятия,
    |   Штатное.Наименование,
    |   Штатное.СуммаИтогГруппа,
    |   Штатное.ТЧШтатное.(
    |       НомерСтроки,
    |       Должность,
    |       Единицы,
    |       Оклад,
    |       Сумма
    |   )
    |ИЗ
    |   Справочник.Штатное КАК Штатное
    |ГДЕ
    |   Штатное.Ссылка В (&Ссылка)";
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
 
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    Шапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьТЧШтатноеШапка = Макет.ПолучитьОбласть("ТЧШтатноеШапка");
    ОбластьТЧШтатное = Макет.ПолучитьОбласть("ТЧШтатное");
    Подвал = Макет.ПолучитьОбласть("Подвал");
 
    ТабДок.Очистить();
 
    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
        Если ВставлятьРазделительСтраниц Тогда
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
 
        ТабДок.Вывести(ОбластьЗаголовок);
 
        Шапка.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Шапка, Выборка.Уровень());
 
        ТабДок.Вывести(ОбластьТЧШтатноеШапка);
        ВыборкаТЧШтатное = Выборка.ТЧШтатное.Выбрать();
        Пока ВыборкаТЧШтатное.Следующий() Цикл
            ОбластьТЧШтатное.Параметры.Заполнить(ВыборкаТЧШтатное);
            ТабДок.Вывести(ОбластьТЧШтатное, ВыборкаТЧШтатное.Уровень());
        КонецЦикла;
 
        Подвал.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Подвал);
 
        ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
КонецПроцедуры
Yandex
Возможно, вас также заинтересует
Реклама на портале
Ledgik
09.03.2019 13:27Ответ № 1
Вопрос закрыт!
Подсказка: Для выделения Кода используйте (в редакторе).
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.