Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 7, 2025 11:05:02

xkein
Зарегистрирован: 2020-09-22
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Генератор отчетов для среды Python + PostgreSQL

Коллеги, подскажите, пожалуйста - метод (библиотеку, внешние модули …) для построение отчетов из свой программы.
Приложение рисую на Python + PSQL, кажется, отладил наконец визуальный редактор ключевой части реляционной базы, который станет основной движка программы, теперь нужно сделать пользовательский (настраиваемый админом) генератор отчетов.
Что-то, может ,есть общепринятое (сам не нашел)?
Когда-то, во времена фокса, я делал контекстную внешнюю библиотеку отчетов, которая запускалась из разных узлов приложения с привязкой к нужному разделу (классу отчетов), - технически в отдельном окне открывался редактор отчетов (название, слоты для хранимых процедур для формирования среды запуска собственно отчетной формы, а потом его связали и с профилями пользователя и т.д., такие деревья из них вырастали…) и привязка к самой форме-шаблону.
Для фокса использовал встроенный “фокс-репорт”, для всяких бейсиков, кажется, что-то типа Crystall Report использовал (ораклисты-2000 присоветовали).
Подобный функционал сейчас хочется реализовать на базе PSQL + python..
для начало хотелось бы что-то бесплатное и автономное (не онлайн)…

Уверен, что у всех, кто создает и продвигает свою систему, существует такая задача…
Подскажите, пожалуйста, как ее проще решить сегодня …

Офлайн

#2 Апрель 7, 2025 21:18:10

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9929
Репутация: +  856  -
Профиль   Отправить e-mail  

Генератор отчетов для среды Python + PostgreSQL

Пока что выглядит всё это, как набор слов.

Приведи пример “отчёта” в виде скриншота какого-то из той системы, где он реализован и работает.



Офлайн

#3 Апрель 8, 2025 01:49:25

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2783
Репутация: +  185  -
Профиль   Отправить e-mail  

Генератор отчетов для среды Python + PostgreSQL

> Приложение рисую на Python + PSQL

Зачем тебе psql?

> Уверен, что у всех, кто создает и продвигает свою систему, существует такая задача…

К сожалению генераторов отчётов под python не было и они вряд ли появились. Помню что к FastReport какие то привязки были, если приложение на PyQt то можно в сторону LimeReport глянуть.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Онлайн

#4 Апрель 8, 2025 10:45:44

xkein
Зарегистрирован: 2020-09-22
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Генератор отчетов для среды Python + PostgreSQL

да, похоже, что так и есть ..
вчера весь день занимался поисками чего, что можно встроить в система в качестве штатного средства для форматированного вывода таблиц, в итоге начал делать свое ..
LimeReport - не было ни кого опыт ее использования из питона под виндой?
по нему не все понятно с версиями, но есть свой сайт и форум, не то, чтобы мертвый ….

Офлайн

#5 Апрель 8, 2025 10:55:16

xkein
Зарегистрирован: 2020-09-22
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Генератор отчетов для среды Python + PostgreSQL

py.user.next
Пока что выглядит всё это, как набор слов.Приведи пример “отчёта” в виде скриншота какого-то из той системы, где он реализован и работает.

Вы знакомы с Visial Foxpro ?
там есть команды (могу напутать с синтаксисом, давно это было)
create report() , modify report и т.п.
думаю, что порядка 90% всех отчетов, счетов-фактур и накладных в 90-е годы создавались этой командой )

Что такое “штатное” есть в “экосистеме питона” ? )

Офлайн

#6 Апрель 8, 2025 12:34:05

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9929
Репутация: +  856  -
Профиль   Отправить e-mail  

Генератор отчетов для среды Python + PostgreSQL

xkein
Что такое “штатное” есть в “экосистеме питона” ? )
Вот статья есть
https://expertbeacon.com/how-to-generate-automated-reports-from-a-sql-database-using-python/

Там он использует psycopg2 для чтения PostgreSQL базы данных. После этого он использует pandas для преобразований прочитанных данных. Затем он использует reportlab для формирования отчёта в PDF-формате.

Также можно использовать matplotlib для вывода графиков с данными. И также можно сохранять данные кортежей, полученные из отношений базы данных, в виде HTML + CSS и затем подобные файлы использовать как для печати на принтере, так и для экспорта в PDF-формат.

