Каждый , кто работает в 1С:Предприятие 8.2. хотя бы раз задавал себе вопрос - как сделать, чтобы отчеты выводились в болеее компактном, свернутом виде, т.е. по нужному уровню группировок, особенно, когда учет ведется по нескольким учреждениям, т.е. сводно.
Поиски в СКД свойства, "ответственного" за вывод нужного уровня группировок успехом не увенчались.
Значит, решение программное.
Само по себе оно достаточно простое - добавить в общий модуль ТиповыеОтчеты, в процедуру УниверсальныйМеханизмФормированияОтчета строчку кода:
Результат.ПоказатьУровеньГруппировокСтрок(УровеньГрупп); // добавлено.Где 0 - 1 уровень группировки
ПроцессорВывода.ЗакончитьВывод(); // существует
Но тут возникает проблема. Как управлять нужным уровнем группировок? Ведь не каждый день нужны сводные отчеты и тем более для всех пользователей.
Решение:
Добавим в предопределенные элементы плана видов характеристик НастройкиПользователей новую характеристику УровеньГруппОтчетов с типом Число.
В вышеуказанный модуль добавим код:
//добавлено
УровеньГрупп=0;
УровеньГрупп=УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "УровеньГруппОтчетов");
Если УровеньГрупп=0 Тогда
Иначе
Результат.ПоказатьУровеньГруппировокСтрок(УровеньГрупп-1);
КонецЕсли;
//добавлено
//Обозначем завершение вывода (существующий код)
ПроцессорВывода.ЗакончитьВывод();
Теперь управление выводом уровня группировок осуществляется из программы через настройки пользователя.
По умолчанию:
0 - выводятся все группировки
1 - первый уровень
2 - второй уровень и т.д.