Russian Qt Forum

Qt => Печать => Тема начата: MaxWin от Май 11, 2005, 09:56



Название: Отчетные формы в Qt?
Отправлено: MaxWin от Май 11, 2005, 09:56
А кто, как делает отчеты в Qt.
Что испjльзуете? В общих чертах...
Не встречал кто для Qt виджетов облегчающих этот процесс.


Название: Отчетные формы в QT?
Отправлено: Racheengel от Май 11, 2005, 10:01
да их ИМХО и нету... А жаль... Вот если бы мы все (форумчане) собрались да начали совместный проект по данному направлению,а?
(это предложение)


Название: Отчетные формы в QT?
Отправлено: Admin от Май 11, 2005, 10:01
ты имеешь ввиду просмотр перед печатью документа?


Название: Отчетные формы в QT?
Отправлено: Admin от Май 11, 2005, 10:04
Цитата: "Racheengel"
да их ИМХО и нету... А жаль... Вот если бы мы все (форумчане) собрались да начали совместный проект по данному направлению,а?
(это предложение)


я копал все празники print preview, уже что то сделал
но скороть очень маленькая - тормозит

у меня примерно 40 страниц текста с рисунками на print preview выводится


Название: Отчетные формы в QT?
Отправлено: MaxWin от Май 11, 2005, 11:41
Цитировать
ты имеешь ввиду просмотр перед печатью документа?

Ну и это тоже.
Я вобщем то для себя в свое время выработал технологию.
Все отчеты делаю на Perl. Тоесть Апач + Перл.  Отчеты формируються
не на локальной машине, а на сервере. Страницу затягиваю в бровзер.
Превью его-же. Печать тоже. Для больших проектов этот подход самое то, а вот для мелких (локальных) хотелось бы проще.
Просто думал может кто нибудь, уже что-нибудь придумал.
Вижу нет.  :(


Название: Отчетные формы в QT?
Отправлено: Admin от Май 11, 2005, 11:50
1. Я у себя сделал так, создал QScrollView и рисую на его контексте

2. По уму то надо написать парсер Xml, генеришь отчет в нем и парсишь на контретный QPaintDevice


Название: Отчетные формы в QT?
Отправлено: MaxWin от Май 11, 2005, 11:59
А не смотрел как это сделано у KDE, может можно оттуда дернуть готовую реализацию. Это мысли вслух.
Да и во что тебе сечас выливаваеться по памяти канва в формате уствойства вывода. Должно быть очень прилично если картинок много.
Или ты ее впоследствии под него пересчитываеш.
Таблицы тоже рисуеш по скролу?


Название: Отчетные формы в QT?
Отправлено: MaxWin от Май 11, 2005, 12:20
И при изменении отчетов, проект я так понимаю ты пересобираеш  :(
Я заготавливаю темплейты. Рисую их на HTML. Потом просто отпарсиваю
и заполняю форму. Просто для себя сделал на перле необходимые пакаджи. Но так как отчеты внешнии, при их изменении (что происходит не редко) перерисовываю форму и практически все.  Если конечно не перевернули отчет с ног на голову, что тоже бывает.


Название: Отчетные формы в QT?
Отправлено: Racheengel от Май 11, 2005, 15:11
а как насчет визуального редактирования отчетов?


Название: Отчетные формы в QT?
Отправлено: Admin от Май 11, 2005, 15:14
вы батенька еще захочите что бы было как в FastReport

а он денег стоит :)


Название: Отчетные формы в QT?
Отправлено: Racheengel от Май 11, 2005, 15:56
Батенька предлагает заняться совместным проектом по разработке генератора отчетов, кто со мной? :)


Название: Отчетные формы в QT?
Отправлено: Admin от Май 11, 2005, 16:21
Батя вы сначала план напишете!

Как, что и куда!!

Дайте народу почитать!


Название: Отчетные формы в QT?
Отправлено: Racheengel от Май 11, 2005, 16:29
план напишем :) только сначала хотелось бы услышать мнение потенциальных желающих принять участие в разработке - а то вдруг я один такой энтузиазист? :))))
Кто ЗА развитие проекта?


Название: Отчетные формы в QT?
Отправлено: MaxWin от Май 11, 2005, 18:20
Да желающие на отчеты - есть и всегда будут.
Только как правило, у каждого свои заморочки.


Название: Отчетные формы в QT?
Отправлено: Admin от Май 11, 2005, 19:32
Я например за!!


Название: Отчетные формы в QT?
Отправлено: Hellenna от Май 11, 2005, 19:42
Не очень понимаю о каких именно отчетах идет речь  :roll:
об красивых отчетах начальству, или об программных логах?
Можно как-нибуль по конкретнее что именно должна уметь система и как это должно выглядеть...а то не очень понятно в какую именно авантюру предлагают ввязываться  :D


Название: Отчетные формы в QT?
Отправлено: SLiDER от Май 11, 2005, 23:17
Цитировать
Не очень понимаю о каких именно отчетах идет речь


Я так понимаю. о таких вещах как Crystal Report и ему подобные. Подробнее можно посмотреть, например, сдесь : http://www.businessobjects.com/products/reporting/crystalreports/default.asp


Название: Отчетные формы в QT?
Отправлено: Admin от Май 12, 2005, 07:48
еще можно fastreport добавить


Название: Отчетные формы в QT?
Отправлено: Racheengel от Май 12, 2005, 10:34
Именно, отчеты типа FastReport и имелись в виду. Вижу, идея многим понравилась. Будем ТЗ писать :)

ЗЫ. И как вариант, можно организовать типа CVS для нашей авантюры, кто с ним умеет хорошо работать?


Название: Отчетные формы в QT?
Отправлено: Admin от Май 12, 2005, 10:43
не торопись
давай сначала TЗ
а CVS можно и на sourceforge взять


Название: Отчетные формы в QT?
Отправлено: Racheengel от Май 12, 2005, 11:09
прежде всего - все ли знакомы с Quick Report, Fast Report, Crystal Report? (я, например, с последним не работал еще).

