Свертка и группировка таблицы значений для отчета

15.06.09

Разработка - Инструментарий разработчика

В ходе оформления нашел несколько подобных решений. В своей разработке ориентировался на:
- скорость выполнения;  
- нумерация группировок;
- добавление новых колонок в ТЗ, делающих процедуру перебора строк ТЗ     аналогичной перебору строк запроса или записей справочника ("Уровень", "Группа","Наименование" и пр.).

Скачать файлы

Наименование Файл Версия Размер
VTGroup.zip
.1175071654 19,78Kb
971
.1175071654 19,78Kb 971 Скачать
Обработка Свертка и группировка таблицы значений для отчета.

Подобные решения:

http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=3059
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=3454).
//infostart.ru/projects/275
//infostart.ru/projects/271
//infostart.ru/projects/664

Выкладываю свое решение, возможно, оно будет кому-нибудь полезно.

При разработке ориентировался на:
- скорость выполнения;
- промежуточное решение, - т.е. только подготовка ТЗ к процедуре вывода в таблицу.
- макс. количество группировок (10) и суммируемых (98) колонок регулируется размерностью массива
- многоуровневая нумерация группировок (как вложенный нумерованный список)
- добавление новых колонок в ТЗ, делающих процедуру перебора строк ТЗ аналогичной перебору строк запроса или записей справочника.

Открытие VTGroup.ert без параметра - пример обработки ТЗ на форме.

Варианты применения:

Вариант 1. Обработка ТЗ через открытие VTGroup.ert с параметром.
- Скопировать VTGroup.ert в подкаталог EXTFORMS каталога базы данных или
- Вставить с тем же именем в обработки или отчеты конфигурации
- Параметр формы - список значений, как заполнять смотреть в Использование_через_ОткрытьФорму.txt

Вариант 2. Использование процедуры глТЗСверткаИГруппировка(<ТЗ>,<ГруппКолонки>,<СуммКолонки>,<УдалятьГруппКолонки>);
в программном коде, для этого:
- Скопировать из VTGroup.ert в программный модуль / глобальный модуль блоки (тот же текст в Скопировать_в_Модуль.txt):
ОБНОВЛЕНИЕ СТРОКИ СОСТОЯНИЯ (если еще не скопирован) и
СВЕРТКА И ГРУППИРОВКА ТЗ (по аналогу перебора справочника)

Примечание: Новые добавляемые колонки в обработанную ТЗ:

_Наименование - строковое представление текущей группировки (обход группировок подобен обходу группировок в запросе / перебору эл-тов и групп в справочнике)
_Объект - значение текущей группировки
_Группа - число, 0 (для последней группировки, типа, "элемент") или 1 (для всех остальных группировок, типа "группа")
_Уровень - номер текущей группировки, соответствует положению колонки в списке групп. колонок, для последней записи "ИТОГО" равен нулю
_Индекс - строковый "индекс", представляющий собой нумерованный список (комбинация из №№ пп всех группировок, например, 1. 1.1. 1.2.)
_ГорИтог - (горизонтальный) итог по строке ТЗ для всех заданных полей суммирования
_Счётчик - количество записей ТЗ, приходящихся на данную группировку

См. также

Консоль запросов

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Консоль запросов к базе SQL, не требующая внешних компонент

10 стартмани

29.04.2015    21558    54    Gvozdod    8    

14

StartManager 1.4 - Развитие альтернативного стартера

Инструментарий разработчика Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Очередная редакция альтернативного стартера, являющегося продолжением StartManager 1.3. Спасибо всем, кто присылал свои замечания и пожелания, и тем, кто перечислял финансы на поддержку проекта. С учетом накопленного опыта, стартер был достаточно сильно переработан в плане архитектуры. В основном сделан упор на масштабируемость, для способности программы быстро адаптироваться к расширению предъявляемых требований (т.к. довольно часто просят добавить ту или иную хотелку). Было пересмотрено внешнее оформление, переработан существующий и добавлен новый функционал. В общем можно сказать, что стартер эволюционировал, по сравнению с предыдущей редакцией. Однако пока не всё реализовано, что планировалось, поэтому еще есть куда развиваться в плане функциональности.

1 стартмани

23.04.2014    165680    1864    Alexoniq    1596    

496

Tray Informer

Инструментарий разработчика Платформа 1С v7.7 Платформа 1С v8.3 Россия Абонемент ($m)

