Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Обсуждение исходников с сайта _ Lime Report - Qt генератор отчетов

Автор: TEHb 4.9.2015, 15:15

Вниманию общественности представляется Lime Report - кросс-платформенная С++ библиотека, написанная с использованием Qt framework и предназначенная для разработчиков программного обеспечения, которые хотят добавить в свое Qt приложение возможность формирования отчетов или печатных форм, генерируемых на основании шаблона.
Дизайнер отчетов, входящий в состав этой библиотеки, позволит быстро и интуитивно-понятно сформировать шаблон печатной формы, который может быть сохранен в формате XML и использован в дальнейшем для генерации страниц отчета. Полученные таким образом страницы могут быть направлены на предварительный просмотр, в PDF файл или на принтер. В качестве источника данных поддерживается SQL база данных или данные, переданные из приложения с использованием интерфейса QAbstractTableModel. Также из приложения могут быть проинициализированы переменные, которые доступны в качестве параметров запросов к базе данных.
Задача LimeReport - оснастить Ваше приложение функционально-богатым и в тоже время простым в использовании инструментом генерации отчетов, которым смогут пользоваться даже неискушенные в информационных технологиях пользователи.

Основные возможности:
Кросс-платформенность
Встроенный дизайнер отчетов
Встроенный предварительный просмотр
Внешнее или внутреннее подключение к источнику данных
Возможность передавать параметры для внутренних запросов к базе данных из внешнего приложения
Различные типы бэндов, позволяющие создать отчет любой сложности.
Верхний, нижний колонтитулы страницы.
Группировка данных (GroupHeader, GroupFooter, Subdetail, SubdetailHeader, SubdetailFooter)
Групповые функции (SUM, COUNT, AVG, MIN, MAX)
Элементы отчета : Текст, Геометрические фигуры(линия, эллипс, прямоугольник), Изображение
Возможность объединять элементы в горизонтальную группу
Возможность использования HTML для форматирования полей вывода
Возможность использования скриптов в для формирования выходных данных
Автоматическое вычисление высоты бэнда
Интеллектуальное рассечение бэнда с переносом данных на следующую страницу


http://limereport.ru
Демо, описание, файлы для скачивания: http://limereport.sourceforge.net/

Автор: ViGOur 14.9.2015, 10:05

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

Автор: TEHb 12.10.2015, 12:01

Прошу прощения, зарегистрировался. Как добавить исходники?

Автор: ViGOur 12.10.2015, 13:03

Хм, видимо после переноса в связи с установкой нового PHP, что-то `поехало`, попробую поправить...

Автор: TEHb 16.10.2015, 16:32

И все же, "где у него кнопка?" :lol:
В смысле-появится ли возможность добавлять исходники?

Автор: ViGOur 19.10.2015, 9:54

Угумс, работаю над этим. :)
Просто пока не понятно, что поехало, так как я перенес сайт на новый сервер, с новой версией PHP.
Пока разбираюсь...

Автор: Litkevich Yuriy 25.10.2015, 8:02

Два замечания:
1) чтобы демка собралась с Qt4 нужно поправить код  patch0.zip ( 635 байт ) : 276

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

Автор: TEHb 27.10.2015, 8:25

Цитата(Litkevich Yuriy @ 25.10.2015, 9:02) *
Два замечания:
1) чтобы демка собралась с Qt4 нужно поправить код  patch0.zip ( 635 байт ) : 276

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



1. Спасибо,поправим.
2. Возможно демо перенасыщена? Принцип построения отчета принципиально не нов-определить бэнды,перетащить поля,подключить источник.Просмотр отчета запускается у Вас?

Автор: Litkevich Yuriy 27.10.2015, 12:17

Цитата(TEHb @ 27.10.2015, 10:25) *
Просмотр отчета запускается у Вас?
Да, но попытка в лоб добавить полей привела к некой каше в итоговом отчёте, которая не понятно как получилась. Я ожидал подпись со своим именем в конце отчёта, но почему-то подпись получилась в конце каждого блока данных.

Автор: TEHb 27.10.2015, 13:32

Поле с подписью расположено на Report Footer?

Автор: Litkevich Yuriy 27.10.2015, 14:03

Цитата(TEHb @ 27.10.2015, 15:32) *
Поле с подписью расположено на Report Footer?
Сейчас уже не скажу, но вроде было так:
когда я добавил это поле в последний блок, то в отчёте я не увидел его;
затем добавил его в следующий, считая снизу, блок, то поле стало появляться в отчёте во многих местах.

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


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

Автор: TEHb 27.10.2015, 16:48

Вот что называется "глаз замылен". Не рассматривали поведение объектов под таким углом. Изначально исходили из подобия функционала Fast Report,подсознательно подразумевая схожее поведение в построении отчетов: сцена с определенной иерархией бэндов,перемещение и масштабирование объектов мышью и тп. Передислокация объектов в правом окне ("Report structure") вызовет ряд вопросов,на которые трудно выдать однозначный алгоритм поведения: какие координаты ему определить? Как масштабировать? Какой источник данных определять? И тд. Собственно Report structure на данный момент рассматривается для быстрого поиска по схеме нужного поля и и вызова редактора по дабл-клику объекта.
Можно узнать на каком устройстве вы тестировали? Особо интересует способ ввода (мышь,тач..).
Хотел загрузить отредактированный шаблон с подписью,но не получается прикрепить файл. Вы можете в отчет добавить Report Footer из менюшки слева от Object Inspector и кинуть туда Memo с подписью. Подпись появится в конце отчета. Это примерно то чего Вы хотели добиться?

