Уровни группировок в отчете СКД в управляемых формах

Сверуть и развернуть группировки можно через контекстное меню, горячими клавишами, можно разместить соответствующие кнопки на форме отчета как описал mxm2, но мы пойдем другим, более информативным путем.

Прочитав публикацию, пришёл к выводу что добавление кнопок «свернуть/развернуть все группировки» не совсем то что нужно моим повелительницам дебета и кредита Smile. Выбор группировки через контекстное меню малоинформативен, в особенности когда группировок много. Мой вариант такой: разместить кнопки уровней группировок в командной панели, благо места там как правило предостаточно.

Внешний очет создан на основе стандарного отчета «Взаиморасчеты» из конфигурации 1С.УНФ 1.4.4.10. Код в модуле ФормаОтчета, анализирует поля группировок полей, если они есть, и управляет видимостью и заголовками кнопок группировок в командной панели.

Добавлен вариант с программым формированием кнопок, плюс при нажатии кнопки «уровни группировок«, можно быстро изменить уровни из тех что заданы в настройках.

15 Comments

  1. mxm2

    Это как раз то, что нужно: просто и наглядно.

    Reply ↓
  2. Ibrogim

    (0) Удобно. Но было бы классно, если бы кнопки уровней создавались программно (а не заранее 12 скрытых кнопок)

    Reply ↓
  3. Oleg_nsk

    В чем стрелочки такие красивые рисовал?

    Reply ↓
  4. Pralva

    (2) Ibrogim, подумаю над этим, эта версия создавалась буквально на коленке

    (3) Oleg_nsk, вот этим http://www.picpick.org/, давно уже юзаю

    Reply ↓
  5. Yashazz

    Можно даже в стилистике Win7 сделать, т.е. «Контрагент >> Договор >> Документы». Идея красивая, реализация же должна быть, несомненно, динамической, согласно группировкам, получившимся при построении конкретно текущего варианта СКД.

    Reply ↓
  6. mr zafod

    (2)(5)А что мешает реализовать? КомпоновщикНастроек.Настройки.Структура пробегаем и дергаем группировки без проблем. Просто если у Вас результат СКД содержит таблицы, диаграммы и сложные вложенные отчеты, то именованные группировки не будут актуальными и наоборот пользователя введут в ступор

    Reply ↓
  7. Yashazz

    (6) Ничто не мешает, об том и спик. А для сложных структур надо вводить обобщающие поименования.

    Reply ↓
  8. tormozit

    Действительно удобно и было реализовано в подсистеме «Инструменты разработчика» в инструменте «Консоль компоновки» еще 5 лет назад.

    Reply ↓
  9. okref

    Отлично. Для пользователей которые в основном отчеты три раза в неделю смотрят — вообще панацея.

    (8) А по поводу «давно реализовано», так в 1С столько всего реализовано, что если кто и знает ВСЕ возможное, то явно не конечный пользователь. У нас же правит бал принцип «Предложение рождает спрос».

    Пусть новооткрытый велосипед, зато полезно.

    Reply ↓
  10. mxm2

    (8) tormozit,

    еще 5 лет назад.

    УФ не позднее появились? (вроде платформа 8.2 появилась ближе к концу 2009 года)

    Reply ↓
  11. tormozit

    (10) Конечно УФ появились позднее. Но так как реализация рассматриваемой функции слабо привязана к УФ, то мне кажется это не существенно.

    Reply ↓
  12. Pralva

    Подобный способ управления группировками я искал с начала 2012, когда мигрировал с 7.7 на 8.2 сразу на УФ.

    Находил здесь и здесь, но это не совсем то что нужно было мне. А вот статья от mxm2 и комментарий в ней от seermak подтолкнули меня в нужном направлении.

    (8) Порылся в интернете, да действительно существует такой инструмент, скачал, очень интересно, буду разбираться. Жаль он не попался мне раньше.

    Reply ↓
  13. wunderland

    ВнешнийОтчетВзаиморасчеты.erf (который простой) реквизит формы «Отчет» имеет тип данных «Строка», поэтому вылазит ошибка… нужно поменять на (ВнешнийОтчет.ВнешнийОтчетВзаиморасчеты)

    и в тексте модуля формы

    ЭтаФорма.СкомпоноватьРезультат();

    пришлось поменять на

    Результат.Очистить();

    ДанныеРасшифровки = Неопределено;

    РеквизитФормыВЗначение(«Отчет»).СкомпоноватьРезультат(Результат, ДанныеРасшифровки);

    без этого не заработало, а так, прикольно, мне понравильсь

    PS может я что-то не так делал

    Reply ↓
  14. vika64

    спасибо, пригодилось очень!

    Reply ↓
  15. 7OH

    А можно сделать, чтобы это работало и с

    ЭтаФорма.СкомпоноватьРезультат(РежимКомпоновкиРезультата.Фоновый);
    
    Reply ↓

Leave a Comment

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