Основные вещи, которые должен ИМХО уметь нормальный генератор отчетов - это:
1. Визуальное создание формы отчета (т.е. набросать на листе поля, в которые будут выводиться данные).
2. Библиотеку функций, которая бы позволяла:
   - автоматически заполнять из программы поля отчета;
   - делать предпросмотр;
   - печатать;
   - экспортировать.


Название: Отчетные формы в QT?
Отправлено: Admin от Май 13, 2005, 14:41
я пока хочу у себя в программе сделать следющую схему:

1. программа генерит XML - в нем я сохраняю текст, картинки - все то что мне надо

2. далее, пишется парсер в HTML - делается html

3. html в IE  засасывается смотрится и оттуда печатается

Вопросы:

1. Есть ли стандарты на хранение картинок в XML и вообще что то подобное.

2. Парсеры поддерживающие этот стандарт!


Название: Отчетные формы в QT?
Отправлено: Racheengel от Май 13, 2005, 17:23
Возможно, UUE?


Название: Отчетные формы в QT?
Отправлено: Admin от Май 13, 2005, 17:38
что за UUE?


Название: Отчетные формы в QT?
Отправлено: Racheengel от Май 13, 2005, 17:59
стандарт на представление бинарной информации в текстовом виде. Использовался еще в ФИДО.


Название: Отчетные формы в QT?
Отправлено: Sergeich от Май 13, 2005, 18:30
А у тебя случайно не завалялись процедуры (де)кодирования UUE в ASCII ? или ссылки на них?


Название: Отчетные формы в QT?
Отправлено: Admin от Май 13, 2005, 23:10
как картинку хранить я уже разобрался
я перевожу 8bit в 7bit


Название: Отчетные формы в QT?
Отправлено: Racheengel от Май 16, 2005, 08:35
Господа, у кого какие идеи есть по поводу отчетов? (перед тем, как ТЗ писать)


Название: Отчетные формы в QT?
Отправлено: Admin от Май 27, 2005, 14:47
Цитата: "Admin"
я пока хочу у себя в программе сделать следющую схему:

1. программа генерит XML - в нем я сохраняю текст, картинки - все то что мне надо

2. далее, пишется парсер в HTML - делается html

3. html в IE  засасывается смотрится и оттуда печатается

Вопросы:

1. Есть ли стандарты на хранение картинок в XML и вообще что то подобное.

2. Парсеры поддерживающие этот стандарт!


Поискал тут разные стандарты XML. Подходящего для отчета не нашел. А задаче парсера xml-> html все так и висит. Так что хочу свой маленький стандартик накатать.

Что надо из тегов:
1. Шрифты, высота, толщина.
2. Текст
3. Растровые рисунки.
4. Теги разметки страницы

Так что в ближайщее время попробую накотать.


Название: Отчетные формы в QT?
Отправлено: Sergeich от Май 27, 2005, 16:10
-- removed --


Название: Отчетные формы в QT?
Отправлено: Sergeich от Май 27, 2005, 16:10
См. сюда: http://www.openrpt.com/


Название: Отчетные формы в QT?
Отправлено: Admin от Май 27, 2005, 22:22
спасибо

щас скачаю, опишу впечатления


Название: Отчетные формы в QT?
Отправлено: Admin от Май 28, 2005, 16:28
скачал, посмотрел
порадовало что на QT
собралось без проблем

но к сожалению мало что обнаружил из того что надо
у них только это планируется

то что мне надо щас выделено красным

 There's certainly a great deal of work left to do, but we hope you'll agree we're off to a good start. Some things on our TODO list:


Add support for columns
Print/preview feature
Multi-lingual support
Additional drawing primitives
.PDF-generation support
Additional supported databases
Ability for OpenRPT to call RPTrender in order to test a report definition for proper results
Ability to define report parameters at runtime, and save them in report's XML def
Allow RPTrender to retrieve parameters from report def (see above) and display default values
Auto read tables to create SQL and report definition objects
Auto create SQL and MetaSQL
Visually define table joins


Название: Отчетные формы в QT?
Отправлено: dmitriid от Май 30, 2005, 13:12
Ээээ.. Какой-такой xml->html? Это неудобно и неправильно.

Хранить в XML можно (можно взглянуть хотя бы в тот же openRPT, посмотреть, как они делают), но ни в коем случае не выводить в HTML. Генератор все равно придется писать отдельный.


Название: ртф отчеты
Отправлено: pish_r от Май 30, 2005, 14:50
Я раз уже хвастался что уже сделал систему отчетов, генерит отчеты в ртф, шаблоны читает из ртф, рядом лежит файлик с запросом.
Никак руки не дойдут чтоб сделать ко покрасивее, чтоб людям не стыдно было показать...
Юзаю boost::regex для парсинга ртф, читаю запрос, потом

QSqlQuery query(запрс);
while(query.next()){

}
И все...

Открываю отчет редактором, там и превью, и редактирование и т.п.

Недостатки:
Большие отчеты(после сотни листов), так долго читаются вьювером, а то и вообще при открытии зависнуть вьювер может...
Меня гложет мысль генерить их в ТеХ , шаблоны можно оставить в РТФ...


Название: Отчетные формы в QT?
Отправлено: Admin от Май 30, 2005, 21:44
прикинь мало того что ты тащищь за собой rtf
ты еще и TEX хочешь использовать

очень тяжелый генератор отчета

я хочу сделать  xml как исходник
далее как минимум 3 генератора

xml -> html
xml->doc
xml->pdf


Название: Отчетные формы в QT?
Отправлено: Admin от Май 31, 2005, 14:50
нашел примерно то, что я хочу

http://rlib.sicompos.com/

буду с ним разбиратся


Название: Отчетные формы в QT?
Отправлено: pish_r от Июнь 01, 2005, 01:17
rtf мало чем отличается от xml в смысле "тяжелости", тоже теги и текст, для шаблонов очень удобно, их можно создавать в визуальном режиме, не создавая редактор.
dvi формат очень похож на pdf, правда для виндов прийдется ТеХ компилятор тягать с софтом, что конечно напряг, но ТеХ легко генерить, dvi файлы выглядят проффесионально и размер значения не имеет. В никсах ТеХ обычно с дистром ставят, так что для никсов очень удобно.