Автор: Litkevich Yuriy 27.10.2015, 17:20

Цитата(TEHb @ 27.10.2015, 18:48) *
Можно узнать на каком устройстве вы тестировали? Особо интересует способ ввода (мышь,тач..).
Настольный компьютер с мышкой.
Цитата(TEHb @ 27.10.2015, 18:48) *
Хотел загрузить отредактированный шаблон с подписью,но не получается прикрепить файл.
zip поможет (в том числе простая приписка в конце расширения файла)


Цитата(TEHb @ 27.10.2015, 18:48) *
и кинуть туда Memo с подписью
Под Memo понимается то, что в программе называется TextItem?

Автор: TEHb 27.10.2015, 17:25

Спасибо
Да,TextItem.
Прикрепил файл.

 demoReport1_with_sign.zip ( 8.22 килобайт ) : 199
 demoReport1_with_sign.zip ( 8.22 килобайт ) : 195
 

Автор: Litkevich Yuriy 27.10.2015, 17:27

Ещё замечания:
- Левую часть QSplitWidget-а (если это он, вобщем там где левые QDockWidget-ы) нельзя схлопнуть ( на мониторе 3:4 не хватает места при размещении элементов на "Холсте").

К стати, хотелось бы определится с терминами, я не люблю кальки с английского.
- В центре что? (я пока Холстом называю)
- Band - полоса (типографский термин)?

Автор: TEHb 28.10.2015, 9:36

Цитата(Litkevich Yuriy @ 27.10.2015, 18:27) *
Ещё замечания:
- Левую часть QSplitWidget-а (если это он, вобщем там где левые QDockWidget-ы) нельзя схлопнуть ( на мониторе 3:4 не хватает места при размещении элементов на "Холсте").

К стати, хотелось бы определится с терминами, я не люблю кальки с английского.
- В центре что? (я пока Холстом называю)
- Band - полоса (типографский термин)?


1. Принято к сведению
2. - лист, сцена, холст,как удобно.
- да, полоса (некая прямоугольная область данных).

Автор: Litkevich Yuriy 28.10.2015, 10:12

Похоже таблицы в отчёте - вещь не съедобная для Lime Report?

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

Автор: TEHb 28.10.2015, 11:22

Цитата(Litkevich Yuriy @ 28.10.2015, 11:12) *
Похоже таблицы в отчёте - вещь не съедобная для Lime Report?

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


Хотелось бы уточнить что именно вы имеете ввиду под таблицами ? Простую таблицу из заголовка и данных в отчете сделать легко.

Автор: Litkevich Yuriy 28.10.2015, 20:07

Обычную таблицу, коих в любых бумажных документах полно.
Можно конечно "склеить" TextItem-ы с помощью компоновщика, но уж больно неудобно их размер регулировать.
Да и возможности по горизонтальному выравниванию/растягиванию TextItem-ов слабые, а у компоновщика я их вовсе не нашёл

Например, понадобилось сделать такую строку, выровненную по центру листа:

<Некий текст><переменная>
Сцепил их компоновщиком, а как ему сказать, чтобы он выравнивался по центру листа.

И такое тоже не понял как сделать:
<Некий текст>_____________________<переменная>
Нужно растянуть на весь лист, свободное место между текстом и переменной заполняется подчёркиванием типа обычных концовок в отечественных документах:

Руководитель отдела______________________________________ Иванов И.И.

Автор: TEHb 30.10.2015, 3:14

Будем думать на развитием компоновки. Спасибо, что обратили наше внимание на этот аспект.

Автор: TEHb 3.11.2015, 16:01

Версия Lime Report 1.2.1 доступна для скачивания:

1. Добавлена возможность скрытия боковых панелей;
2. Улучшен внешний вид и функциональность элементов отчета;
3. Добавлена функция печати в PDF;
4. Исправлена ошибка при использовании переменных в SQL - запросе, возникающая при предварительном просмотре в окне редактора источника данных;
5. Исправлена ошибка инициализации, возникающая при множественном использовании переменной в SQL- запросе.
6. .. и другие небольшие недочеты.

Автор: TEHb 18.12.2015, 11:43

Версия Lime Report 1.3.1 доступна для скачивания:

Добавлено:
1. Колонки
Некоторые банды могут быть разделены на колонки
2. Управление расположением объектов
Элементы отчета можно прижимать к левому или правому краю,
центрировать или растягивать на всю длинну контейнера
3. Старт новой страницы на группе
4. Сброс нумерации страниц на группе
5. Добавлен табличный режим в горизонтальную группировку
Этот режим позволяет распределять внутреннее пространство внутри группировки
между объектами при фиксированном размере самой группировки.

Исправлено:
Подключение к postgresql
Ошибка, не дававшая корректно работать более чем одному экземпляру LimeReport::ReportEngine

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)