Из
листа рассылки по программе ко мне пришёл вопрос по отчётам. Я ответил на это письмо, а потом подумал, что будет правильно, если этот текст будет вынесен в форум на обсуждение. Вот эта переписка:
<font color=black]] Если не секрет, какие отчеты планируется реализовать в первую очередь?
] Если можно приведите "шапки" этих отчетов.
У меня немного другой подход к отчётам. Мне не хочется делать какие-то отчёты "в первую" или "во вторую" очередь, я предпочёл бы сделать по-другому.
Основным недостатком отчётов первой версии было то, что они были "жёстко" прописаны в программе и не было никакой возможности расширить их количество. То есть, программа вводила жёсткие рамки на то, что именно можно посмотреть в отчётах, и никакие нововведения были невозможны. Немного спасало пользователей то, что была (и есть) возможность выгрузки данных в Excel, в котором можно сделать любой анализ данных.
Поэтому, чтобы избежать такой жёсткости, мне хотелось бы сделать так, чтобы была возможность самостоятельно настраивать отчёты, чтобы можно было подготовить отчёт так, как это необходимо конкретному пользователю. И сделав такую возможность я бы первый ею и воспользовался бы, для того, чтобы подготовить "базовый" комплект отчётов (и графиков) с возможностями хотя бы первой версии.
То есть, идея формулируется так: реализовать в программе не готовые отчёты, а средство для подготовки отчётов.
Теперь несколько слов о том, как именно я планирую это реализовывать.
За основу я хочу взять старый добрый HTML. Это замечательное средство, которое позволит отформатировать отчёт так, как это необходимо, которое может дать огромные возможности для подготовки данных. Думаю, что специально расписывать достоинства HTML-я нет необходимости.
Чего не хватает в HTML для генерации отчётов. Не хватает [а] средств конфигурирования панели настроек отчёта (ведь в каждом отчёте могут быть свои собственные настройки) и [б] средств для выбора данных из программы.
Решить эти проблемы пока планирую так: ввести в формат HTML дополнительные теги, при помощи которых можно будет описать панель настроек и выбираемые данные из базы. Программа будет конечно же предварительно обрабатывать HTML, настраиваясь в соответствии со специализированными тегами и убирая эти теги из текста (или замещая их нужными данными) для показа.
Кроме того, есть желание сделать возможность записи сформированных отчётов вместе с их настройками, это пригодится в случае, когда пользователь по стандартному подготовленному отчёту выбирает значения полей настройки и хочет сохранить эти значения. В этом случае программа будет просто сохранять новый шаблон с уже предустановленными параметрами отчёта.
Честно говоря, я впервые рассказываю об этом подходе и пока я не занялся подготовкой таких отчётов, в план работ (да и в подход) ещё можно внести какие-то коррективы. А поэтому мне было бы очень интересно услышать мнения на тему изложенного выше.
PS. Всё-таки добавлю список отчётов, которые я планировал сделать сам (и включить их в поставку программы):
1. Курсы валют.
2. Остатки по счетам. Может быть график будет улучшен возможностью показывать динамику не одного счёта а сравнительные динамики по нескольким группам счетов.
3. Диаграмма доходов и расходов.
4. Динамика изменения оборотов (гистограмма) по некоторому значению классификатора. Этот график будет полезен в случае, когда возникнет желание узнать, как изменялись расходы, например, на автомобиль, за пару прошедших лет помесячно.
Мне казалось, что этого будет достаточно. Готов рассматривать предложения.