LazReport (нужна инструкция)
Модератор: Модераторы
LazReport (нужна инструкция)
Здравствуйте!
Делаю БД (Lazarus + MS SQL Server). Все работает, добрался до отчетов, но не могу разобраться с LazReport (не выводятся данные).
Вопрос: может кто "навести" меня на инструкцию по решению данной проблемы?
Спасибо!
Делаю БД (Lazarus + MS SQL Server). Все работает, добрался до отчетов, но не могу разобраться с LazReport (не выводятся данные).
Вопрос: может кто "навести" меня на инструкцию по решению данной проблемы?
Спасибо!
Нет такой инструкции.
Сначала попробуйте вывести данные, например, в DBGrid. Если с этим все нормально, LazReport тоже будет работать.
Или поищите инструкцию к FreeReport - они очень похожи.
Сначала попробуйте вывести данные, например, в DBGrid. Если с этим все нормально, LazReport тоже будет работать.
Или поищите инструкцию к FreeReport - они очень похожи.
slyubez писал(а):Нет такой инструкции.
Сначала попробуйте вывести данные, например, в DBGrid. Если с этим все нормально, LazReport тоже будет работать.
Или поищите инструкцию к FreeReport - они очень похожи.
В dbgrid все отображается, а вот с репортом разобраться не могу. Пойду искать инструкцию к FreeReport.
Smola67 по FreeReport можно на оф. сайте скачать доки.
https://www.fastreport.ru/ru/download/free-report-vcl/
https://www.fastreport.ru/ru/download/free-report-vcl/
Предлагаю не ходить по чужим граблям, а сразу начать криейтить отчеты с помощью html
Если с fast(free)report работал, то не думаю что lazreport вызовет проблемы. А вообще говоря что то что то не работает , не описывая последовательность действий или не приводя кусок кода, это есть моветон. 
В итоге, когда БД разрастется, приобретет кучу связей между таблицами, код обработчиков LazReport для вычисления полей разрастется в два раза больше, да еще и скриптами обзаведется, встроенными в отчет, при этом наверняка возникнет дублирование одной и той же логики и кода для отображения данных в визуальных компонентах и для отображения их в отчете (например, условное цветовое выделение - отдельно кодить для dbgrid, отдельно для lazreport). Насколько сложно будет сопровождение этой системы отчетов, внесение изменений, можно только догадываться. А если БД отображать в объектную модель, то взаимодействие в отчетом вообще превратится в ад. Я лично перешел на html шаблоны))
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
java73
Твой совет хорош для простейших отчётиков.
Рисовать поизиционирование элементов гораздо удобнее чем кодить.
При наличии логики - в томже LazReport-e кодировать надо меньше, чем в основном приложение.
И самое главное - изменение отчёта в твоём случае влечёт перекомпиляцию основного приложения. LazReport позволяет полностью отвязать отчёт от основного приложения.
Для примера - у меня в продакшен системе > 1000 отчётов. Если бы они были зашиты в исполняемый файл - это бы сопровождать было невозможно. А так - один отчёт - один внешний файл. Разработчики не мешают друг-другу.
Ну и из LazReport сейчас экспорт в LO/OO/Excel работает достаточно хорошо. PDF тоже можно делать.
А простенькие отчёты можно на базе RxDBGrid сделать - просто экспорти из него данные. Там и раскраска экспортируется, и объединение заголовков, и итоги, и формулы.
Твой совет хорош для простейших отчётиков.
Рисовать поизиционирование элементов гораздо удобнее чем кодить.
При наличии логики - в томже LazReport-e кодировать надо меньше, чем в основном приложение.
И самое главное - изменение отчёта в твоём случае влечёт перекомпиляцию основного приложения. LazReport позволяет полностью отвязать отчёт от основного приложения.
Для примера - у меня в продакшен системе > 1000 отчётов. Если бы они были зашиты в исполняемый файл - это бы сопровождать было невозможно. А так - один отчёт - один внешний файл. Разработчики не мешают друг-другу.
Ну и из LazReport сейчас экспорт в LO/OO/Excel работает достаточно хорошо. PDF тоже можно делать.
А простенькие отчёты можно на базе RxDBGrid сделать - просто экспорти из него данные. Там и раскраска экспортируется, и объединение заголовков, и итоги, и формулы.
Не могу согласиться полностью)
Html шаблоны тоже отдельно от кода, мне ничего перекомпилировать не приходится. Есть универсальный "строитель", который с помощью данных из sql запросов парсит шаблон и выдает готовый html. А сверстать html можно тоже визуально, а можно, что даже удобнее, в каком нибудь sublime. И весит всё меньше, и дублирования нет. Но мои шаблоны это в основном документы, а не только таблицы с данными из бд, так что мне удобнее гораздо. Я честно пробовал)
Html шаблоны тоже отдельно от кода, мне ничего перекомпилировать не приходится. Есть универсальный "строитель", который с помощью данных из sql запросов парсит шаблон и выдает готовый html. А сверстать html можно тоже визуально, а можно, что даже удобнее, в каком нибудь sublime. И весит всё меньше, и дублирования нет. Но мои шаблоны это в основном документы, а не только таблицы с данными из бд, так что мне удобнее гораздо. Я честно пробовал)
В html нет понятия страниц. Соответственно прайс у вас выйдет в виде рулона туалетной бумаги.
LazReport - позволяет сделать корпоративный стиль: шапка с названием, контактами, страница №..
По поводу сохранения - я хранил шаблоны вообще в базе данных, очень удобно когда распределенная сеть. У клиентов один экзешник..
LazReport - позволяет сделать корпоративный стиль: шапка с названием, контактами, страница №..
По поводу сохранения - я хранил шаблоны вообще в базе данных, очень удобно когда распределенная сеть. У клиентов один экзешник..
В html можно разделять на страницы при печати, неправда.
Добавлено спустя 1 час 32 минуты 26 секунд:
Да и вообще много чего можно сделать для печати html с помощью css))
Добавлено спустя 1 час 32 минуты 26 секунд:
Да и вообще много чего можно сделать для печати html с помощью css))
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
java73 писал(а):Html шаблоны тоже отдельно от кода, мне ничего перекомпилировать не приходится. Есть универсальный "строитель",
Ага, проговорился. Так и запишем - ты сделал свой генератор отчётов, у которого формат вывода HTML
Оно конечно дело вкуса. Но, по моему мнению, при допиливании HTML документа до вменяемого вида, его размер и сложность уже не могут быть аргументом при сравнении с прочими форматами. Тут будет единственный аргумент - "Я привык к этому".
Но так как тут разговор про LazReport - то лучше отвечать по теме.
Из недостатов LR меня сейчас достают глюки с итогами по нескольким группам. Но это легко решается через скрипты. Поэтому руки не доходят поправить этот момент.
Ещё мне иногда в нём недостаёт стилей. Даже начал делать небольшие наработки в этом направлении.
В моем случае еще причиной было то, что иногда нужно иметь возможность редактировать получившийся "отчет". С html это легко, если использовать элементы веб формы, можно редактировать на ходу, плюс html можно открыть в любом вордо/райтере.
плюс html можно открыть в любом вордо/райтере.
И плеваться, ибо отображение там не всегда корректное, да еще и тормоза из-за неродного формата.
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
java73 писал(а):что иногда нужно иметь возможность редактировать получившийся "отчет"
Я долго не хотел делать экспорт в ods. Но меня задолбали пользователи. В итоге сейчас аакуратно сверстаный отчёта LazReport-а хорошо выглядит после экспорта в электронную таблицу.
Есть только одно большое НО - содержимое всего отчёта представляется как ячейки с текстом. Т.е. после выгрузки все числа имеют формат "текст".
Есть мысль на будущее доработать сам LR для обхода этой ситуации - хранить в сформированном отчёте ещё и числовое значение отображемых данных для каждой ячейки. Но пока ещё тему не проработал.