По поводу rlib- я когда то либой этой интересовался, но помоему она оказалась питоновой. Может ошибаюсь, ща посмотрю.


Название: Отчетные формы в QT?
Отправлено: pish_r от Июнь 01, 2005, 01:30
Да, ошибался, C API есть.
pdf-интересно.
Windows Port - IN BETA!-Без поддержки Билли меня пока не поймут.


Название: Отчетные формы в QT?
Отправлено: Admin от Июнь 01, 2005, 15:06
написано что появилась
но я попробовал собрать в VC
требует наличия gtk + кучи юниксовых headers

так что видно это чудо mingw собирается


Название: Отчетные формы в QT?
Отправлено: Admin от Июнь 02, 2005, 14:50
к сожаление из за нехватки времени решили использовать fastreport

они бету выпустили, которая позволяет генерить отчет с VC++

1. собрать не удалось, так как пример сильно завязан на MFC, а как MFC подцепить к QT проекту я не в курсе

2. щас хочу попробовать обернуть их ActiveX в QAxObject


Название: Отчетные формы в QT?
Отправлено: Admin от Июнь 02, 2005, 15:42
подключение fast report идет в 2 шага

1.
Код:
QAxWidget* wReport= new QAxWidget(this);
wReport->setControl("{4764040E-4222-4DEC-9F2E-82D46E212B3A}");
int res = wReport->dynamicCall( "ShowReport()" ).toInt();


2. регистрация com обьекта


Название: Re: Отчетные формы в QT?
Отправлено: pish_r от Январь 03, 2008, 19:19
вот нашел но еще не юзал

http://sourceforge.net/projects/ncreport/


Название: Re: Отчетные формы в QT?
Отправлено: pish_r от Январь 03, 2008, 19:46
Об этом думают когда нужен результат самому.
Одновременно редко кто решает одну и ту же задачу.
Погляди на линк, здается мне это решение проблемы. И опенсорсный проект, подключайся если есть желание и время )


Название: Re: Отчетные формы в QT?
Отправлено: Admin от Январь 04, 2008, 09:52
дело в том, что во главе должен быть 1 человек
как например Линус у ядра kernel.

Так что кому быть у руля? ::)


Название: Re: Отчетные формы в QT?
Отправлено: pish_r от Январь 04, 2008, 12:23
Неее ) Дело в том,  подпишется ли кто то  участвовать, когда ему уже это не критично, а еще существуют уже готовые решения, либо почти готовые )


Название: Re: Отчетные формы в QT?
Отправлено: _govorilka от Январь 04, 2008, 14:37
Мне сейчас предлагают проект. Суть в следующем: есть 1с:Предприятие 7.7 В ней есть конфигурация. Задача надо написать программу, интерфейс и функционал которой бы копировал 1c:Предприятие (Конфигуратор нам делать  не надо!!!). Систему отчетов в стиле 1с тоже придется делать. Если кому-то интересно присоединяйтесь...


Название: Re: Отчетные формы в QT?
Отправлено: vaprele07 от Январь 04, 2008, 15:20
Цитировать
у меня тут крутится идея "псевдокоманд": возможность объединиться по текущим/будующим необходимым разработкам.
Суть состоит в оглашении цели текущей/последующей разработки: какой-то компонент, механизм, контрол, виждет и механизм группировки этих людей в псевдокоманды. Вот только детали не ясны: как это сделать.
trdm мне твоя идея нравится, сам думал о чем то подобном.
Думаю нужно поднять что то типа этого :
http://finfcore.tomsk.ru/wiki/%D0%9E%D0%B1%D0%B7%D0%BE%D1%80_%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0%D0%BC%D0%B8
Потом назначить координаторов проектов, которые набирают группу и понеслась.
Первый проект очевиден, тем более звезды сулят удачу после перевода на русский ОХМЛ и Оазис


Название: Re: Отчетные формы в QT?
Отправлено: Пантер от Январь 04, 2008, 19:52
Можно попробовать. Я только за.


Название: Re: Отчетные формы в QT?
Отправлено: Alexandr Az от Январь 09, 2008, 12:58
Мда.
Тема безусловно интересна, но очень трудоемкая.
Скооперироваться конечно можно, но сложно. И даже дело не в том кто у руля, а в том, что каждый хочет свою идею втыкнуть.
Ну чтож, рейчел, начни, мож гляди кто и присоединится.

Отчеты ой как нужны. Сам столкнулся с такой проблемой и решил делать в лоб - экспорт в эксель (хех, не такая уж тривиальная задача, как казалось сначало). Конечно, не FastReport, однако у всех есть excel либо опен офис, и пользователь может редактировать отчёты готовые и создавать шаблоны

Другие варианты:
HTML распечатать трудновато, юзвер не может менять отчёт, юзвер не может создавать шаблон.
PDF - ничего изменять нельзя юзверу в готовом отчете, шаблоны трудно создавать, отлично печатается

И почему вы так заострили внимание на формате, в котором будет храниться отчёт? Какая разница, лишь бы он при надобности экспортировался куда надо. Выж не растраиватесь по поводу того, что не знаете формат документов MS офиса?? Да и фаст репорт тоже как ему нравится хранит. Вопрос в бинарном виде либо в хмл - но это уже вопросы реализации....


Название: Re: Отчетные формы в QT?
Отправлено: pastor от Январь 10, 2008, 20:28
Для создания печатных форм в полне успешно можно юзать XSLT

http://ru.wikipedia.org/wiki/XSLT


Название: Re: Отчетные формы в QT?
Отправлено: pastor от Январь 10, 2008, 22:05
ммм. вообще основная цель програминга: сделать вещи проще. А тут наоборот усложнение.

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

ЗЫ: имхо, XSLT это единственный нормальный вариант для создания печатных форм. Зачем изобретать какие-то свои языки разметки если уже все это имееться...


Название: Re: Отчетные формы в QT?
Отправлено: indigon от Январь 11, 2008, 11:05
А зачем делать то, что уже сделано?
http://www.crossplatform.ru/?q=taxonomy/term/44
Как я понял Qt исходники для печати отчетов...