Согласитесь, что окно стандартное сообщений в 1С иногда приносит больше неудобств, чем пользы. И тем более разные "Предупредить"... Что с этим окном только не делают! Его отцепают от формы, делают маленьким, умудряются спрятать за границы экрана. А потом звонят программистам с претензией, что документ почему-то не проводится, отя ничего и не пишет. У вас такого не было? А вот у нас было и не раз )))

1 стартмани

04.09.2013    32877    61    O-Planet    78    

49

Изменение структуры баз 1С 7.7 без долгой реструктуризации. Часть 1. Справочники

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

На днях встретил вопрос на форуме про возможность внесения изменений в конфигурацию без долгого сохранения в рабочей базе большого объема. Вот решил поделиться опытом, как это делал я. База у нас была объемом порядка 120 Гб. К базе обращался сайт в режиме 24/7, поэтому важно было быстро сохранять изменения и желательно без последующего монопольного запуска для восстановления индексов и процедур и без отключения пользователей от базы. Это первая часть статьи и посвящена она справочникам. С одной стороны - это самый простой объект, с другой стороны, именно про справочник спрашивалось на форуме. Если статья будет востребована, то я напишу аналогичные про документы, регистры и может еще что.

1 стартмани

13.08.2013    21197    Reptile    5    

35

v7.7 1CDialogControls: Инструмент в помощь разработчику на 7.7.

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Давным давно, когда я еще плотно писал на 7.7 работа с формами была мучительной и неудобной. Приходилось каждый элемент выкладывать, выравнивать на форме ручками, прописывать код в модуле. Иногда при разработке очередной формы приходила в голову мысль: "а где-то я уже похожее делал..." и начинался мучительный поиск подходящего кода в своих запасах........

1 стартмани

21.02.2013    18029    35    MarSeN    14    

16

[Разработчику] Любая таблица значений в OLAP

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Анализируем различные данные в 1С, используя OLAP-технологии со всеми прелестями. Т.е. наглядное отображение данных, быстрые расчеты, горизонтальные и вертикальные группировки любой вложенности, удобная фильтрация, Drag'n'Drop и ещё много приятных вещей от MS. Обработка на входе принимает практически любую таблицу значений (ТЗ в которой колонкам указаны типы значений, строка, число и т.п.), на выходе имеем на форме 1С сводную таблицу и график по этой ТЗ, с которой работаем, как и в Excel со сводной таблицей и диаграммой. Взял за основу разработку «OLAP Анализ счёта» ( http://infostart.ru/public/14964/ ) от JohnyDeath и переделал под любую ТЗ. Опционально используется «Прогресс бар для 1С 77» (http://infostart.ru/public/14061/ ) от Gmix.

1 стартмани

21.12.2012    36102    51    venger    7    

23

Библиотека кода 1С 7.7 (накопленная за 8 лет)

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Весь код на 1С 7.7, собранный для повторного использования за 8 лет работы.

10 стартмани

25.11.2012    34956    248    adhocprog    51    

70
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Artemius 31.07.09 00:37 Сейчас в теме
Отличная обработка!
Заметил только один мелкий минус - если есть несколько элементов справочника к примеру контрагентов с одинаковым наименованием то их корректно не группирует. То есть сначала группирует только несколько "первых" контрагентов, потом несколько "вторых", потом опять "первых" и тд. То есть данные вроде как корректные, а группировок получается несколько "первых" и несколько "вторых". В средину не лез.
2. Shaman100M 1150 31.07.09 09:54 Сейчас в теме
(1) На словах не очень понятно. Если можно, скиньте посмотреть сформированную табличку mxl на Shaman100mCобакаinboxТочкаru
3. shoa77 18.09.11 10:31 Сейчас в теме
4. viacheslav.panov 08.11.11 13:24 Сейчас в теме
блин, буквально на днях понадобилось подобная сортировка ТЗ для вывода в отчета, промучался и написал сам нечто подобное, конечно, не настолько универсальное... и сейчас абсолютно случайно наткнулся на вашу обработку, обидно, да)) плюсую и попозже обязательно посмотрю
5. EvgeniuXP 25.05.12 21:33 Сейчас в теме
Хорошая вещь, беру. Итоги можно выводить и через обычный запрос, если структура базы данных хорошо спроектирована :) но вот в прямых запросах итоги по ирерхии нет :( жаль... поэтому пригодится! Спасибо автору.
6. Jkey 14 04.03.13 17:46 Сейчас в теме
Нет времени писать подобное. Буду использовать.
Оставьте свое сообщение