Отчетность. Как правильно реализовать?

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Отчетность. Как правильно реализовать?

Сообщение dunin » 11.07.2011 11:13:33

Понравился вот этот пост:
VirtUX писал(а):...
Секунда очень важна! Ведь именно в этот момент приходит озарение. Потом уже через минуту появляется уверенность в идее. Через час готов начальный план. Через неделю пожинаем первые плоды. Через месяц начинаем альфа-тест. Через год получаем гонорар и удовлетворение от проделанной работы. ИМХО без секунды никак нельзя!
...

Прочитав трижды, таки решился обратится с вопросом к сообществу...

Собственно, сразу сам ВОПРОС:
- как в программе, написанной на Lazarus реализовать нормальную отчетность? В какую сторону двигаться, чтобы не было стыдно за бесцельно прожитые секунды, часы, etc?

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

Разъясняю как мне видится (варианты решения):
- используем LazReport - не годится. Причина субъективна - он мне не нравится. Не уверен, что попадает под термин "нормальная отчетность" (поправьте кто точно знает);
- пишем свой аналог LazReporta - не годится. Слишком трудозатратно;
- используем готовые офисные шаблоны (Excel), вызываем шаблон через OLE механизм - загружаем данные - открываем(печатаем) через тот же Excel. Не годится - не кроссплатформенно;
- тот же номер с Open/Libre под Linux совсем не работает (или у кого-нибудь работает?);
- используем fpspreadsheet. И потом вызываем сформированный файл связанной программой. Кросплатформенно, но опять не годится. Через него можно выгрузить данный во внешний файл, но нельзя правильно оформить отчет (нет редактора);
- Формируем HTML файл (работаем как с текстом) и затем открываем или связанной программой (браузером) или scalc. Вроде нормально, но не додумал как хранить и редактировать шаблоны. Опять же или нужен редактор или...
- куча других вариантов на форуме тоже предлагалась (CSV и т.д.), но опять же не нашел ни одного попадающего под вышеописанный термин...

У кого какие мысли? :roll:
Или может кто-то эту проблему уже давно решил, а я голову ломаю? Поделитесь пожалуйста... Спасибо.
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: Отчетность. Как правильно реализовать?

Сообщение Light13 » 11.07.2011 11:43:23

Реализовывал когда-то через LazReport.

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

Код не могу приложить - остался у заказчика.

Ну и конечно требуется дать мануал по построению отчетов пользователю программы.
Аватара пользователя
Light13
постоялец
 
Сообщения: 127
Зарегистрирован: 17.07.2009 07:50:10
Откуда: Челябинск

Re: Отчетность. Как правильно реализовать?

Сообщение Brainenjii » 11.07.2011 11:51:34

Я за html вариант (правда все отчеты что есть - пока в LazReport, но тоже не нравится). Редактирование/сохранение форм отчетов - блокнот/oocalc/excel через "Сохранить как..." -> html.
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: Отчетность. Как правильно реализовать?

Сообщение debi12345 » 11.07.2011 12:35:25

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

А в отдельный DLL/EXE-файл эту отчетность вынести ? Уж редактирование и сборку одного логически шаблонного файла (или группы таких файлов) специалист должен осилить :)
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5752
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: Отчетность. Как правильно реализовать?

Сообщение Vadim » 11.07.2011 13:01:47

dunin писал(а):- Формируем HTML файл (работаем как с текстом) и затем открываем или связанной программой (браузером) или scalc. Вроде нормально, но не додумал как хранить и редактировать шаблоны. Опять же или нужен редактор или...

Я как раз работаю с HTML. :)
У меня все отчёты простые и состоят из:
- заголовок отчёта,
- текст, который под заголовком,
- таблица с данными,
- суммирующий итог по таблице с данными,
- текст, который под таблицей (например "Бухгалтер ______ подпись")
Так вот, весь шаблон храню в INI-файле. Собственно в этом файле полей столько, сколько перечислено в списке. Для таблицы и суммы - текст запроса. Далее, этот инишник скармливается процедуре-генератору отчёта. И - оп-ля, получаю открытый браузер с отчётом.
Когда нужен новый отчёт - делаю новый инишник, а программа, при открытии, считывает названия файлов-инишников, так новый отчёт автоматом появляется в программе. Не комильфо, но и программу перекомпилировать не надо. Конечно, для очень сложных тысячестраничных отчётов такое не годится. :)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Отчетность. Как правильно реализовать?

Сообщение dunin » 11.07.2011 13:50:52

debi12345 писал(а):А в отдельный DLL/EXE-файл эту отчетность вынести ? Уж редактирование и сборку одного логически шаблонного файла (или группы таких файлов) специалист должен осилить :)

Думал. Это крайний вариант. Поставка получается: программа + лазарус или просто FPC. Сложновато для современной молодежи, работающей в аутсортинговых конторах... У них же как:"паскаль! это же прошлый век! ну кто так пишет!...". Ну и всякие слова вроде "специалист легко справится с перекомпиляцией..." в общем случае не вызывают у заказчика положительных эмоций...

Brainenjii писал(а):Я за html вариант (правда все отчеты что есть - пока в LazReport, но тоже не нравится). Редактирование/сохранение форм отчетов - блокнот/oocalc/excel через "Сохранить как..." -> html.

Vadim писал(а):Я как раз работаю с HTML. :)
У меня все отчёты простые и состоят из:
...
...Конечно, для очень сложных тысячестраничных отчётов такое не годится. :)

Во-во... Тоже получилось (см.рис), но решил все как-то слишком просто: в отчет вываливаются данные "как в таблице", т.е. что в гриде видите - то в отчет и уйдет. А вот если платежек надо штук так 50 распечатать или сложный отчет или отчет с каким-нибудь вензелем/эмблемой? Без шаблона не обойтись.
И вариант HTML/браузер имеет еще один недостаток: если в отчете, скажем надо просто поменять подпись или дату - в случае с офисными приложениями можно просто перед печатью подправить руками без переформирования отчета, в браузере так не получится.
1.png
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: Отчетность. Как правильно реализовать?

Сообщение v-t-l » 11.07.2011 14:46:52

v-t-l
энтузиаст
 
Сообщения: 728
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: Отчетность. Как правильно реализовать?

Сообщение dunin » 11.07.2011 15:22:15

v-t-l, спасибо за наводку. :) Очень интересный компонент.
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29

Рейтинг@Mail.ru