Название: Re: Отчетные формы в QT?
Отправлено: Alexandr Az от Январь 11, 2008, 11:14
При первом взгляде может показаться что XSLT это идеальная штука для таких вещей, пока сами с ним не начнете работать. Если вы реально будете работать с XSLT, вы поймёте, что это очень частное решение. Вы можете конечно преобразовать XML в HTML, но очень конкретный XML в очень конкретный HTML, я уже не говорю про MS офис и PDF - такое просто невозможно. Если бы с XSLT было бы так все в ажуре, то давным бы давно HTML был бы формальной штукой для броузера, и весь инет был бы на XML.

Просто поверте, а поймёте потом :)
(Чай Ф)


Название: Re: Отчетные формы в QT?
Отправлено: indigon от Январь 11, 2008, 11:30
Просто поверте, а поймёте потом :)
(Чай Ф)
А чего верить? Достаточно просто попробовать в деле и не более того.


Название: Re: Отчетные формы в QT?
Отправлено: pastor от Январь 11, 2008, 16:49
А чего верить? Достаточно просто попробовать в деле и не более того.

А что пробывать то. Именно XSLT и юзали для создания печатных форм


Название: Re: Отчетные формы в QT?
Отправлено: indigon от Январь 11, 2008, 17:10
где юзали?


Название: Re: Отчетные формы в QT?
Отправлено: pastor от Январь 11, 2008, 18:02
где юзали?

В своих проектах, для печати отчетных форм


Название: Re: Отчетные формы в QT?
Отправлено: pastor от Январь 11, 2008, 20:53
При первом взгляде может показаться что XSLT это идеальная штука для таких вещей, пока сами с ним не начнете работать. Если вы реально будете работать с XSLT, вы поймёте, что это очень частное решение. Вы можете конечно преобразовать XML в HTML, но очень конкретный XML в очень конкретный HTML, я уже не говорю про MS офис и PDF - такое просто невозможно. Если бы с XSLT было бы так все в ажуре, то давным бы давно HTML был бы формальной штукой для броузера, и весь инет был бы на XML.

Совершенно не убедительно. Мне не встречались такие печатные формы составленные на XML которые не возможно перегнать в HTML. Привелите хоть одну для своего довода. HTML документ без всякого напряга можно перегнать в PDF.
В интернет индустрии XML уже почти вытеснил HTML и это не новость (XHTML). Более того в выходом Qt 4.4.0 работа с HTML, XML, XHTML будет ваще легкой.


Название: Re: Отчетные формы в QT?
Отправлено: Alexandr Az от Январь 12, 2008, 13:26
Цитировать
Совершенно не убедительно.
Попробую доказать.....
Цитировать
Мне не встречались такие печатные формы составленные на XML которые не возможно перегнать в HTML.
Мне тоже.....
Цитировать
В интернет индустрии XML уже почти вытеснил HTML и это не новость (XHTML).
Конечно офтоп, но XHTML отличается от HTML буквочкой ха :) На самом деле это всего лишь формализация ШТМЛ, чтобы он соответствовал ХМЛ. Например - нельзя (по правилам только) использовать пустые теги. Он ничем не отличается от HTML, абсолютно, разве что заголовком. Мы говорили про преобразование, следовательно, я имел в виду чистые XML данные. Только данные, а не информацию ещё как их отображать. Следовательно, нужно было привести пример xml страничек, которые после преобразования становились у меня HTML (XHTML). Примеры, конечно, я и сам могу найти, так что закроем тему ШТМЛ.
Цитировать
Привелите хоть одну для своего довода. HTML документ без всякого напряга можно перегнать в PDF.
Привожу. Нельзя. Ну нельзя теоретически, хотя практически можно. Это разные документы, у них разное назначение, они несовместимы изначально. Так и любой вордовский документ можно перевести в ШТМЛ. О каком соответствии можно говорить при автоматическом переводе? этож фигня полная будет. Хотите перевести - ручками......
Другими словами XML->HTML->PDF от начального документа останутся рожки да ножки.

А теперь о моей главной мысли. Идея прекрасна. Берем модель, делаем к ней XSLT и , о чудо! На выходе прекраснейший ШТМЛ - таблица с нашими данными. Подсовываем ей другой XSLT, и о чудо! На выходе прекрасная таблица с данными, да ещё и фиолетовая в крапинку. И так далее и так далее.
Мысль такова - конкретные данные - плоская таблица - конкретный ШТМЛ. НУ чем не прекрасно?

А теперь вопрос. Как вы собираетесь трансформировать в HTML налоговую накладную. Отбросим недостатки ШТМЛ в этом плане. Как? У нас допустим есть средство, скажем репор билдер, который мы предоставляем юзверу для написания отчетов. Наподобие ассистанта, куда я сбрасываю свои лебелы и всякие мемо и ещё бог знает что... Откуда возьмется этот XSLT, который будет знать что делать с тем ХМЛ, который получился у нас?  Если вы хотите чтобы у вас автоматом создавался XSLT - о. Другое дело, мы пишем эту фигню, забываем про всякие глупые отчеты и реально рубим бабло на этой хрени.

Цитировать
Более того в выходом Qt 4.4.0 работа с HTML, XML, XHTML будет ваще легкой.

Я бы с осторожностью относился к этому. Тот ХМЛ который щас есть в QT - можно считать что его нет. Да, читать документы ХМЛ мы можем, хоть дом, хоть сакс. Но и все. Ни схем, ни парсинг схем, ни ХПАС, ни XSLT. Вообщем ничего. А если вы заюзать хотите XSLT, то вам понадобиться все из вышеперечисленного.. Задача большая, и они быстро так ее не сделают. Возьмите на другие либы посмотрите - очень мало полноценных, нормальных либ для юзанья ХМЛ - других (гавна всякого) - как гавна.
Из реальных которые я знаю - MSXML, xerces. И куте к ним будет подбираться ещё не один год.


