gifts2017

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

Опубликовал valkar (valkar) в раздел Программирование - Работа с интерфейсом

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

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

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

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

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

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

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

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

Решение:

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

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

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

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

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

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

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

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

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

См. также

Подписаться Добавить вознаграждение

Комментарии

0. valkar (valkar) 07.07.11 08:32
Вывод нужного уровня автогруппировок в отчетах

Перейти к публикации

1. Serg Eli (elizarovs) 07.07.11 08:32
Хитрость в том, что в разных отчетах нужены по умолчанию разные уровни группировок, при чём не зависимо от пользователя. Логичнее было бы хранить уровень группировок в настройках отчета или в реквизитах формы. На практике этот вопрос бывает существенным редко, поэтому предложенное автором решение впоне может пригодиться.
2. valkar (valkar) 07.07.11 08:51
Можно,конечно,хранить уровень группировок в параметрах отчета.В настройках пользователя проще. В некоторых организациях ценятся именно прозрачные, предельно простые решения.
3. Игорь Фрунзэ (gorodok11) 07.07.11 11:03
Как прикрутить к Универсальному отчету?
4. valkar (valkar) 09.07.11 14:54
Не пробовал реализовывать, но думается решение такое. Добавляется реквизит типа число "УровеньГруппОтчетов" в отчет.
Чтобы "прикрутить" к конкретному отчету, надо создать в СКД "УровеньГруппОтчетов" как условие, и передать в отредактированную вышеуказанным способом Процедуру "УниверсальныйМеханизмФормированияОтчета" как параметр.
Соответственно предопределенный вид реквизита в Плане видов характеристик уже никчему.
Недостаток такого решения - нужно "лопатить" каждый отчет.
5. ssn5810 (ssn5810) 13.07.11 14:00
правой кнопкой по левому краю отчета и ВСЕ !!!!!
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа