LINUX.ORG.RU

Релиз 1.1 генератора отчетов CuteReport

 ,


7

3

CuteReport — это легкий, мощный и расширяемый генератор отчетов, основанный на фреймворке Qt. В основe CuteReport состоит из 2 частей: базовая библиотека и дизайнер шаблонов. Обе — полностью модульные, и их функциональность может быть легко расширена с помощью написания дополнительных модулей. CuteReport абсолютно абстрагирован от входящих данных и может использовать как хранилище данных файловую систему, базу данных, систему контроля версий и пр. Цель проекта — предоставить мощное, но в то же время простое даже для неопытного пользователя или дизайнера средство для быстрого построения сложных отчетов.

Общественная версия проекта распространяется под лицензиями GPL и LGPL.

Основной сайт проекта

SourceForge

Скачать исходники, сборки, документацию

>>> Подробности (англ.)



Проверено: Shaman007 ()
Последнее исправление: Klymedy (всего исправлений: 7)

Ответ на: комментарий от anonymous

nous pouvons communiquer en français si monsieur plaît.

Как ваша воля, Судярь (ведь так быдло должно взывать, когда обращется к вышему сословью).

Можно и en français, но придется гуглить.

А так я знаю на этом благородном языке всего лиш две фразы:

на быдлячей мови: вжэ нэ пью бо нэма

Je ne mange pas six jours

webmak ★★
()
Ответ на: комментарий от BlackMoon

Веб-сервис для ботаников, которые в реальной экономике не работают.

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

webmak ★★
()
Последнее исправление: webmak (всего исправлений: 3)
Ответ на: комментарий от SystemD-hater

Ну раз от вас прозвучал вопрос в теме про Qt и отчет на нем, возможно вы что-то знаете... другой связи не видно.

anonymous
()
Ответ на: комментарий от baldman88

есть ли возможность менять данные в отчете (редактировать выводимый текст) во время предпросмотра

Пока нельзя, но проектировалось с учетом этого функционала. Будет в версии 1.2

AlFoX
() автор топика
Ответ на: комментарий от BlackMoon

Интернет или облачные технологии это слабое звено в бизнес-цепочке, это звено может порваться.

Без интернета бизнеса в том виде, в каком ты к нему привык не было бы вообще. Международные переводы денег? Ну может за недели две переведём, но так вообще до месяца. Поиск поставщиков? Удачи! Приёмные часы, каталоги почтой, вот это всё.

Кроме того, у тебя какие-то очень наивные представления об интернете. Да, он довольно хрупок, но убить его будет очень сложно. Вызвать временные массовые отключения? Да. Недоступность отдельных сегментов сети? Да. Разрушить сеть полностью? Нет. В 2015 году уничтожение интернета (глобально) будет катастрофическим и приведёт к серьёзным негативным последствиям во всех сферах человеческой деятельности. При этом для жителей слаборазвитых регионов по началу будет всё как обычно, только самолёты с гуманитарной помощью перестанут летать.

Есть такое понятие, автономность бизнеса, т.е. бизнес должен работать даже если нет интернета или облачный сервис решил закрыться.

Есть. И в интернете такие автономные бизнесы представлены автономными системами со строгой нумерацией.

Я индивидуальный предприниматель, вся моя бухгалтерия хранится у меня на компьютере и размещать свою бухгалтерию где-то у «доброго дяди».... это просто безумие какое-то.

Согласен полностью. Правда, с твоей нелюбовью к добрым дядям (хотя чего же это они добрые? Всё оплачено по договору деньгами), бэкапы тоже хранить у себя на компьютере надо?

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

Я «облачными сервисами» по своему выбору не пользуюсь и никому не советую. Ты меня с каким-то другим анонимусом перепутал.

anonymous
()

Документация?

