Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Lime Report - Qt генератор отчетов
Форум на CrossPlatform.RU > Административный > Crossplatform.ru - все о нем > Обсуждение исходников с сайта
TEHb
Вниманию общественности представляется 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
Если вы зарегистрируетесь, то появится возможность зайти на сам сайт crossplatform.ru и добавить туда описание ваших исходников, а в данной теме уже обсуждать их с теми, кому они интересны
TEHb
Прошу прощения, зарегистрировался. Как добавить исходники?
ViGOur
Хм, видимо после переноса в связи с установкой нового PHP, что-то `поехало`, попробую поправить...
TEHb
И все же, "где у него кнопка?" :lol:
В смысле-появится ли возможность добавлять исходники?
ViGOur
Угумс, работаю над этим. :)
Просто пока не понятно, что поехало, так как я перенес сайт на новый сервер, с новой версией PHP.
Пока разбираюсь...
Litkevich Yuriy
Два замечания:
1) чтобы демка собралась с Qt4 нужно поправить код Нажмите для просмотра прикрепленного файла
2) С дизайнером не разобрался, какое-то месиво из полей наложенных друг на друга, не понятно как это создано, как будет выглядеть и как редактировать.
TEHb
Цитата(Litkevich Yuriy @ 25.10.2015, 9:02) *
Два замечания:
1) чтобы демка собралась с Qt4 нужно поправить код Нажмите для просмотра прикрепленного файла
2) С дизайнером не разобрался, какое-то месиво из полей наложенных друг на друга, не понятно как это создано, как будет выглядеть и как редактировать.



1. Спасибо,поправим.
2. Возможно демо перенасыщена? Принцип построения отчета принципиально не нов-определить бэнды,перетащить поля,подключить источник.Просмотр отчета запускается у Вас?
Litkevich Yuriy
Цитата(TEHb @ 27.10.2015, 10:25) *
Просмотр отчета запускается у Вас?
Да, но попытка в лоб добавить полей привела к некой каше в итоговом отчёте, которая не понятно как получилась. Я ожидал подпись со своим именем в конце отчёта, но почему-то подпись получилась в конце каждого блока данных.
TEHb
Поле с подписью расположено на Report Footer?
Litkevich Yuriy
Цитата(TEHb @ 27.10.2015, 15:32) *
Поле с подписью расположено на Report Footer?
Сейчас уже не скажу, но вроде было так:
когда я добавил это поле в последний блок, то в отчёте я не увидел его;
затем добавил его в следующий, считая снизу, блок, то поле стало появляться в отчёте во многих местах.

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


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


Цитата(TEHb @ 27.10.2015, 18:48) *
и кинуть туда Memo с подписью
Под Memo понимается то, что в программе называется TextItem?
TEHb
Спасибо
Да,TextItem.
Прикрепил файл.
Litkevich Yuriy
Ещё замечания:
- Левую часть QSplitWidget-а (если это он, вобщем там где левые QDockWidget-ы) нельзя схлопнуть ( на мониторе 3:4 не хватает места при размещении элементов на "Холсте").

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

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


1. Принято к сведению
2. - лист, сцена, холст,как удобно.
- да, полоса (некая прямоугольная область данных).
Litkevich Yuriy
Похоже таблицы в отчёте - вещь не съедобная для Lime Report?

Вообще наверное надо на движок HTML-ный переходить, тогда можно самые неожиданные отчёты делать, только хорошего визуального редактора не хватает.
TEHb
Цитата(Litkevich Yuriy @ 28.10.2015, 11:12) *
Похоже таблицы в отчёте - вещь не съедобная для Lime Report?

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


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

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

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

Руководитель отдела______________________________________ Иванов И.И.
TEHb
Будем думать на развитием компоновки. Спасибо, что обратили наше внимание на этот аспект.
TEHb
Версия Lime Report 1.2.1 доступна для скачивания:

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

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

Исправлено:
Подключение к postgresql
Ошибка, не дававшая корректно работать более чем одному экземпляру LimeReport::ReportEngine
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2018 IPS, Inc.