Найти - Пользователи
Полная версия: Генератор отчетов для среды Python + PostgreSQL
Начало » Базы данных » Генератор отчетов для среды Python + PostgreSQL
1 2
py.user.next
Rodegast
И где гарантия что она не “поплывёт” когда её кто то откроет в IE6? А где гарантия что она адекватно распечатается? и т.п.
Для этого ты её в PDF конвертируешь. Я постоянно так делаю. То есть актуальную по информации я создаю в виде HTML-страницы, с самой свежайшей информацией, а для передачи там по электронной почте или для принтера я эту страницу просто в браузере экспортирую в PDF и всё. Можно без браузера это делать.

Те HTML-страницы, которые мне по почте приходят, я не могу ни читать, ни распечатывать, они все кривые. Ну мне надо в браузере в настройках разрешать страницам шрифты менять, обычно у меня это запрещено. Поэтому они кривые, присылают их какие-то мальчики тупые, которые не знают, зачем PDF нужен вообще. Но я из них сам делаю PDF-файлы и тогда они красиво смотрятся. Была даже идея влазить в эти HTML-страницы и самому подправлять там CSS'ки (ну скриптом, естественно), но до этого даже не дошло, я смог без этого PDF'ки из них делать. А PDF'ки - это красота, они для того и нужны, чтобы везде одинаково открываться и отображаться без искажений.

Rodegast
Задача в том что бы к python-у прикрутить генератор отчётов.
Ну так на базе ReportLab'а его можно построить, собрав на коленке. То есть берёшь формошлёпер для Qt, например, и в нём накидываешь все поля для бухгалтерши. Потом делаешь скрипт на основе ReportLab, в который с этой формы проходят значения полей, которые она там вводит. Скрипт отвечает за все элементы отчёта и их характеристики. Она ввела данные на форме (ну выбрала там запись в базе данных), на кнопку нажала - у неё PDF-файл лежит со всеми этими данными в правильных местах.

А генератор отчётов - это автоматический создатель форм? Когда форму может сделать бухгалтерша или около того по квалификации?

Rodegast
Это такой отдельный класс программ, если ты с автоматизацией бизнеса не работал, то наверное не сталкивался.
Ты имеешь в виду, что сидит баба, которая винтик такой мелкий во всём процессе, и надо ей дать генератор отчётов, чтобы у неё мозгов хватило сформировать новый шаблон для отчётов, которого не было? Я думаю, ты ей что угодно дашь, хоть космический корабль, который умеет грабить корованы, она всё равно просрёт эту простейшую операцию, и окажется, что она не может ничего сделать и это всё слишком сложна-а-а. Она потом ещё скажет, что это ты виноват, что она отчёт не смогла сделать новый, так как это ты ей какую-то плохую программу дал. Так что отчетами должен заниматься специалист. Настроил всё и всё.
Rodegast
> Для этого ты её в PDF конвертируешь. Я постоянно так делаю.

Ты уверен что он нормально конвертируется, а есть ещё машиночитаемые формы в которых чуть влево или в право и всё…

> Ну так на базе ReportLab'а его можно построить, собрав на коленке

Ты попробуй ту платёжку на ReportLab-е сделать… что то мне подсказывает что на середине ты офигеешь. А теперь представь что таких документов как эта платёжка штук 50 разных и все они время от времени могут меняются.

> сидит баба, которая винтик такой мелкий во всём процессе, и надо ей дать генератор отчётов

Баба просто на кнопку нажимает и ей готовый отчёт приходит, а генератором разработчик пользуется.
py.user.next
Rodegast
Ты попробуй ту платёжку на ReportLab-е сделать
Да оно у меня не ставится. Конвертер именно сам из языка разметки в PDF. Но я нашёл, что там квадратики для цифр даже делать не надо, они просто там есть уже готовые.



Так что пока что сложности не вижу. Там очень тонкая настройка есть для всего этого. Так что, думаю, платёжка не проблема.

Просто не знаю, как эти коробочки, из какого подмодуля симпортировать. Так-то у меня PDF-ка вообще генерится из скрипта.
Rodegast
> Да оно у меня не ставится. Конвертер именно сам из языка разметки в PDF



> Так что пока что сложности не вижу.

Тебе надо сделать 50 документов как это платёжка в сжатые сроки, а потом их ещё и поддерживать. И самое хреновное решение которое только может быть это попытаться их сделать через какой то скрипт с использованием глючной библиотеки.
py.user.next
Rodegast
Тебе надо сделать 50 документов как это платёжка в сжатые сроки
Это делается через выучивание этого DSL'а и наличие конвертера. Это так же, как раньше была программа такая, называлась FrontPage, которая использовалась для создания HTML-страниц. Я в ней две страницы сделал, как ты говоришь - через WYSIWYG, и понял, что получается полная лажа на выходе. Мне очень не понравилось то, что получилось на выходе и поэтому я решил выучить HTML просто тогда, чтобы получать чистое и точное что-то. Это было правильное решение, потому что я всё так же пользуюсь этими навыками каждый день, а про FrontPage давным давно ничего не слышал и мне это даже неинтересно, что там сейчас с этой прогой происходит.

Вот я и думаю, что посадка на такой генератор отчёта, как ты говоришь - якобы удобный и скоростной, сыграет с ним злую шутку. Он будет просто переезжать на линукс (на редлинукс или гослинукс какой-нибудь) и там просто не будет этого генератора, и он не сможет портировать свою программу ни в короткий сроок, ни в длинный срок, вообще не сможет портировать никогда. И от его программы откажутся, она сдохнет. Это было с The Bat!. Классная почтовая программа, которая сдохла из-за неправильного стратегического языка, на котором её написали изначально - на Delphi. Её просто не смогли портировать на линуксы, которые стали захватывать рынок, на мобильные устройства, разные гаджеты, на смарт-телевизор тот же, потому что для портирования нужен C-подобный язык в основе.

Так что не всё так просто с визивигами.
Rodegast
> Вот я и думаю, что посадка на такой генератор отчёта, как ты говоришь - якобы удобный и скоростной, сыграет с ним злую шутку.

Генератор отчёта в BI это промышленный стандарт и оно как то не обсуждается.
Rodegast
Вроде нашёлся генератор для python-а. Сам его не использовал, но выглядит актуальным.
https://www.stimulsoft.ru/products/reports-python
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB