Вывод нужного уровня автогруппировок в отчетах



Вывод нужного уровня автогруппировок в отчетах

Каждый , кто работает в 1С:Предприятие 8.2. хотя бы раз задавал себе вопрос — как сделать, чтобы отчеты выводились в болеее компактном, свернутом виде, т.е. по нужному уровню группировок, особенно, когда учет ведется по нескольким учреждениям, т.е. сводно.

Поиски в СКД свойства, «ответственного» за вывод нужного уровня группировок успехом не увенчались.

Значит, решение программное.

Само по себе оно достаточно простое — добавить в общий модуль ТиповыеОтчеты, в процедуру УниверсальныйМеханизмФормированияОтчета строчку кода:

Результат.ПоказатьУровеньГруппировокСтрок(УровеньГрупп); // добавлено.Где 0 - 1 уровень группировки

ПроцессорВывода.ЗакончитьВывод(); // существует

Но тут возникает проблема. Как управлять нужным уровнем группировок? Ведь не каждый день нужны сводные отчеты и тем более для всех пользователей.

Решение:

Добавим в предопределенные элементы плана видов характеристик НастройкиПользователей новую характеристику УровеньГруппОтчетов с типом Число.

В вышеуказанный модуль добавим код:

    //добавлено
УровеньГрупп=0;
УровеньГрупп=УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "УровеньГруппОтчетов");
Если УровеньГрупп=0 Тогда
Иначе
Результат.ПоказатьУровеньГруппировокСтрок(УровеньГрупп-1);
КонецЕсли;
//добавлено

//Обозначем завершение вывода (существующий код)
ПроцессорВывода.ЗакончитьВывод();

Теперь управление выводом уровня группировок осуществляется из программы через настройки пользователя.

По умолчанию:

0 — выводятся все группировки

1 — первый уровень

2 — второй уровень и т.д.

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *