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