0. CheBurator 3410 08.05.07 04:07 Сейчас в теме

[NotaBene] Универсальный отчет по таблице значений

1C v.7.7 Готовое решение. Не требует настройки. Не требует допрограммирования. Данная обработка решает часто встречающуюся задачу вывода в "красивом" виде таблицы значений (полученной, например, из запроса). Поддерживается произвольное группирование данных, отключение/включение группировок, в т.ч и создание "шахматок" (типа "продажи понедельно"). Обработка может использоваться как и в отладочных целях (для нормального просмотра ТЗ), так и в составе вполне рабочих отчетов. По крайней мере, я неоднократно клиентам данную обработку ставил вместо того, чтобы каждый раз писать замороченные выводы данных. И клиенты довольны, и мне - проще...

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. CheBurator 08.05.07 04:07 Сейчас в теме
Все - бяки!
100 раз качнули - хоть один бы коммент оставил...
dreadlord; Fox86; +2 Ответить
2. DobroProd 14.05.07 12:47 Сейчас в теме
в комплексной при открытии
Для сч = 1 По ТЗПолнаяОригинал.КоличествоКолонок() Цикл
{C:\DOCUMENTS AND SETTINGS\ALEX.DOBRO_PROD\РАБОЧИЙ СТОЛ\BVK_OTCHETPOTZ.ERT(325)}: Значение не представляет агрегатный объект (КоличествоКолонок)
3. CheBurator 14.05.07 13:25 Сейчас в теме
4. CheBurator 14.05.07 23:35 Сейчас в теме
проблема, скорее всего - в ненадлежащей передаче параметров при вызове обработки - копать в эту сторону.
на досуге придется вставить проверку на прием параметров...
5. soba 11.07.07 17:16 Сейчас в теме
Очень понравилась :) куча отчетов было таких, что вывод только из таблиц, а тут группировки по ним готовенькие. спасибо :)
6. CheBurator 11.07.07 17:37 Сейчас в теме
Всегда пожалуйста.
Приходите еще.
Заказывайте и спрашивайте про прочие нужные вам "полезности"
dreadlord; +1 Ответить
7. Just 31.08.07 06:27 Сейчас в теме
8. Fox86 21.09.07 12:32 Сейчас в теме
Спасибо что выложил эту прогу. но боюсь это не совсем то, что мне надо
9. Шёпот теней 1764 04.10.07 09:10 Сейчас в теме
Господин, Che Burashka... Вы и так впереди планеты всей... и вызываете уважение... УРА!
dreadlord; +1 Ответить
10. Fixator 04.10.07 11:14 Сейчас в теме
Хоть и не модератор FIDO, но плюс Вам поставлю...
11. CheBurator 04.10.07 13:38 Сейчас в теме
Спасибо. Начинаю офигевать от собственной офигенности... Качают много всяких моих разработок, но вопросов задают мало... или написал так что все понятно/большинстов устраивает или посмотрели и бросили.. даже ругать не стали... ВАШИ МНЕНИЯ ПО ЭТОМУ ПОВОДУ?
dreadlord; +1 Ответить
12. astonvilla 234 04.10.07 14:46 Сейчас в теме
Я скачал, нет времени посмотреть. Гляну, обязательно отпишусь и оценю :))
13. CheBurator 06.02.08 02:15 Сейчас в теме
вот здесь есть достойное продолжение для классоманов http://infostart.ru/projects/1658/
14. oskar 17.06.08 08:54 Сейчас в теме
15. CheBurator 17.06.08 10:49 Сейчас в теме
(14) А то! То что лежит у мну в профайле - испытано и одобрено лично мною и используется в моей повседневной работе, так что крупных косяков - нет...
16. бубух 29.07.08 16:51 Сейчас в теме
гранаты ваши не моёй системы. моя ругается и ничго делать не хочет. жаль.
17. CheBurator 29.07.08 17:09 Сейчас в теме
(16) не надо ля-ля.. все работает!
как конкретно ругается?
покажите код, который готовит и передает параметры на вход этой обработки...?
18. бубух 30.07.08 12:46 Сейчас в теме
(17) выдает:
ТЗраб.Сортировать("ИмяГруппировки");
{D:\BASES\БАЗЫ ГЛАВБУХА\КОПИЯ БД БУХ ТЕКУЩАЯ\EXTFORMS\УНИВЕРСАЛЬНЫЙ ОТЧЕТ ПО ТАБЛИЦЕ ЗНАЧЕНИЙ.ERT(994)}: Неверный идентификатор колонки!
Если ТЗНастроекКолонокТекущая.КоличествоСтрок() = 0 Тогда
{D:\BASES\БАЗЫ ГЛАВБУХА\КОПИЯ БД БУХ ТЕКУЩАЯ\EXTFORMS\УНИВЕРСАЛЬНЫЙ ОТЧЕТ ПО ТАБЛИЦЕ ЗНАЧЕНИЙ.ERT(1035)}: Значение не представляет агрегатный объект (КоличествоСтрок)
ТЗПолная.НоваяКолонка(ИмяВертГруппировки,ТипВертГруппировки);
{D:\BASES\БАЗЫ ГЛАВБУХА\КОПИЯ БД БУХ ТЕКУЩАЯ\EXTFORMS\УНИВЕРСАЛЬНЫЙ ОТЧЕТ ПО ТАБЛИЦЕ ЗНАЧЕНИЙ.ERT(753)}: Значение не представляет агрегатный объект (НоваяКолонка)
По поводу кода ничё сказать не могу - я просто булгахтер любопытный.
19. CheBurator 19.08.08 00:21 Сейчас в теме
отвечено в личку:
- обработка самостоятельно ручками не вызывается! вызывается программным способом с передачей параметров!
20. Avrora 24.10.08 18:24 Сейчас в теме
такое выдает

