Группировка данных в таблице значений (1С:7.7)

Публикация № 146740

Разработка - Работа с интерфейсом

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

И так, в 1С 7.7 часто бывает, что данные для отчета уже собраны в ТЗ и их необходимо вывести в табличный документ с группировками по значениям нескольких колонок (например, Контрагент и Договор - просто классика))). И вот каждый раз пишется нудный цикл перебора строк, вывода нужных секций - скучно... А если еще и итоги по числовым колонкам выводить перед группой строк, их образующих - еще нуднее. Тоска. На очередном отчете (как долго я это терпел!!! помоги мне Ктулху) я сломался и попытался написать некий в меру универсальный механизм, преобразующий исходную ТЗ к удобному для вывода виду.

Вот выкладываю что вышло - файлик отчета с волшебной функцией

глОбработатьТаблицуЗначенийОтчета(ТаблицаЗначенийОтчета, СписокКолонокДляГруппировки, СписокСуммируемыхКолонок = "", СписокКолонокДляОтбораМаксимума = "", СписокКолонокДляОтбораМинимума = "")

и магической процедуркой

глРекурсивноЗаполняемТаблицуОтчета( Запрос, ТаблицаРезультат, СоответствиеРеквизитовКолонкам, СписокКолонокДляГруппировки, КоличествоГруппировок, Знач СчГруппировок, СчСтрокТЗ)

- названы они через "гл", т.к. у меня-то сидят в глобальном модуле. Смотрите, короче, что и как).

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

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

Наименование Файл Версия Размер
Отчет

.ert 97,00Kb
08.08.12
19
.ert 97,00Kb 19 Скачать
МДшка с документом

.MD 76,50Kb
08.08.12
4
.MD 76,50Kb 4 Скачать
МДшка и отчет в архиве

.zip 459,74Kb
14.08.12
12
.zip 459,74Kb 12 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. kompas-dm 776 08.08.12 16:03 Сейчас в теме
(0) Нет, "боян" здесь :
1СРР, Класс "ИндексированнаяТаблица".
Группировать, индексировать, и т.д.
Прикрепленные файлы:
IndexedTable.html
2. Lancelot-2M 103 08.08.12 16:58 Сейчас в теме
Признаюсь никогда не сталкивался с 1С++
3. TrinitronOTV 6 14.08.12 05:27 Сейчас в теме
а что, нельзя было что ли в один архив оба файла сунуть?
4. Lancelot-2M 103 14.08.12 09:55 Сейчас в теме
5. Dolly_EV 267 16.08.12 07:20 Сейчас в теме
Автор, кури в сторону ИТЗ (ИндексированнаяТаблица)
6. ander_ 17.08.12 10:02 Сейчас в теме
Плюсанул за мысль в правильном направлении :)
а для вывода на печать есть еще класс ADirks'а ИтогиПоГруппировкам. Можно рассмотреть в качестве альтернативы в случае простого отчета но с очень большим количеством данных. В этом случае ИТ может свалить 1с из-за нехватки памяти ( ИТ очень ее любит :), а 1с77 не любит тех, кто любит много памяти ). Упомянутый выше класс помогает вывести таблицу очень шустро на печать за один проход с подсчетом итогов!
7. ADirks 184 12.09.12 14:45 Сейчас в теме
А для тех кто любит штатно есть ещё ГруппировкаТЗ http://infostart.ru/public/15487/
8. Lancelot-2M 103 13.09.12 16:57 Сейчас в теме
А по ссылке то обработка для группировки ТЗ почти на тысячу строк и только суммировать умеет... Нечто подобное, но гораздо менее вразумительное, оставил мне предшественник в ряде отчетов (он в глоб.модуль не вставлял - таскал из отчета в отчет ряд процедур и функций) - именно сложность его реализации подтолкнула меня написать свою пару сотен строчек). Правда у меня происходят две записи в базу, но, при использовании патча, устанавливающего таймаут между попытками заблокировать данные, совершенно не критично.
Оставьте свое сообщение