Название: Re: Отчетные формы в QT?
Отправлено: pastor от Январь 12, 2008, 15:41
Отвечу по порядку...

1) По поводу XHTML. Это следующий этап развития HTML. Пока XHTML по своим возможностям сопоставим с HTML (однако предъявляет более строгие требования к синтаксису). Различия между этими я зыками разметки не только "разве что заголовком". Гугл в помощь

2) HTML->PDF
Цитировать
Привожу. Нельзя. Ну нельзя теоретически, хотя практически можно.
Странное предположение. Обячно на оборот, можно теотерически но нельзя практически. Но я вас разачарую. Преобразование из HTML->PDF можно и теоретически и практически, без каких либо проблем

3)
Цитировать
А теперь вопрос. Как вы собираетесь трансформировать в HTML налоговую накладную.

А какие собствено проблемы в её создании? Вы невидели налоговых нарисованых на HTML?

4)
Цитировать
У нас допустим есть средство, скажем репор билдер, который мы предоставляем юзверу для написания отчетов. Наподобие ассистанта, куда я сбрасываю свои лебелы и всякие мемо и ещё бог знает что... Откуда возьмется этот XSLT, который будет знать что делать с тем ХМЛ, который получился у нас?  Если вы хотите чтобы у вас автоматом создавался XSLT - о. Другое дело, мы пишем эту фигню, забываем про всякие глупые отчеты и реально рубим бабло на этой хрени.

Почитайте один из моих постов выше, где я предлагал создать такую визуальную тулзу, при помощи которой будут создаваться печатные формы. Шаблон будет храниться в XSLT. Или вы хотели сказать что-то другое?

5)
Цитировать
Я бы с осторожностью относился к этому. Тот ХМЛ который щас есть в QT - можно считать что его нет. Да, читать документы ХМЛ мы можем, хоть дом, хоть сакс. Но и все. Ни схем, ни парсинг схем, ни ХПАС, ни XSLT. Вообщем ничего. А если вы заюзать хотите XSLT, то вам понадобиться все из вышеперечисленного.. Задача большая, и они быстро так ее не сделают. Возьмите на другие либы посмотрите - очень мало полноценных, нормальных либ для юзанья ХМЛ - других (гавна всякого) - как гавна.
Из реальных которые я знаю - MSXML, xerces. И куте к ним будет подбираться ещё не один год.

Соть где-то я с вами согласен. В текущих версия Qt (<4.4.0) работа с XML действительно приметивна. Но с выходом Qt 4.4.0 это измениться. MSXML - очень ценная либа для кросплатформенной разработки. Откройте для себя libxml, libxslt.


Раз уже так пошёл разговор, что вы предлагаете для создания печатных форм. Я предложил то, что реально юзали в своих проектах, и что реально шас используеться торговыми предприятиями.


Название: Re: Отчетные формы в QT?
Отправлено: Tonal от Январь 14, 2008, 08:24
Что-то читал ветку, и не понял, почему бы не подключится к существующим открытым проектам:
http://sourceforge.net/projects/ncreport
http://sourceforge.net/projects/openrpt/
В обоих есть визуальный дизайнер, оба используют XML-базированный отчёт, печатают на принтер и в PDF, работают с базами.
Т.е. базовая функциональность присутствует.


Название: Re: Отчетные формы в QT?
Отправлено: indigon от Январь 14, 2008, 14:10
Что-то читал ветку, и не понял, почему бы не подключится к существующим открытым проектам:
http://sourceforge.net/projects/ncreport
http://sourceforge.net/projects/openrpt/
Угу, вот и я об этом же! :)


Название: Re: Отчетные формы в QT?
Отправлено: Вячеслав от Январь 14, 2008, 22:30
там вроде только ncreport живой .... но 2 версия платная :( Но вкусная ......


Название: Re: Отчетные формы в QT?
Отправлено: Tonal от Январь 15, 2008, 08:49
Последняя сборка: openrpt-2.2.0 Notes (2007-07-27 09:25)
Да и в статистике CVS вроде отражена работа даже за этот год. :-)

Ну а если рассматривать вариант куда подключить свои силы, то вполне неплохой. :-)


Название: Re: Отчетные формы в QT?
Отправлено: zinit от Январь 15, 2008, 11:27
там вроде только ncreport живой .... но 2 версия платная :( Но вкусная ......
про плату ничего не сказано, но исходников нет :(
http://www.nocisoft.com (http://www.nocisoft.com) NCReport 2.0 (beta2) выглядит юзабельно, но пока OpenOffice рулит (вырезанный из ананаса и доработанный напильником)


Название: Re: Отчетные формы в QT?
Отправлено: SLiDER от Январь 19, 2008, 17:33
там вроде только ncreport живой .... но 2 версия платная :( Но вкусная ......
Да, на сколько я понял, открытая разработка ncreport закончена, теперь будет выпускаться только проприетарная версия по лицензии (как на сайте написано) similar to Trolltech's Qt solutions http://www.nocisoft.com/?id=ncr (http://www.nocisoft.com/?id=ncr).
Цитировать
License
Since 2.0 version NCReport is released under the terms of commercial license similar to Trolltech's Qt solutions. See the prices and conditions
Правда ни кто не мешает сделать fork последней открытой версии да и дописать все вкусности самим, как говорится, вам и карты в руки 8).

А OpenRPT, вроде, жив, покрайней мере, последний коммит дней 10 назад в cvs сделан.  :-\


Название: Re: Отчетные формы в QT?
Отправлено: c00ker от Январь 25, 2008, 11:29
Юзаю openrpt, работает стабильно в production. Развивается - вчера в cvs добавили preview отчетов и возможность локализации.


Название: Re: Отчетные формы в QT?
Отправлено: Tonal от Январь 25, 2008, 12:56
2 c00ker Не сможешь пояснить несколько вопросиков?
1) Можно ли там как-нибудь использовать наборы данных не привязанные к QtSql?
2) Можно ли прикрутить другой формат вывода (xml, html, rtf)?
3) Доступно ли скриптование отчёта?