ТЗИдВерт.УстановитьЗначение(ТЗИдВерт.НомерСтроки, ИмяПоказателя, ТЗВремКопия.ПолучитьЗначение(ТЗВремКопия.НомерСтроки, ИмяПоказателя));
{D:\...\BVK_OTCHETPOTZ.ERT(701)}: Неверный идентификатор колонки!
21. CheBurator 24.10.08 23:36 Сейчас в теме
(20)
1.Отчет вызывается ТОЛЬКО ПРОГРАММНО!
2. Проверьте чтобы при передаче параметров было
СЗПоказателей.ДобавитьЗначение("ЗдесьИмяКолонкиТЗ","ЗдесьКакэТоНазыватВотчете");
22. KneZ 28.02.09 06:44 Сейчас в теме
Спасибо все работает супер! Поначалу правда не запускалось. Достаточно было понять, что в ТЗ должны быть не только группировки, но и их значения
23. rmv 20.05.09 15:02 Сейчас в теме
Великий СЕНКС. Весьма облегчило жисть
24. levran 199 21.05.09 16:33 Сейчас в теме
25. KpeaTuFF 06.06.09 22:56 Сейчас в теме
Помогла не только разработка, но и автор! Спасибо!
26. bearcat 70 20.07.09 01:44 Сейчас в теме
Поместила файл в подкаталог ExtForms в каталоге информационной базы.
Через меню "Сервис" выбрала пункт "Дополнительные возможности".
Добавила этот файл.
Попыталась открыть отчет, пишет - НЕВЕРНЫЕ ПАРАМЕТРЫ ВЫЗОВА, но при этом при нажатии на "ОК" отчет открылся.
при попытке сформировать выдает :
ТЗПолная.НоваяКолонка(ИмяВертГруппировки,ТипВертГруппировки);
{D:\1С - ОПТИМА\БАЗЫ ДАННЫХ (ЛОКАЛЬНЫЕ)\СТ\EXTFORMS\BVK_OTCHETPOTZ.ERT(753)}: Значение не представляет агрегатный объект (НоваяКолонка)
что делать? я не программист, я бухгалтер, который старается облегчить себе жизнь путем использования обработок.
Если сможете подсказать, буду благодарна.
29. comrad 13.08.09 10:04 Сейчас в теме
CheBurator вышлите мне пожалуйста инструкцию как для (26)
30. CheBurator 3410 13.08.09 12:30 Сейчас в теме
(29) в описании обработки где-нибудь сказано что обработку следует открывать через файл-открыть? сказано открывать каким либо другим способом кроме как вызовом оператора ОткрытьФорму("Отчет", КонтекстВызова, ПутьОбработки+"БВК_ОтчетПоТЗ.ert"); ....????????
- что именно непонятно?
31. comrad 13.08.09 15:05 Сейчас в теме
(30) разобралься спасибо.
я пока что нуб так что извиняйте.
27. truba 07.08.09 18:11 Сейчас в теме
bearcat, не делайте так.
не надо все в рот тянуть, прям как дети малые
28. CheBurator 3410 07.08.09 18:17 Сейчас в теме
(27) спокойно! инструкции были даны в личку...
32. Dahlia 12.11.09 16:45 Сейчас в теме
:cry: Наверно, я чего-то не понимаю, но у меня неправильно работает
Во вложенном файле исходная ТЗ и картинка, чего получается. Самое яркое что в глаза бросается - столбцы по первой номенклатуре - итоги по торговым
Прикрепленные файлы:
ИсходнаяТаблица.rar
33. CheBurator 3410 12.11.09 16:58 Сейчас в теме
34. Dahlia 13.11.09 11:55 Сейчас в теме
(33) Отправил архив на мыло
35. waol 265 09.12.09 12:45 Сейчас в теме
глФРМ неплохо бы вставить в модуль :)
36. CheBurator 3410 09.12.09 14:16 Сейчас в теме
(35) Разрешаю, вставляйте!
37. waol 265 09.12.09 15:35 Сейчас в теме
не имею такой возможности; да мне то собственно...
38. DrZombi 112 06.07.10 11:58 Сейчас в теме
Бывают клиенты "Кнопочники", такие нелюбят много кнопок, а нооборот мечтают об одной кнопке :)
39. CheBurator 3410 06.07.10 12:15 Сейчас в теме
(38) вставь "заглушку" - для такого-то набора колонок применить такую-ту раскладку ;-) - т.е. пррограммно прописать то что делается по кнопке восстановить... а еще лепотее - через глРасшифровку закинуть нужный набор параметров
40. unichkin 17.03.11 17:27 Сейчас в теме
А глФРМ - это из типовой конфы? У меня база 10 раз переписана, ругается.
глФРМ<<?>>(ЗначениеПоказателя)
Функция не обнаружена (глФРМ)
Может скинете на почту модуль функции?
42. unichkin 17.03.11 18:03 Сейчас в теме
(40) уже разобрался) Крутая штука, очень помогло)
41. unichkin 17.03.11 17:28 Сейчас в теме
Кстати, было бы еще неплохо иметь возможность убирать группировку из вывода таблицы.
43. CheBurator 3410 18.03.11 21:24 Сейчас в теме
(41) ну.. это простая глПечатьТЗ() - есть такая широко распространенная...
44. unichkin 18.03.11 23:03 Сейчас в теме
(43) и это победил, просто кинул на форму кнопку, удаляющую текущую группировку, и сделал сохранение перед этим. Теперь не пойму, почему не работает фиксация строк, и не выводятся заголовки)))
45. konfed 27.06.11 20:25 Сейчас в теме
Классно работает, но до тех пор пока не нужно выводить посортированное, т.к. обработка производит свою сортировку при выводе.
напр.: группировка 1 = контрагент, группировка 2 = товар, ресурсы - количество и сумма . нужно вывести все посортированное по количеству в
порядке убывания. ТЗ, которая передается Вашей обработке уже так и посортирована, но внутри Вашей обработке сортировка ломается. однозначный плюс автору и
CheBurator за то, что представил (доработки CheBurator не проверял). буду пробовать исправить что-то с сортировкой
46. CheBurator 3410 27.06.11 21:09 Сейчас в теме
(45) Обработка - универсальная, хотите специфики - перетачивайте самостоятельно ;-)
В общем случае сортировка по измерению (товар, клиент) - всегда имеет смысл, сортировка по количеству в общем случае - смысла лишена: отсортируйте литры с килограммами и сантиметрами...
47. konfed 28.06.11 10:00 Сейчас в теме
почему же лишена смысла - если все товары имеют одну единицу измерения - то сортировка в числовом измерении дасть больше аналитической информации, чем сортировка по товару, контрагенту.
48. CheBurator 3410 28.06.11 10:06 Сейчас в теме
(47) потому что не надо "подгонять данные". Я выше написал: реализован общий случай, в общем случае - товары не имеют одну единицу измерения. А вот "если.. имеют...", "если... весь товар - одна номенклатура но разных серий с разными сроками изготовления" и т.д. - это частные случаи. никто не запрещает подогнать универсальную обработку для общих случаев под свое частное решение...
49. Гость 06.12.11 16:20
Если Запрос.Выполнить(ТекстЗапроса) = 0
Тогда Возврат;
КонецЕсли;

