Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 07:50

Табличный документ Штатное с содержащейся структурой Подразделения с разбивкой по ним

Автор Ledgik, 17 фев 2019, 17:41

0 Пользователей и 1 гость просматривают эту тему.

Ledgik

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

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

Azenord

Тебе нужно усложнять запрос. Я реализовал подобное с группировкой и сортировкой внутри запроса.

Максим75

Ledgik, итоги по подразделению в запрос добавить, хотя не вижу вообще подразделения (может вылезло).
и при обходе результата запроса вначале будет подразделение (с итогами по нему), а потом вторым циклом по входящим в подразделение должностям.

Похожие темы (5)

Рейтинг@Mail.ru

Поиск