Russian Qt Forum

Qt => Печать => Тема начата: voltron от Июнь 27, 2013, 12:23



Название: Опять про генераторы отчетов
Отправлено: voltron от Июнь 27, 2013, 12:23
Вопрос создания различных отчетов поднимается на форуме с завидной регулярностью, т.к. задача распространенная и востребованная. К сожалению, в Qt нет своего встроенного генератора, а имеющиеся классы (QTextDocument и др.) хороши только для создания несложных документов. Конечно, существуют сторонние решения, такие как NCReport, OpenRPT, eXaro, но судя по темам в форуме с ними тоже не все гладко. NCReport коммерческий, свободная версия устарела и написана, если не ошибаюсь, под Qt3. eXaro выглядит интересно, но похоже, проект заброшен. Про OpenRPT сказать ничего не могу, но описание выглядит многообещающе.

Сам долгое время работал с FastReport, считаю его одним из лучших и удобных генераторов. К сожалению, продукт коммерческий и с Qt не дружит. Но его ранние версии, известные как FreeReport, открыты под GPL v2.

Хотелось бы узнать мнение форумчан. Стоит ли пытаться портировать FreeReport на Qt/С++ (и развивать результат дальше)? Есть ли желающие присоединиться к этой затее?


Название: Re: Опять про генераторы отчетов
Отправлено: panAlexey от Июнь 27, 2013, 13:17
Что вкладываешь в понятие "Генератор отчетов"?
ПС. На самом деле тру-генератор отчетов - это сам программист/пользователь :)


Название: Re: Опять про генераторы отчетов
Отправлено: dio от Июнь 27, 2013, 22:54
имеющиеся классы (QTextDocument и др.) хороши только для создания несложных документов

Это Вы зря так говорите. С помощью QPrinter и QPainter можно реализовать чего душе угодно. Как раз для очень сложных отчетов, которые динамически меняются, у которых сложная логика, данный способ подходит лучше всего. И если подготовить хорошую оснастку для работы с данными классами, то скорость разработки будет высока. Вопрос только в удобстве. Не каждому по душе кодить отчеты. 


Название: Re: Опять про генераторы отчетов
Отправлено: voltron от Июнь 28, 2013, 10:29
Вопрос только в удобстве. Не каждому по душе кодить отчеты. 

Отчеты «зашитые» код — зло. У пользователя должна быть возможность редактирования существующих шаблонов и создания новых, сколь угодно сложных, с дополнительными функциями обработки, отсутствующими/не предусмотренными в самом движке. Разумеется, ИМХО, но это мнение не на пустом месте возникло.


Название: Re: Опять про генераторы отчетов
Отправлено: Bepec от Июнь 28, 2013, 11:18
Ага, а так же возможность изменить имеющийся шаблон и убить его )

Для программы, цель которой выдавать отчет нужен отчёт, который не меняется :D Чтобы потом его можно было в другую программу сунуть. Тут ваша "гибкость" излишняя.


Название: Re: Опять про генераторы отчетов
Отправлено: Old от Июнь 28, 2013, 11:29
Я как то делал систему отчетов, в которой были шаблонные html-файлы, при генерации переменные просто заменялись значениями.
Плюс добавил условия как в препроцессоре. Если эта таблица нужна, то переменную нужно установить в true и она попадает в отчет, если не нужно - движек ее просто пропускает.
Шаблоны делал в openoffice.


Название: Re: Опять про генераторы отчетов
Отправлено: dio от Июнь 28, 2013, 14:32

У пользователя должна быть возможность редактирования существующих шаблонов и создания новых, сколь угодно сложных, с дополнительными функциями обработки, отсутствующими/не предусмотренными в самом движке.

Когда пользователю необходимо быстро внести корректировку к оформлению отчета, то да, такая возможность ему оказалась бы полезной. На на практике, формы отчетов утверждены и меняются редко, да и в большинстве случаев необходимо добавить новые данные в отчет и тут уже без помощи разработчиков не обойтись.

Когда я озадачивался вопросом выбора бесплатного генератора отчетов, я еще, помимо Ваших, рассматривал варианты:

  • Jasper Reports
  • Генерация DOC (Microsoft word) файлов на основе шаблонов
  • Генерация PDF файлов


Название: Re: Опять про генераторы отчетов
Отправлено: panAlexey от Июнь 30, 2013, 13:37
Когда пользователю необходимо быстро внести корректировку к оформлению отчета, то да, такая возможность ему оказалась бы полезной. На на практике, формы отчетов утверждены и меняются редко.
моя практика утверждает обратное.
Добавляю новые отчеты и модифициирую старые где-то раз в неделю.