ТЗ = СоздатьОбъект("ТаблицаЗначений");
Запрос.Выгрузить(ТЗ,1,0);

Если ФлагГруппа = 0
Тогда ТЗ.УдалитьКолонку("ГруппаТовара");
КонецЕсли;
ТЗ.УдалитьКолонку("Количество");
ТЗ.УдалитьКолонку("ПродСт");
ТЗ.УдалитьКолонку("ТекДок");

//здесь имеем ТЗ с нужными для вывода данными 
//...
//положим в список значений "счетные" колонки ТЗ
//(суммы, количества, себестоимости и прочее всякое что можно складывать...)
СЗПоказателей = СоздатьОбъект("СписокЗначений");
СЗПоказателей.ДобавитьЗначение("СуммаПродСт","Сумма");
СЗПоказателей.ДобавитьЗначение("СуммаКоличество","Кол-во");
//...
//вызовем универсальный отчет по ТЗ
//в списке значений передадим 2 параметра
// - список "счетных" колонок
// - саму таблицу значений для вывода
КонтекстВызова = СоздатьОбъект("СписокЗначений");
КонтекстВызова.ДобавитьЗначение(ТЗ,"ТаблицаЗначений");
КонтекстВызова.ДобавитьЗначение(СЗПоказателей,"СписокПоказателей");
//...
ПутьОбработки = ""; 
ИмяОбработки = "";
РасположениеФайла(ПутьОбработки, ИмяОбработки);
ОткрытьФорму("Отчет", КонтекстВызова, ПутьОбработки+"БВК_ОтчетПоТЗ.ert");