Зашел в раздел «документация». Оно чего-то долго грузило, в итоге я увидел кучу белых страниц и скролл, потом отчаялся и нажал f5 - и тут на какой-то краткий миг появилось оглавление, но было уже поздно =(

Я это к чему: а нельзя просто линк на файл или просто в html-формате страничку запилить? Читать документацию в окне (сайта), которое открыто в окне (браузера) - это как-то совсем не юзабельно. таки хочется сохранить локально и читать в full-screen, такой маленький, 13-дюймовый, но full-screen...

ASGAlex
()
Ответ на: комментарий от anonymous

О, да, точно! Но расположить документацию в разделе «документация» как-то логичнее, нет?...

ASGAlex
()
Ответ на: Документация? от ASGAlex

Да есть такой глюк.

Для скачивания доступны PDF версии в разделе «Скачать».

А пока разбираемся как сделать хорошую онлайн документацию. Возможно что-то посоветуете? Исходный файл документации набирается и правится в ODT формате. Сконвертировать бы в постаничный HTML. Сейчас в онлайн документации сконвертированнй HTML одним куском. Поэтому долго подгружается. Можно бы выдавать PDF, но вроде кроме Firefox'a другие браузеры не имеют встроенного ридера.

AlFoX
() автор топика
Ответ на: комментарий от AlFoX

Как пользователь firefox скажу вам, что отключение встроенного ридера - одна из первых задач, которой я озаботился после его установки :-)

Из красивого что видел - это https://www.gitbook.com/

Пример сгенерированной документации можно посмотреть тут: https://docs.platform.sh/user_guide/

Вроде выглядит симпатично, но сам я пока не пользовался. Мои проекты пока не выросли за размеры, которым не хватило бы вики на гитхабе :-)

ASGAlex
()
Ответ на: комментарий от ASGAlex

За GitBook спасибо. А на гатхабе были (до недавнего времени) проблемы с относительными ссылками на картинки в его реализации Markdown. Так что поддержка нескольких переводов с ссылками на картинки в общем внешнем каталоге была проблематичной.

AlFoX
() автор топика
Ответ на: комментарий от AlFoX

https://ru.wikipedia.org/wiki/Генератор_отчётов
AlFoX (28.08.2015 10:25:06)

Из вики ничего не понял, по ссылкам на другие программы идти не стал. Цитата из вики:

Генератор отчётов — программа, позволяющая представить >информацию в удобочитаемом структурированном виде. Другими >словами сделать из данных информацию (документ, отчёт), >которую можно распечатать или сохранить в различных >электронных форматах.

Не очень информативное определение. Какую именно информацию? В вики про это ни слова. На помощь приходит сайт CuteReport, где первой ключевой возможностью заявлено

множество источников данных: SQL базы данных, текстовые файлы, внешняя модель данных

Т.е. любые базы данных? Но ведь они могут быть очень разные: бывают таблички с именами сотрудников и их зарплатой, бывают - логи переходов по сайту, могут быть сырые данные с каких-нибудь измерительных датчиков. Не говоря уже о возможной разнице в размерах и внутренней структуре. И что, генераторы отчетов применимы к любым базам данных? Что-то мне подсказывает, что нет.

Даже если на вход можно скормить любую базу данных, что дальше? Как правило, чтобы сделать из данных что-то удобочитаемое и структурированное, нужно их предварительно обработать. Как генераторы отчетов (сабж в частности) обрабатывают информацию из входных баз данных? Как они в сравнении с R/python/etc. ? Опять же, что-то мне подсказывает, что они вообще этим не занимаются, но из приведенного описания это никак не очевидно.

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

anonymous
()

легкое

Ага, да, конечно.

основанное на фреймворке Qt

Ненужно.

anonymous
()
Ответ на: комментарий от anonymous

Но ведь они могут быть очень разные

До тех пор пока данные могут быть структурированы (а они практически всегда такие, иначе смысла в таких данных нет) и могут быть представлены в виде абстрактной таблицы, они могут быть скормлены генератору. Некоторые генераторы могут брать данные только из SQL базы данных. CuteReport берет любые данные через специализированные модули.

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

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

Python сюда относится лишь косвенно. Генераторы отчетов могут использовать любой язык для внутренного скриптования. CuteReport использует JavaScript, как единственный(?) скриптовый язык, используемый в Qt.