См. также

Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7 Промо

Универсальные функции Практика программирования v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Я очень часто использую группировку данных по полю и полям, как в восьмерке, так и в семерке. Это аналог запроса Итоги, но там строится дерево, а в большинстве случаев нужны "плоские данные". Да и делать запрос в большинстве случаев более накладный процесс, чем работа с ТЗ. Все достоинства такого подхода приведены на примере метода универсального списания по париям, а так же отбора строк в ТЗ по произвольному условию. Для 7.7 еще отчеты сравнения двух ТЗ. Работая с различными базами для упрощения сравнения номенклатуры, или как аналог джойнов(join), сделал сравнение двух таблиц значений по нескольким полям. Пока группировки полей должны быть уникальны. Часто приходится искать дубли, для универсального поиска есть ДублиВТзПоПолю и пример в Тест.ert.

1 стартмани

25.06.2015    28098    3    Serginio    1    

Выбор цвета для 1С 7.7

Работа с интерфейсом v7.7 1cv7.md Абонемент ($m)

Простая и удобная внешняя обработка для выбора цвета без применения внешних компонент.

1 стартмани

09.06.2020    1464    2    vap_pig    5    

Диалоги выбора периода для 1С версий 8.3 и 7.7

Работа с интерфейсом v7.7 v8 Абонемент ($m)

Представлены два диалога для выбора интервала дат по календарю в составе демонстрационных конфигураций 1С8.3 и 1С7.7

1 стартмани

24.01.2017    17548    17    romasna    7    

Как создать индикатор в 1С:Предприятии 7.7

Универсальные функции Работа с интерфейсом v7.7 1cv7.md Россия Абонемент ($m)

В статье дано описание создания индикатора на форме в среде разработки 1С:Предприятие 7.7 исключительно типовыми средствами.

1 стартмани

27.09.2016    12680    2    HAMMER_59    6    

Класс 1С++ для программного добавления изображений/текста/ШК в таблицу Промо

Работа с интерфейсом openconf v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Необходимо добавить в сформированную таблицу изображения/текста/ШК (81 тип ШК) с прозрачным фоном? Вставить фирменный логотип? Быстро организовать оформление документов в корпоративном стиле? Данная разработка поможет в этом!

1 стартмани

03.06.2012    227705    81    zarius    112    

Полноценное использование Drag&Drop в 1С 7.7

Работа с интерфейсом Разработка внешних компонент v7.7 1cv7.md Абонемент ($m)

Несмотря на то, что кое-какие функции Drag&Drop были заложены авторами 1cpp, моё дополнение позволяет сделать этот функционал законченным. Дело в том, что средствами 1cpp можно было таскать файлы ТОЛЬКО в 1С, а из 1С - невозможно. Теперь Вы можете сделать работу с файлами на порядок удобнее и эффективнее.

1 стартмани

19.09.2016    14278    14    DasIsFantastich    4    

Пилотный проект ФСС. Заявление, реестр, опись, выгрузка в формате xml версия 1.7.2.

Практика программирования Работа с интерфейсом Зарплата Зарплата v77::Расчет 1С7:ЗиК Россия ФОМС, ПФ, ФСС Абонемент ($m)

Типовые объекты конфигурации не изменены, поэтому подходит для любого релиза ЗиК.

1 стартмани

29.07.2016    11938    21    Cvetic    1    

Запуск php програм в 1С 7.7

Универсальные функции v7.7 1cv7.md Абонемент ($m)

Запуск программ PHP на сервере по прямому адресному запросу. Дополнительная возможность - передавать параметры методом GET-запросов.

1 стартмани

15.09.2014    7133    3    kwadro    1    

Сравнение и объединение диалогов форм МД файла Промо

Инструментарий разработчика Работа с интерфейсом v77::ОУ v77::БУ v77::Расчет 1cv7.md Абонемент ($m)