Название: Re: Отчетные формы в QT?
Отправлено: c00ker от Январь 25, 2008, 15:09
1) Можно ли там как-нибудь использовать наборы данных не привязанные к QtSql?
Пока что только sql.
Цитировать
2) Можно ли прикрутить другой формат вывода (xml, html, rtf)?
Думаю что только если в xml, при помощи большого напильника :)
Цитировать
3) Доступно ли скриптование отчёта?
Подобие скриптов предусмотрено в запросах, в зависимости от параметров можно модифицировать запросы:
Код:
WHERE ((usr_locale_id=locale_id)
<? if not exists("showInactive") ?>
   AND (usr_active=true)
<? endif ?>


Название: Re: Отчетные формы в QT?
Отправлено: Tonal от Январь 27, 2008, 19:34
Абыдно. :-(


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Январь 27, 2008, 19:45
ага...
для меня тема тоже весьма актуальна
ломает читать данные из бд, генерить отчёт, писать его в бд - всё только для того, чтобы этот самый отчёт показать юзверю и/или вывести на печать...


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Январь 28, 2008, 00:17
времени свободного нет
трдм, може тебя доломает?


Название: Re: Отчетные формы в QT?
Отправлено: Tonal от Январь 28, 2008, 11:03
Мы всяко будем этим заниматься - но сейчас времени нет. :-(
Самое критичное - это не привязанные к QtSql наборы данных, т.к. с данными мы работаем не через него.

Пока, из двух доступных наиболее перспективным мне кажется OpenRpt, но если сообщество замутит свой - можно будет присоединиться. :-)


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Январь 29, 2008, 02:56
идея-идеей, но свободного времени от этого не больше...

вот ещё идея: http://www.kde-apps.org/content/show.php/Kexi+Report+Part?content=58208
в идеале хотелось бы иметь движок, который мог бы строить отчёты помимо собственного языка разметки ещё и на основе данных из любого хранилища (посредством бэкэндов), например, списков в хмл-форме, айтеммоделей кутэ и т.д.


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Июль 20, 2008, 15:51
а что, есть готовое? :)


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Июль 27, 2008, 22:47
почему же? думаю, заинтересованы многие...со "стимулом" наверное проблематичнее будет )


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Июль 27, 2008, 23:43
думаю, форумчане в силах помоч советом/кодом...с QtScript особых пролем не должно возникнуть - если работал с жабаскрипт, увидишь, что не сильно отличается
лично мне импонирует проект exaro, но уж больно там всё криво реализовано...недопиленная система плагинов, недопиленный дизайнер, слабые возможности для работы с исходными данными (из источников только статика, запрос к бд и скрипты)...
к сожалению, на данный момент это - лучшее, что я смог найти для кутэ4...

если у тебя действительно есть время и желание заниматься этим, ты начни и создай об этом ветку в "компонентах" - возможно, народ подтянется по ходу...


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Июль 28, 2008, 01:05
_персонально_меня_ интересует возможность загрузки данных из абстрактного источника - текста, запроса, модели, файла - по примеру абстрактной модели кутэ; возможность выгружать данные в произвольных форматах; возможности гибкой масштабируемости; предпросмотр отчётов; возможность связывать разнородные отчёты между собой...думаю, этот список ещё можно дополнять и дополнять, но на данный момент я не встречал ни одного движка отчётов (под кутэ4), который умел хотя бы это.

мне представляется для принципиально разных прототипа:
* шаблоны в хмл; ядро, система расширений и рендер отдельной либой, дизайнер - отдельным приложением или либой; скриптованный язык мог бы опционально расширять функциональность движка (тем-более, что в кутэскрипт можно использовать свои независимые "плагины") и быть реализован в виде дополнительного плагина (пример: exaro)
* шаблоны, связки данных и т.п. на скриптовом языке, встроенном в ядро, которое расширяется как бинарными модулями, так и библиотеками на поддерживаемых скрипт.языках; ядро == рендер, дизайнер == гуи + враппер над рендером (пример: nsis - не в тему, но яркий представитель)

оба по-своему хороши и оба имеют свои недостатки. например, первый вариант более прост в реализации, более понятен (привычен) кастомерам, но менее гибок в работе; второй вариант более сложен в использовании, но при наличии дружелюбного дизайнера это может быть прозрачно для пользователя/кастомера...и др., и пр.

в любом случае при качественном подходе из гомна можно сделать конфетку...а можно и наоборот...


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Июль 29, 2008, 04:05
мм...пока вспомнил, добавлю...
вещи, которые часто бывают чуть ли не необходимыми, и отсутствие которых в движке отчётов прямо-таки раздражает:
* часто движок требует _собственного_ соединения с бд - т.е. нужно указать все параметры соединения с бд, в т.ч. и пароль, который по-умному вообще бы не хранить. приходится всяко хитрить, хотя есть штатная возможность передать имя соединения или клонировать соединение и передать инстанцию прямо движку;
* допустим, есть у нас здоровая модель, заполненная множеством запросов к бд, с подготовленными значениями, цветами и т.д. - жутко напрягает, когда для отчёта нужно повторять все эволюции заново, хотя можно было бы просто указать на эту модель;
* довольно распространённая ситуация: метаинфа о файлах (картинках, например) хранится в табличке бд (возможно, и сами картинки), а в других табличках имеются ссылки на данную таблицу - такие поделки, как exaro, без напильника будут упорно показывать дырки от бублика там, где должны быть картинки. либо же придётся такие запросы делать сложными, что плохо влияет на бд-независимость

если вспомнится ещё что-то, дополню этот пост...

trdm, что ты решил в итоге по поводу?


Название: Re: Отчетные формы в QT?
Отправлено: vaprele07 от Июль 29, 2008, 05:02
ksvg2 порт из webkit + inkscape :) и все отчеты. Можно слепить свой свг-едитор. Для связывания xml-bd-model-view используй QSimpleXmlNodeModel.


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Июль 29, 2008, 05:29
жестоко


Название: Re: Отчетные формы в QT?
Отправлено: Tonal от Июль 30, 2008, 07:32
Не надо бинарный.
1) Его трудно читать/писать сторонними утилитами
2) Его не удобно расширять/изменять при развитии
3) С ним неудобно работать в системах контроля версий (как сравнить 2 версии шаблона отчёта)