На примере питона... Обработав данные, вам, естественно, нужно их представить пользователю. Можно вывалить в консоль, можно сделать свой шаблон (HTML или любой другой) и заполнить в нем предварительно помеченные места. А можно составить модель и передать ее на отображение генератору. Он постоит все ваши таблички, нарисует штрихкоды, построит диаграммы или графики, пронумерует строки и страницы, распечатает на принтере или сохранит в файле. Если вам нужно изменить стиль отображения, просто меняете шаблон отчета в WYSIWYG дизайнере, не трогая ваш код.

раздел с примерами работы программы

В исходниках есть десяток простых примеров. В каждом в графе «Description» есть описание того, что данный отчет делает и как.

Но спасибо за совет, постараемся сделать более сложные примеры.

PS. По большому счету, если вы не знаете что такое генератор отчетов и описание WiKi не помогает, врядли вам пока что это нужно ;)

AlFoX
() автор топика

Спасибо! Выглядит интересным, и кажется, свой велосипед говнокодить не нужно будет

kai3341
()
Ответ на: комментарий от AlFoX

Для неочевидных случаев и сложной логики, существует внутренняя поддержка JavaScript.

Похуже JS ничего не было?

anonymous
()
Ответ на: комментарий от AlFoX

PS. По большому счету, если вы не знаете что такое генератор отчетов и описание WiKi не помогает, врядли вам пока что это нужно ;)

Возможно. C идеей генерации удобочитаемых отчетов из сырых данных я знаком в-основном на примере Sweave. Он позволяет в latex-фаил, описывающий форматирование, вставлять куски кода на R, отвечающие за обработку данных.

CuteReport, насколько я понимаю, решает ту же проблему, но только в нем WYSIWYG-редактор вместо latex'а и JavaScript вместо R.

В исходниках есть десяток простых примеров. В каждом в графе «Description» есть описание того, что данный отчет делает и как.
Но спасибо за совет, постараемся сделать более сложные примеры.

Обратите внимание, на сайте Sweave, который я привел, в самом низу есть раздел Example files. Source - это то, что пишет пользователь, а PDF - это то, что получается в конечном итоге. Если вы не сталкивались с R и latex раньше, то source-фаилы могут показаться непонятными. Если сталкивались - то вам сразу будет ясно, о чем речь и каковы возможности Sweave.

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

Python сюда относится лишь косвенно. Генераторы отчетов могут >использовать любой язык для внутренного скриптования. >CuteReport использует JavaScript, как единственный(?) >скриптовый язык, используемый в Qt.

Т.е. для нетривиального анализа предлагается использовать JS, а не R или python. Понятно...

anonymous
()
Ответ на: комментарий от anonymous

Вы, мягко говоря, заблуждаетесь. Я разрабатываю софт для проведения соревнований по стрельбе из лука. Эти соревнования частенько проводятся в полях, где интернета нету кроме мобильного, а мобильный интернет до сих пор нестабилен даже в городе. Софт пишется для ускорения процесса, а не для замедления и поэтому использование интернета глупо. В своём проекте я использую qtrpt(немного доработаный) уже пару лет просто потому, что раньше для Qt не было ничего достойного. Минус qtrpt в том, что его пишет человек с Украины и его не обделила полетическая беда, он отказался предоставлять саппорт Русским когда я ему прислал патч с багфиксами.

Gin ★★
()
Ответ на: комментарий от anonymous

раздел Example files

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

source-фаилы могут показаться непонятными.

В том то и дело что цели может и одинаковые, но пути строго диаметральные. Где-то можно и в консоли кодить, а где-то RAD - самое оно. Как говорится в описании проекта «Цель проекта - предоставить мощное, но в то же время простое даже <b>для неопытного пользователя</b> или дизайнера средство для быстрого построения сложных отчетов.» Врядли неопытный пользователь будет учить R чтобы разобраться как изменить нумерацию страниц и не нумеровать первую, а начать нумерацию со второй. Чтение документации с примерами и использование WYSIWYG-редактора мне видится намного проще чем изучения языка. С другой стороны спец на любом языке накодит то что ему нужно и JavaScript не исключениe. Таким образом сохраняется баланс: простота для новичков и довольно возможностей для всех прочих.