Обработка анализирует диалоги форм двух мдшников и показывает изменения в них в удобоваримом виде. Авmop: Peуmoв Дмumpuй, e-mail: dimoff66@mail.ru, icq: 177067865 Автору огромное спасибо!

1 стартмани

09.09.2008    26027    20    WiseSnake    27    

"Магический батон" или еще одна попытка сделать "волшебную кнопку"

Универсальные обработки Работа с интерфейсом v7.7 1cv7.md Абонемент ($m)

Очень часто, в процессе работы с 1С, у пользователя может возникнуть желание получить какую-либо информацию по данным, которыми он оперирует в данный момент. Например, забивая документ отгрузки, хочется посмотреть взаиморасчеты с контрагентом, или находясь в справочнике номенклатуры посмотреть движения по ней и т.д. В типовых конфигурациях с такими хотелками не очень то развернешься. К примеру про взаиморасчеты с контрагентом, это надо ползти в меню "Отчеты"->"Специализированные"->"Акт сверки", затем в самом отчете, как минимум, необходимо опять выбрать нужного контрагента и только после этого заветная "циферка" порадует глаз пользователя. Некоторые моменты всё же реализованы, например в типовой "Бухгалтерии", в формах списка справочника "Номенклатура", есть в привязанных печатных формах отчеты: "Оборотно-сальдовая ведомость" и "Анализ субконто", но в них также приходится что-либо выбирать/менять перед формированием. Или довольно удобная штука - механизм внешних печатных форм, но не для всех объектов он реализован (к примеру документ "Поступление ТМЦ" обделен такой возможностью). Добавить подобные вещи конечно можно, но для этого придется править конфигурацию и при обновлении учитывать все эти правки...

1 стартмани

21.08.2014    10708    2    SvSoft    4    

Перевод десятичного числа в HEX, BIN, OCT, _IdToStr и другие системы

Инструментарий разработчика Практика программирования Универсальные функции v7.7 1cv7.md Абонемент ($m)

Два алгоритма перевода десятичного числа в другую систему исчисления от 2 до 36 только средствами 1С (без ВК)

1 стартмани

05.06.2014    13944    8    kos    3    

1C7.7 парсер JSON

Универсальные функции v7.7 1cv7.md Россия Абонемент ($m)

РАБОТОСПОСОБНЫЙ парсер JSON встраивается в глобальный модуль в виде 3х функций. Для достижения положительного результата активно используется regexp.

1 стартмани

23.01.2014    17158    54    pit201201    16    

Вывод и перенумерация отчета с заранее неизвестным количеством группировок. Промо

Практика программирования Работа с интерфейсом openconf v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