КонецПроцедуры //Сформировать()
Показать
50. ARTEM123456 05.03.12 08:24 Сейчас в теме
51. mihenius 83 28.04.12 15:39 Сейчас в теме
Не нашел как добавить обычных колонок для доп. информации.
Видимо нужно доработать, чтобы был список колонок кот. следует исключить из группировки.
53. CheBurator 3410 29.04.12 00:22 Сейчас в теме
(51) этот отчет - в первую очередь группировочный. поэтому вывод дополнительной информаци для уровня группировки - не предусмотрен. Выйти из положения нможно так: если надо вывести в группировке, например номенклатуру с дополнительнйо инфорацией (акртику) - то в ТЗ ДЛЯ ВЫВОДА вместо колонки "номенклатьура", формируем колонку "артикул+номенклатура"
52. mihenius 83 28.04.12 16:25 Сейчас в теме
Не нашел как зафиксировать порядок сортировки строк/колонок.
Так же необходимо немного доработать )
54. CheBurator 3410 29.04.12 00:24 Сейчас в теме
(52) внизу под таблицей группирвоко - есть кнопка "сохранить" и "восстановить". Первая кнопка запоминает под именем (вводится пользователем) текущую настройку вывода колонок/группирвоок, "восстановить2 - позволяет восстановить ее.
55. mihenius 83 02.05.12 07:11 Сейчас в теме
(53,54) Уже переделал под себя )