Но, в конце концов, каждое решение имеет право на жизнь.

Т.е. для нетривиального анализа предлагается использовать JS, а не R или python.

Предлагается использовать то что уже есть в Qt. Как только появится возможность подключить другие языки, она будет использована. Пока что целевое назначение - использование как дополнительной библиотеки к программам на Qt, а там C++ и JavaScript. Ни R, ни питон.

AlFoX
() автор топика

В новость можно добавить для Ъ, что у продукта есть «Общественная версия» (GPL/LGPL) и «Профессиональная версия».

Ещё я не нашёл списка поддерживаемых выходных форматов. В начале юзверьмануала написано «Plain text and HTML support». Если это действительно полный список, то скромновато что-то, даже в моём велосипеде, который когда-то писал по работе, есть поддержка RTF (и наверняка не только в моём). RTF хорош, когда результаты отчёта надо вставить в какой-нибудь документ.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от anonymous

Ненужен от слова совсем анонимус, который в любую новость про опенсорсный проект тащит своё «ненужно».

А мне, возможно, нужно. Я не собираюсь тащить в свой проект жабу только из-за того, что в ней есть крутейший генератор отчётов. Для жабописателей он подходит - вот и славненько, пусть пользуются. И отчёты нужны совсем не обязательно там, где «сервисы», отчётик с табличками иногда нужно бывает склепать даже для узконаучного софта.

hobbit ★★★★★
()
Ответ на: комментарий от AlFoX

В чем отличие сабжа от фастрепорта? Пользуюсь фр, но ниасилил найти нормальной документации к нему. Ну и под онтопиком у него проблемы.

tmp_do
()
Ответ на: комментарий от CrossFire

Эта штука для Qt, а вышеперечисленные для других ненужных языков.

Ну хоть во мнении о ненужности ЯП Qt сошлись.

Napilnik ★★★★★
()

На самом деле, проект шикарный, хоть и вырвиглазный.

Я что-то не знаю других опенсорчных программ такого класса. Они вообще есть? Или это первый в своем роде (OpenOffice Calc или там Base не считается).

Xintrea ★★★★★
()
Ответ на: комментарий от Indexator

Кто смотрел на сие поделие, на его код, стоит ли оно внимания или это очередной быдлопрожэкт?

Автор крут, код лаконичен, методы маленькие, декомпозиция на высоте.

Некоторые классы излишне объемны, но в целом очень чистый код (я так не умею).

Xintrea ★★★★★
()
Ответ на: комментарий от hobbit

Plain text and HTML support

это поддерживаемое форматирование текста. т.е в объекте Мemo есть флажок, как распознавать входящий текст. Если установлен, то все теги преобразуются в форматирование, нет - выводится как есть. Выходной формат пока только PDF. Но модульная структура позволяет написать свой плагин для вывода в нужный формат. Это же только версия 1.1. Другие форматы будут.

AlFoX
() автор топика
Ответ на: комментарий от tmp_do

В чем отличие сабжа от фастрепорта

Работы еще много. Нет вложеных отчетов, нет наследования отчетов, нет Cross Table. Выходных форматов немного, Графики в зачаточном состоянии. Много еще чего. Но фаст репорт образец к которому мы стермимся. Позже сделаем импорт шаблонов из него в CuteReport. Скриптование врядли удастся перенести, а вот структуру документа, думаю, осилим.

AlFoX
() автор топика
Ответ на: комментарий от tmp_do

но ниасилил найти нормальной документации к нему

Документация у них на вебсайте в открытом доступе. И на русском в том числе.

AlFoX
() автор топика
Ответ на: комментарий от Xintrea

А интерфейс программы только англоязычный