Название: Re: Опять про генераторы отчетов
Отправлено: panAlexey от Июнь 30, 2013, 13:46
насчет "генераторов отчетов" - не представляю себе генератор без встроенного языка с широкими функциями.
какие только отчеты не приходилось делать.
и по таблицам в SQL базе и по данным, получаемых парсингом с сайтов, и по данным из текстовых, xml, xls и т.п.
какие отчеты только не приходилось делать: текстовые, табличные, в экселе, в ворде, в хтмл, в xml.
вот только никто не просил в pdf выводить. ну и слава богу. ))) терпеть его не могу - дурацкий формат.


Название: Re: Опять про генераторы отчетов
Отправлено: voltron от Июль 15, 2013, 10:38
Ага, а так же возможность изменить имеющийся шаблон и убить его )
Не вижу проблемы. Если имеющийся шаблон не подходит, то почему бы его не изменить? А если он не нужен, то вполне логичным будет удалить его, чтобы не мозолил глаза.

Для программы, цель которой выдавать отчет нужен отчёт, который не меняется :D Чтобы потом его можно было в другую программу сунуть. Тут ваша "гибкость" излишняя.
не всегда отчеты нужны для скармливания в другую программу. В таких случаях, имхо, логичнее научить вторую программу читать данные из того же источника.

Когда пользователю необходимо быстро внести корректировку к оформлению отчета, то да, такая возможность ему оказалась бы полезной. На на практике, формы отчетов утверждены и меняются редко, да и в большинстве случаев необходимо добавить новые данные в отчет и тут уже без помощи разработчиков не обойтись.

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


Название: Re: Опять про генераторы отчетов
Отправлено: Bepec от Июль 15, 2013, 10:51
Voltron - Представьте ситуацию...

Многотысячная корпорация. Каждый месяц выпускается отчёт по... Ну допустим каким то нормативам. Другие компании имеют доступ к этому отчёту и должны использовать эти данные. И вот тут возникает проблема.

Технику Васе не понравился вид отчёта, поэтому он взял и поменял местами два-три раздела и, допустим, добавил пару строк описания.

90% компаний, получающих этот отчёт парсят его и получают значения автоматом.

НО.

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

Ведь 90 % парсеров тупо возьмут значения из формы отчёта (строка 20, начиная с пятого символа). Умные то писать под простой отчёт никто не будет ;)  И как показывает практика, дай боже чтобы там не сидела девушка, которая будет переписывать "вот эту строчечку"  в "вот эту формочку".



Название: Re: Опять про генераторы отчетов
Отправлено: mks от Июль 16, 2013, 01:10
Приветствую.
Сам я к отчётам имею весьма отдалённое отношение, если не сказать больше  ;D . Однако читая вашу дискуссию меня посетила пара мыслей. Если вам нужны настраиваемые шаблоны, которые должен редактировать пользователь то для этого вполне может сгодится html+css, современные стандарты позволяют в окне браузера нарисовать практически что угодно. Данные в такой шаблон можно подставлять например с помощью grantlee (http://www.gitorious.org/grantlee/pages/Home) и дальше выводить это дело в окошко с webkit.


Название: Re: Опять про генераторы отчетов
Отправлено: Bepec от Июль 16, 2013, 06:55
mks - и просматривать шаблоны нужно в internet explorer 6 ревизия 470?  Просто потому, что верстка может поползти/улететь и измениться? :P

PS Я уж не упоминаю о том, чтобы этот файл отчета имел поддержку всех браузеров :)


Название: Re: Опять про генераторы отчетов
Отправлено: thechicho от Июль 16, 2013, 09:12
//После изменений данные летят неверные, систему корёжит, база данных падает, сервера уходят в ребут

после неверного парсинга? это что же за горепрограммист такое может написать. имхо, это из области фантастики.

//mks - и просматривать шаблоны нужно в internet explorer 6 ревизия 470?
//и дальше выводить это дело в окошко с webkit.
 :D


Название: Re: Опять про генераторы отчетов
Отправлено: mks от Июль 16, 2013, 11:19
mks - и просматривать шаблоны нужно в internet explorer 6 ревизия 470?...
Зачем в IE, я имел ввиду встроить webkit в своё приложение, он вроде современные стандарты поддерживает вполне хорошо, и использовать его как визуализатор шаблона. Насколько я понял суть вопроса изучая сайты приведенных в первом сообщении программ, отчёт - это некий совокупный документ который надо сформировать по данным программы и вывести на печать. Если я сморозил бред, тогда извиняйте  ;D


Название: Re: Опять про генераторы отчетов
Отправлено: Bepec от Июль 16, 2013, 17:30
Отчёт есмь отдельная сущность. И может использоваться вне пределов программы вашей.

to thechicho в госСтруктурах на паскале пишут высоконагруженный сервер. С goto. У нас всё вот так идёт, через страдания и желания начальников довершать начатые лет двадцать назад проекты :D