Пришел к клиентам, а там твоя обработка используется.
56. Скользящий 04.12.12 14:01 Сейчас в теме
Очень хорошая обработка, спасибо, очень помогла. Возникла правда, проблема. Отчет чисто группировочный, а иногда надо выводить дополнительную строку с информацией "в т.ч." Привожу пример.
В ТЗ есть колонки Контрагент, Товар, РасходнаяНакладная, Количество, ГруппаКонтрагентов, Группа Товаров. Счетная колонка "Количество"

Этим отчетом удается вывести ГруппаКонтрагентов в столбцах, Группа Товар и Товар в строках, выглядит так
http://gyazo.com/7338e1dfc1ed8c30de7e64212fb6f799
Или можно вывести вот так
http://gyazo.com/12f731587eb4c5fdf114c2decae889bc т.е. без вывода товаров.

А хотелось бы выводить например только группу товаров, и "в т.ч." товар. Вот так
http://gyazo.com/5b3b77d726cd758afd062b4707e86494
Иными словами, чтобы итоги по группе считал, но выводил под названием группы и количеством только определенные товары с количеством по конкретным товарам. Как можно извратиться в рамках существующего отчета? Или только допиливать отчет?
57. Скользящий 04.12.12 14:58 Сейчас в теме
Впрочем, вышел из положения, тупил. Просто добавил колонку еще одну группировочную. ) Проблема решена.
58. CheBurator 3410 18.12.13 13:09 Сейчас в теме
59. CheBurator 3410 29.11.19 15:55 Сейчас в теме
Обновил обработку.
Добавлена возможность манипулировать настроками вывода группировок программно при вызове отчета.
В плане (когда-то.. если руки дойдут...):
1.переписать на йоксель и ИТЗ для увеличения производительности.
2. сделать возможность запуска обработки интерактивно - с загрузкой сторонних данных для вывода из экселя, csv, dbf + вывод данных из базы, получаемых через универсальный подбор обьектов.
60. CheBurator 3410 30.11.19 20:27 Сейчас в теме
Обновил обработку.
Модифицировано: выполняется автонастройка ширины колонок таблицы расшифровки числовых показателей
61. CheBurator 3410 11.03.20 21:23 Сейчас в теме
Скоро очередное обновление будет:
1. возможность вывода вычисляемых колонок (например, когда в колонке должно содержаться содержится некое процентное значение и при использовании группировок проценты не должны складываться из нижележащих, а должны вычисляться..)
2. возможность вывода дополнительных колонок для группировок (например, в отчет можно вывести допколонку, в которой для группировки номенклатура" выводить код/артикул/инойреквизит, а для группировки контрагент - свой реквизит из карточки контрагента).
.
пп.1,2 настраиваются/задаются программно в списке параметров для формирования отчета...
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Москва
зарплата от 100 000 руб. до 150 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Специалист внедрения и сопровождения 1С
Москва
зарплата от 80 000 руб.
Полный день

Product Owner (Менеджер по продукту 1С)
Москва
зарплата от 100 000 руб. до 170 000 руб.
Полный день

Тим лид по разработке 1С (Team Lead 1С)
Москва
зарплата от 100 000 руб. до 200 000 руб.
Полный день