Пока что да. Все впереди, но перевод интерфейса пока не в приоритете. Там еще многое может меняться, так что нет смысла делать работу, которую придется переделывать. Возможно к версии 1.4 дойдем до локализации интерфейса. Согласитесь что если стоит вопрос что сделать сначала: перевод чисел, валют, дат в текстовый вид (как например, $123.44 = сто двадцать три доллара сорок четыре цента) для всех локализаций, или заняться локализацией интерфейса, то первое более нужно. В интерфейсе и на на англ. можно разобраться.

AlFoX
() автор топика
Ответ на: комментарий от Xintrea

хоть и вырвиглазный.

Советы принимаются :)

AlFoX
() автор топика
Ответ на: комментарий от hobbit

Интересная тема. Насколько мне известно, для питона есть пару реализаций врапперов вокруг C++. Но внутренний язык для QScriptEngine и QML все равно JavaScript.

AlFoX
() автор топика
Ответ на: комментарий от Xintrea

Или это первый в своем роде (OpenOffice Calc или там Base не считается).

Тебе прям обязательно, чтобы похвалить проект, надо обосрать другие, причём такие, в которые вложена масса сил, и притом нужные людям?

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

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

Ты пьяный что ли? Никого я не обливал фекалиями.

Xintrea ★★★★★
()

Экспорт документа не работает. Хотя, работает печать в файл. Что наверное одно и то же.
И инструкцию по сборке в исходники добавьте.

ashot ★★★★
()
Ответ на: комментарий от AlFoX

Вы в какой стране? Не будет такого, как с qtrpt, что прекратили поддержку и приём багов/фиксов от Русских?

Gin ★★
()
Ответ на: комментарий от tmp_do

Для арча пакбилд будет?

Будет, если кто-то сделает ;) Мне известно, что кто-то этим занимался. Делать пакеты для всех дистрибутивов у нас банально не хватает ресурсов.

AlFoX
() автор топика
Ответ на: комментарий от Gin

Вы в какой стране?

Мы работаем в рамках законодательства США.

прекратили поддержку и приём багов/фиксов от Русских?

На этот вопрос вам не ответит ни один человек и ни одна компания, находящаяся за пределами Российской Федерации.

Поддержка гарантирована только для пользователей коммерческой версии в рамках законодотельства США, но по мере возможности, мы оказываем поддержку любому адекватному человеку в кратчайшие сроки.

При приеме багрепортов мы не спрашиваем страну проживания, национальность, политическиe прочие убеждения.

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

Надеюсь, это исчерпывающий ответ на ваш вопрос.

AlFoX
() автор топика
Ответ на: комментарий от mittorn

Вас что-то удивляет? Вы видимо немного далеки от мира программирования. Даже если фрэймворк который используется какой-то библиотекой тяжелый совсем не обязательно библиотека будет такой же. В проект который использует Qt будет добавлено совсем немного кода и как следствие прибавится не очень много в весе. Тут говорится о лёгкости библиотеки, не о лёгкости используемого фрэймворка.

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

Gin ★★
()
Ответ на: комментарий от AlFoX

Встроенная читалка PDF появилась в Chrome раньше, чем в Firefox. А недавно её ещё и открыли, так что возможно она есть даже в Chromium.

yurikoles ★★★
()
Ответ на: комментарий от anonymous

Далее клепаем шаблончики в жасперстудио

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

Xellos ★★★★★
()
Ответ на: комментарий от Gin

Минус qtrpt в том, что его пишет человек с Украины и его не обделила полетическая беда, он отказался предоставлять саппорт Русским когда я ему прислал патч с багфиксами.

Because of military aggression of Russia in Ukraine, the QtRPT project doesn't give any consulting help to the users living in Russia. And also doesn't accept any or councils and recommendations.

Any cooperation with the Russian users will be resumed only after a full conclusion of the troops from Ukraine.

QtRPT team | http://sourceforge.net/p/qtrpt/discussion/general/thread/d1aee30a/

Его право. Тем не менее, библиотека под APLv2, кто тебе мешает её форкнуть?

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.