XML всяко лучше по всем этим пунктам.


Название: Re: Отчетные формы в QT?
Отправлено: Tonal от Июль 30, 2008, 07:40
Ну и забор данных, IMHO, лучше сразу сделать над классом:
Код:
struct GetData {
  QString value(const QString& name) = 0;
  QString value(const QString& name, unsigned row) = 0;
}
Ну или возвращать QVariant вместо QString-а, чтобы было удобнее потом скриптование вставлять. :)


Название: Re: Отчетные формы в QT?
Отправлено: Alex03 от Июль 30, 2008, 08:37
XML всяко рулит. Ещё бы какойнить общеупотребимый/стандартизованный формат файла шаблона отчёта (тогда от дизайнера можно отказаться, по крайней мере на начальном этапе)!

А чтобы начать создавать действительно хороший генератор отчётов очень полезно изучить что существует по этой теме.
Т.е. всякие FastReport, CrystalReport, что там в 1С, MS Access кстати тоже, и т.д. и т.п.
А ещё лучше иметь опыт создания реальных, желательно сложных, отчётов в этих системах. Тогда будет представление о том что нужно пользователю, и не будет горьких разочарований по поводу того что выбранная на начальном этапе архитектура не позволяет делать чтото дальше.



Название: Re: Отчетные формы в QT?
Отправлено: ритт от Июль 30, 2008, 09:03
по-моему, аналог doc->assignValue("Caption","Отчет по продажам."); можно и хтмлкой забацать с финальной заменой %%Caption%% на её значение - как-то не Ъ
а как таким макаром создать, скажем, табличку простых чисел от 1 до 65535? :)
особенно, если простые числа уже посчитанны и внесены в модель. делать for(int i = 0; i < model->columnCount(); ++i) doc->assignValue(QString("i%1").arg(i), model->data(model->index(i, 0)).toString()); , а в шаблоне предусмотреть заглушку на 64К строк?
а это тривиально бы выполнилось функцией на кутэскрипте, в которую передавался бы указатель на модель...конечно, если бы скриптовые функции можно было хранить/устанавливать в шаблон


Название: Re: Отчетные формы в QT?
Отправлено: Пантер от Июль 30, 2008, 13:13
Ну, любую простую систему можно впоследствии наворотить. Главное, чтобы она была модульной и изначально была правильно логически составлена.


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Июль 30, 2008, 16:36
я уже писал ранее - если делать ядро изначально основанное на скриптовании, гибкость будет максимальной
кутэскрипт даёт огромное преимущество над "внешними" интерпретируемыми языками: во-первых, кутэскрипт одинаково можно подружить с жабаскриптом, вбс или луа; во-вторых, кутэскрипт имеет доступ к сущностям приложения на кутэ, что делает выборку из запроса и/или модели не сложнее функций на самом скрипте
про хмл - посмотри всё тот же ексаро - там тупо кастомизированные уишки дизайнера - привычно и читабельно


Название: Re: Отчетные формы в QT?
Отправлено: Tonal от Июль 30, 2008, 16:39
Пришла тут идейка задействовать для отчётника python + django.
Т.е. дезайнер будет сохранять шаблон в формате django.
Дальше, с помощью PythonQt пускаем рендер шаблона в html.
А уже html можно и показывать и печатать. :)


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Июль 30, 2008, 18:35
работа с куобъектами из кутэскрипта не слишком отличается от работы с объектами посредством мета(объектов|методов|проперти)
думаю, достаточно будет реализовать парсинг/исполнение скриптов в контексте по типу твоего примера с doc->outputSection("Title");
ну, например, для шаблона на основе хмл:
Цитировать
<section name="Title">Example ver.<script>appVesrsion();</script></section>
/* я не привожу конкретный пример - это некая абстракция с потолка */
вообще, по теме шаблонов/фигур/скриптов мне импонирует принцип свг, где ресурсы могут быть встроенными или внешними, что часто оказывается чрезвычайно удобно

а с doc->outputSection("Title") мне не ясен такой момент: выходит, мы должны знать названия секций в шаблоне и поочерёдно эти секции активировать? это чем-либо оправдано или тоже абстракция?


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Июль 30, 2008, 19:13
омг...ты на работе группируешь печки? :)
ну, а в чём всё-таки смысловая нагрузка того, чтобы бегать по секциям и активировать их вручную? а что если у меня пол-дюжины _абсолютно_ разных вариантов представления одних и тех же данных и где-то имеется комба с названиями шаблонов, один из которых должен использоваться для отчёта (реальный пример)?


Название: Re: Отчетные формы в QT?
Отправлено: Alex03 от Июль 31, 2008, 07:56
ИМХО промежуточный HTML - не есть гут!
Там нет разметки страниц и т.д. (Или я от жизни отстал?)
Отчёты как правило для бумаги делаются. И имхо разметка шаблона в физических величинах (типа мм.) и относительно конкретного формата бумаги - очень даже кстати.

У меня пока небольшой опыт работы с FastReport.
Там довольно таки немного базовых примитивов, но они довольно могучие.

Данные:
БД, таблица, запрос. (таблица и запрос - ссылаются на БД) Всех их может быть много.

Страница (шаблон страницы):
Может включать в себя примитивные объекты: Текст, рисунок, штрих код и т.д.
А также "групповые" - Бэнды, в которые также могут быть включено всё что угодно.
У примитивных объектов помимо свойств внешнего вида есть ещё и dataSet (ссылка на таблицу/запрос) и dataField.

Формы - Диалоговые окна со всеми стандартными примитивами типа лабелов/чекбоксов/комбобоксов/лайнедитов и т.д., например очень удобно запрашивать диапазон дат для отчёта.

Код. - 3 варианта скриптовых языков. для многих объектов можно задать действия по некоторым обытиям.