1C v.7.7 Пример вывода отчета с заранее неизвестным количеством группировок, с возможностью изменять уровень вложенности группировок из списка значений на форме, с нумерацией конечного отчета, с выводом структуры вложенности группировок (с помощью внешней компоненты Йоксель - http://yoksel.net.ru/Hotfixes). В приложенном файле показан пример вывода отчета из сформированной таблицы значений. Код я старался закомментировать как можно подробней. Хоть семерка и вымирающая платформа, думаю еще есть люди, которые только начинают ей заниматься, и им это может пригодиться.

1 стартмани

21.03.2012    27292    6    unichkin    11    

Компонента "Быстрый регистр" для 1С 7.7 (на прямых запросах SQL 1c++)

Универсальные функции v7.7 Абонемент ($m)

Ускорение операций с регистрами 1с 7.7 через объектную модель, за счет доступа через прямые запросы SQL (1c++). Существует возможность добавления произвольных подзапросов соединений c другими таблицами и отборов WHERE, гибкой настройки вывода полей в результат

1 стартмани

13.01.2014    12618    2    victor_goodwill    7    

Поворот картинки

Практика программирования Работа с интерфейсом v7.7 v8 Абонемент ($m)

Иногда возникает необходимость повернуть картинку из 1С.

1 стартмани

16.12.2013    16975    17    bborisko    14    

Tray Informer

Инструментарий разработчика Разработка внешних компонент Работа с интерфейсом v7.7 v8 Россия Абонемент ($m)

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

1 стартмани

04.09.2013    26214    6    O-Planet    78    

1C.Net:Предприятие – использование богатых графических возможностей .Net Framework Промо

Работа с интерфейсом v7.7 v8 1cv8.cf 1cv7.md Россия Абонемент ($m)

Windows Presentation Foundation (WPF) – презентационная система нового поколения для построения клиентских приложений Windows с ошеломляющими возможностями. Технология WPF основана на независимой от разрешения системе визуализации, построенной на векторной графике и использующей преимущества современного графического оборудования. В составWPF входят следующие средства: язык описания Extensible Application Markup Language (XAML), элементы управления, механизм привязки данных, средства разметки, 2d- и 3d-графика, анимация, стили, шаблоны, документы, медиа-элементы, текст и средства оформления текста. Презентационная система входит в состав .Net framework и доступна для использования внутри 1С:Предприятие средствами Elisy .Net Bridge, начиная с версии 3.2. Windows Presentation Framework полностью заменяет и многократно превосходит устаревающую технологию WinForms.

1 стартмани

19.05.2010    26926    7    Elisy    22    

Удобное меню для выбора периода для 1С 7.7

Работа с интерфейсом v7.7 Абонемент ($m)

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

1 стартмани

31.08.2013    16176    3    Tavalik    1    

1С7: Галерея изображений для любого справочника

Инструментарий разработчика Универсальные обработки Работа с интерфейсом v7.7 1cv7.md Абонемент ($m)

В публикации представлена конфигурация "Галерея изображений". В конфигурации показан метод связки любого элемента любого справочника с изображением, хранящемся в внешнем файле в галерее ИБ. - Хранение изображений в структуре каталогов, сходной с иерархией элемента; - Использование Active-x броузера для отображения связанного рисунка; Используемые компоненты: 1SQLite, 1CPP, Formex. Используемые классы: УправлениеФормой.Привязки (из набора классов http://www.1cpp.ru/forum/YaBB.pl?num=1273512019)

1 стартмани

10.07.2013    19743    1    unichkin    11    

Палитра

Производство готовой продукции (работ, услуг) Работа с интерфейсом Производство готовой продукции (работ, услуг) v7.7 1cv7.md Абонемент ($m)

Тестовая база в 1Cv77, которая на базе внешней компоненты FormEx.dll показывает соответствие RGB-кода и цвета на экране. Перебирает все 16 млн цветов.

1 стартмани

20.05.2013    6948    0    KD    5    

Небольшое украшение для 1С-Предприятие-7.7 Промо

Работа с интерфейсом v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Поздравляю всех девушек с 8 марта! Желаю им цвесть-расцветать и радовать глаз всех окружающихю По поводу такого случая предлагаю небольшое украшение для 1С-Предприятие-7.7 + тематичекую подборку слайдов.

1 стартмани

28.12.2011    21869    4    yuraos    23    

BgInfo для 1С 7.7

Работа с интерфейсом Администрирование данных 1С v7.7 1cv7.md Россия Абонемент ($m)

Класс для получения параметров сессии (включая данные терминального сервера и клиентской машины) и их вывода фоном в окне 1С.

1 стартмани

29.04.2013    12786    2    sournk    12    

1Cv77. Исправление поведения множественного фильтра (МФ) типовых отчетов в части сохранения/восстановления настроек.

Практика программирования Работа с интерфейсом v7.7 1cv7.md Россия Абонемент ($m)

В большинстве российских типовых конфигураций для 1Сv7.7 (ТиС, ПУБ, Комплекс и др.) в отчетах используется множественный фильтр (МФ). Впервые он появился, более 10 лет назад, еще в ТиС 8.7, придя на смену МФ ТиС 8.6. С тех пор, аж до сего дня (24.03.2013) типовой механизм МФ содержит глюк связанный с восстановлением сохраненных настроек, хотя разработчики поют нам об обратном.

1 стартмани

26.03.2013    10823    0    piloturs    8    

Изменение вида контрагента; предотвращение ввода неверного вида контрагента; мониторинг заполнения полей контрагента

Работа с интерфейсом v77::ОУ 1С7:Комплекс 1С7:ТиС 1С7:ПУБ Россия Абонемент ($m)

При проектировании конфигурации Торговля и Склад 7.7 фирма 1С сделала ошибку интерфейса, установив по умолчанию одно из значений ВидКонтрагента в ЮрЛица. В результате пользователи вводят подавляющее большинство контрагентов как юрлицо. Проблема осложняется тем, что эти ошибки проблематично отловить и исправить в пакетном режиме. Данная несложная модификация элемента справочника контрагента и списка контрагентов предназначена для - предотвращения ошибочного указания вида контрагента на этапе ввода; - ручного исправления вида контрагента путем изменения вида контрагента; - мониторинг правильности указания вида контрагента и правильности указания ИНН прямо в списке контрагентов с помощью пиктограмм. Подробности см в описании ниже ↓

1 стартмани

17.02.2013    14295    2    rufox    1    

Гиперссылки в диалогах форм 1С:Предприятие-7.7 Промо

Работа с интерфейсом v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Правдоподобная имитация гиперссылок при двойном клике мышью на надписях в диалогах форм 1С:Предприятие-7.7

1 стартмани

29.12.2011    24299    5    yuraos    16    

Kill1CLogo

Работа с интерфейсом v7.7 1cv7.md Беларусь Абонемент ($m)

Программа, которая "аккуратно" обрезает желтую квадратную заставку 1С 7.7, но не всю, а оставляет полосу со строкой состояния. При работе по терминалу этот квадрат ОООчень долго отрисовывается и тормозит работу.

1 стартмани

08.02.2013    10206    1    UMM    5    

Универсальная версия новогоднего поздравления на 1С:7.7

Работа с интерфейсом v7.7 Абонемент ($m)

Без использования агентов Microsoft и дополнительных библиотек

1 стартмани

22.12.2012    10140    0    pt_olga    9    

Универсальный 1С++ класс Faval для организации часто используемых элементов справочников и быстрого интерактивного доступ к ним

Работа с интерфейсом v7.7 1cv7.md Абонемент ($m)

Чтобы организовать быстрый доступ в формах списков или отчетах к часто используемым элементам справочников конфигурации достаточно при начале работы создать экземпляр класса, указав ему какие справочники мониторить. В формах списках достаточно разместить кнопку, по которой будет выполнятся переход к выбранному пользователем элементу из списка часто используемых. В отчетах можно связать кнопку со списком часто используемых элементов с реквизитом формы.

1 стартмани

27.11.2012    68083    0    sournk    10    

Обработка проверки номера сотового телефона

Универсальные обработки Классификаторы Универсальные функции v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Обработка предназначена для проверки номера сотового телефона по базе def номеров РФ по данным rossvyaz.ru

1 стартмани

05.10.2012    18021    2    BPAvel    8    

Почтовый клиент для скачивания вложений с почты 1С:7.7

WEB Универсальные функции v7.7 1cv7.md Абонемент ($m)

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

1 стартмани

15.08.2012    14406    2    serko8547    3    

Редактор дат периода

Инструментарий разработчика Работа с интерфейсом openconf v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Для того чтобы обозначить (выбрать) период приходиться пользоваться встроенными возможностями 1С или добавлять в диалог дополнительные возможности, кнопочки, описывать в модулях процедуры и функции... С помощью данной обработки Вы можете интегрировать удобства выбора дат периода посредством одной команды-вызова!

1 стартмани

01.08.2012    8922    0    6arop    1    

Календарь на справочнике

Работа с интерфейсом v77::ОУ v77::БУ 1С7:Бух 1С7:ТиС Россия Абонемент ($m)

Календарь на справочнике

1 стартмани

05.06.2012    6192    0    trama    4    

Набор иконок 1С 7.7/8.x

Работа с интерфейсом v7.7 v8 1cv8.cf 1cv7.md Россия Абонемент ($m)

Набор иконок 1С 7.7/8.x в формате Vista/Windows 7.

1 стартмани

05.06.2012    63547    77    gorenski    16    

"Сверхбыстрый" многофункциональный Прогресс-Индикатор в 1с7.

Работа с интерфейсом v7.7 1cv7.md Абонемент ($m)

При каждом выводе на экран Индикатор рассчитывает следующий шаг вывода, поэтому не замедляет сам процесс (примерно в 10 раз быстрее известных мне). Вывод в заданную текстовую строку или в поле "Состояние()" (сам решает куда). Работает и при неизвестном полном количестве шагов (просто передаем номер шага). В ходе процесса Индикатору можно передавать новые заголовки (2 параметром). Выводит Заголовок, номер шага, %, прошедшее время, прогнозируемое время.

1 стартмани

04.06.2012    12393    1    newold2    9    

Универсальные функции Даты-Времени в 1Cv7

Универсальные функции v7.7 1cv7.md Россия Абонемент ($m)

Представлены 4 основные функции и 2 вспомогательные. Входом функций являются Дата и Время как в стандартном, так и форматированном представлении. На закладке "Функции" дана возможность проверить работу функций. Представлен альтернативный выбор Даты с помощью Календаря (кн. "Выбор").; На закладке "Календарь" показано, как просто можно создать и распечатать календарь на любой(!) год.

1 стартмани

22.05.2012    18028    9    newold2    13    

Интерфейс для удаленного рабочего стола для Планшета 7'

Работа с интерфейсом v77::ОУ 1С7:ТиС Россия Абонемент ($m)

Интерфейс для удаленного рабочего стола для Планшета 7'.

1 стартмани

16.05.2012    8093    2    volsh77    2    

Расчет CRC32

Универсальные функции v7.7 v77::ОУ v77::БУ v77::Расчет 1cv7.md Абонемент ($m)

Расчет CRC32 без использования внешних компонент

1 стартмани

26.04.2012    12151    10    GAlexis    17    

Выяснение ID'а объекта в базе SQL по его внутреннему идентификатору 1С

Практика программирования Универсальные функции openconf v77::БУ 1cv7.md Абонемент ($m)

Обработка позволяет узнать ID в базе SQL конкретного агрегатного объекта конфигурации (метаданных) 1С 7.7.

1 стартмани

27.03.2012    28628    6    born85    41    

Прогрессбар для конфигураций 7.7

Работа с интерфейсом Универсальные функции v77::ОУ v77::БУ v77::Расчет 1cv7.md Абонемент ($m)

Простой прогрессбар для конфигураций 7.7. Реализован штатными средствами, работает с любым видом учета

1 стартмани

11.02.2012    7870    0    Gagarick    3    

Рабочий стол для 7.7

Работа с интерфейсом v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Рабочий стол для 1С 7.7. Можно интерактивно добавлять/удалять кнопки.

1 стартмани

28.12.2011    10583    4    fly    17    

Просмотр значений реквизитов объектов 7.7

Практика программирования Работа с интерфейсом v7.7 1cv7.md Россия Абонемент ($m)

Просто просмотривает значения реквизитов объекта (Справочника, Документа) для 7.7 (удобно для отладки правил обмена), к сожалению, не нашел ничего такого для семерки, пришлось написать, в последней редакции добавлена возможность просмотра владельцев, родителей, и истории выбора реквизитов.

1 стартмани

06.12.2011    15034    3    mxm2    13