Также можно поизучать ReportLab на примерах
https://docs.reportlab.com/rmlsamples/

Там ты создаёшь размеченный файл, а потом он преобразуется в PDF-формат.

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

Для работы с PDF-файлами можно использовать PyPDF2
https://pypdf2.readthedocs.io


tags: sql pdf



Отредактировано py.user.next (Апрель 8, 2025 12:39:37)

Офлайн

#7 Апрель 8, 2025 15:05:52

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2783
Репутация: +  185  -
Профиль   Отправить e-mail  

Генератор отчетов для среды Python + PostgreSQL

> LimeReport - не было ни кого опыт ее использования из питона под виндой?

Пока это просто информация для размышления. Еще есть бухгалтерская программа пента (https://penta.by/) там эта задача была решена созданием собственного табличного редактора отчётов по подобии 1С.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Онлайн

#8 Апрель 8, 2025 15:07:24

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2783
Репутация: +  185  -
Профиль   Отправить e-mail  

Генератор отчетов для среды Python + PostgreSQL

> Также можно поизучать ReportLab на примерах

Вот тебе пример платёжки покажи как ты её через ReportLab заполнять будешь



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Онлайн

#9 Апрель 8, 2025 22:56:28

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9929
Репутация: +  856  -
Профиль   Отправить e-mail  

Генератор отчетов для среды Python + PostgreSQL

Rodegast
покажи как ты её через ReportLab заполнять будешь
Тут пример создания шаблона на питоне
https://www.blog.pythonlibrary.org/2010/03/08/a-simple-step-by-step-reportlab-tutorial/

Тут пример динамического заполнения шаблона на питоне
https://www.geeksforgeeks.org/creating-pdf-documents-with-python/

Тут пример тонкой настройки коробочки одной
https://docs.reportlab.com/reportlab/userguide/ch2_graphics/

Платёжки такие я вообще получаю в виде HTML. Приходит в электронном виде на почту страница в HTML. Тоже без ReportLab даже можно создать такую страницу из питона. Экспортировать HTML в PDF автоматически тоже несложно. Сам я PDF'ы из HTML-страниц делаю постоянно, потому что в HTML-страницу можно засунуть ещё скрипты на JavaScript, что я и делаю постоянно, чтобы страницу сделать поживее или параметризовать в завимости от щелчка на заданной области. Там даже картинки можно прямо в странице хранить, а не отдельно от неё, и вставлять их через JavaScript, обнаруживая их прямо в объектах страницы. Хотя для вставки хранимых изображений есть синтаксис у тега img. Но бывает, что изображерие неудобно хранить в самом теге, поэтому переносишь его в скрипт и оно там в объекте хранится и ждёт своего звёздного часа, когда его скрипт обнаружит, раскодирует из base64 и вставит в правильный тег в DOM'е. А CSS'ом можно при этом любые коробочки любых размеров понаделать. Так ещё и через JavaScript у любого элемента можно любые стили поменять. Там можно просто на лету проводить измерения и сразу на них реагировать и менять стили у элементов под них.

Что ты хочешь? Мышкой делать формы отчётов, налепливая коробочки в заданных местах? Вроде задача в том, чтобы из питона сделать шаблон отчета и данные взять из базы данных для формирования конкретного отчёта.



Отредактировано py.user.next (Апрель 8, 2025 23:19:15)

Офлайн

#10 Апрель 8, 2025 23:49:28

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2783
Репутация: +  185  -
Профиль   Отправить e-mail  

Генератор отчетов для среды Python + PostgreSQL

> Тут пример создания шаблона на питоне … пример тонкой настройки коробочки одной

Я на эти примеры посмотрел ещё 15 лет назад, после чего стало ясно что ReportLab генератор отчётов не заменит.

> Платёжки такие я вообще получаю в виде HTML

И где гарантия что она не “поплывёт” когда её кто то откроет в IE6? А где гарантия что она адекватно распечатается? и т.п.

> Вроде задача в том, чтобы из питона сделать шаблон отчета и данные взять из базы данных для формирования конкретного отчёта.

Задача в том что бы к python-у прикрутить генератор отчётов. Это такой отдельный класс программ, если ты с автоматизацией бизнеса не работал, то наверное не сталкивался.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Онлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version