шаблоны отчётов хранятся в XML примерно в таком виде:
Код:
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Name="" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="2047" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" ReportOptions.CreateDate="37871,996337662" ReportOptions.Description.Text="Demonstrates how to create Master/Detail/Detail reports. Just put on the page one MasterData band and two DetailData bands and connect each of them to the appropriate dataset. Of course, you can create Master/Master, Master/Detail/Detail/Detail and other reports with the same way." ReportOptions.LastChange="38447,371977338" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end." PropData="0844617461736574730100095661726961626C657301010C14000000204E616D653D22204465736372697074696F6E2200010C35010000204E616D653D224465736372697074696F6E222056616C75653D2244656D6F6E7374726174657320686F7720746F20637265617465204D61737465722F44657461696C2F44657461696C207265706F7274732E204A75737420707574206F6E207468652070616765206F6E65204D6173746572446174612062616E6420616E642074776F2044657461696C446174612062616E647320616E6420636F6E6E6563742065616368206F66207468656D20746F2074686520617070726F70726961746520646174617365742E204F6620636F757273652C20796F752063616E20637265617465204D61737465722F4D61737465722C204D61737465722F44657461696C2F44657461696C2F44657461696C20616E64206F74686572207265706F7274732077697468207468652073616D65207761792E220000055374796C650100">
  <TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="5" RightMargin="5" TopMargin="5" BottomMargin="5" Columns="1" ColumnWidth="210" ColumnPositions.Text="0" HGuides.Text="" VGuides.Text="">
    <TfrxPageHeader Name="Band1" Height="22,67718" Left="0" Top="18,89765" Width="755,906">
      <TfrxMemoView Name="Memo1" Left="3,77953" Top="0" Width="710,55164" Height="15,11812" Frame.Typ="8" Frame.Width="2" Memo.Text=""/>
    </TfrxPageHeader>
    <TfrxMasterData Name="Band2" Height="18,89765" Left="0" Top="102,04731" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" RowCount="20">
      <TfrxMemoView Name="Memo2" Left="3,77953" Top="0" Width="710,55164" Height="18,89765" Color="65280" Memo.Text="[LINE#]. master"/>
    </TfrxMasterData>
    <TfrxPageFooter Name="Band3" Height="18,89765" Left="0" Top="291,02381" Width="755,906">
      <TfrxMemoView Name="Memo3" Left="3,77953" Top="0" Width="710,55164" Height="7,55906" Frame.Typ="4" Frame.Width="2" Memo.Text=""/>
    </TfrxPageFooter>
    <TfrxDetailData Name="Band4" Height="22,67718" Left="0" Top="143,62214" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" RowCount="6">
      <TfrxMemoView Name="Memo4" Left="3,77953" Top="0" Width="245,66945" Height="18,89765" Color="65535" Memo.Text="[LINE#]. detail1"/>
    </TfrxDetailData>
    <TfrxDetailData Name="Band5" Height="41,57483" Left="0" Top="188,9765" Width="755,906" Columns="1" ColumnWidth="200" ColumnGap="20" RowCount="4">
      <TfrxMemoView Name="Memo5" Left="3,77953" Top="0" Width="245,66945" Height="37,7953" Color="255" Memo.Text="[LINE#]. detail2"/>
    </TfrxDetailData>
  </TfrxReportPage>
</TfrxReport>
Результат отчёта (т.е. шаблон наполненный данными, именно то что на печать уходит) тоже можно сохранить в XML файл.

Формы и Код позволяют делать довольно гибкие "автономные" отчёты.
Есть ещё наследование отчёта и подотчёты....


Название: Re: Отчетные формы в QT?
Отправлено: Tonal от Август 02, 2008, 07:55
FastReport - движёк отчётов. С версии 3 или 4 так же можно выдернуть самостоятельное приложение и как COM библиотеку.
Изначально это был пакет (библиотека) для Delphi/C++Builder.


Название: Re: Отчетные формы в QT?
Отправлено: Пантер от Август 19, 2008, 19:18
Not Found
The requested URL /p/unnstudi%D0%BEreport/ was not found on this server.
:(


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Август 19, 2008, 19:30
враки :)
http://code.google.com/p/unnstudioreport/ - ссылка рабочая


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Август 19, 2008, 20:16
а, ну тогда ясно...
одного желания помочь мало - есть ещё множество всяких НО, мешающих этой-самой помощи )


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Август 31, 2008, 10:18
я сегодня ковырялся с новым нцрепортом, обратил внимание на общую деталь у всех полей формы - в дизайнере каждому полю можно задать выходной формат значения (строка, число, датавремя, булеан) независимо от исходного
и тут прикинул: у меня есть наработка - расширяемая база примитивов с общей абстрактной основой и контейнером для удобства (по принципу обёртки и расширяемости аналог QSqlDriver + QSqlDatabase)...проще говоря, контейнер, который работает с примитивом (строка, целое/дробное число, дата/время/датавремя, булеан) или наследником примитива (хтмл, число с символом деньги и т.п.) + позволяет валидировать, коррелировать значения по базовым или дополнительным параметрам, создавать виджеты для редактирования значений (по принципу фабрики) и т.д.
думаю, эту структуру можно было бы использовать в твоём рендере/дизайнере в качестве "поля"


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Август 31, 2008, 13:37
несколько не о том. конечно, я не знаю твоих задумок - что и как ты собираешься реализовывать...
объясню частный банальный случай:
имеем базовые типы данных: строка, целое число, дробное число, датавремя, булеан; требуется числа определённого столбца выводить в отчёт с символом валюты выбранной страны
наследуемся от класса дробного числа, определяем условия, при которых будет отображаться некоторый символ (ну, например, если значение не пустое и не равно нулю), регистрируем новый класс в контейнере (или запихиваем в плагин - контейнер сам подхватит при инициализации) - и вуа-ля, в дизайнере можно явно указать для поля тип "деньга" и выбрать символ, а рендер видит всё тот же контейнер и даже не знает что за тип в нём крутится - пропускает через него данные и выводит результат на печать
а валидация - это опциональный бонус, которому всегда можно найти применение...


Название: Re: Отчетные формы в QT?
Отправлено: ритт от Август 31, 2008, 14:58
наше дело предложить, ваше - отказаться :)
простота в написании == сложность в использовании