У меня нет большого опыта в управлении отчетами, но я работаю над приложением, которое работает так:
Существует интерфейс для пользователей, чтобы выбрать отчет, который они хотят просмотреть, из списка отчетов. Этот список заполняется таблицей отчетов в базе данных, которая содержит информацию, такую как имя отчета, имя файла и параметры, которые принимает отчет.
В этих отчетах есть несколько общих параметров - это диапазоны или сортировка, поэтому пользователь может получить отчет обо всех виджетах с номерами от 200 до 4000, сгруппированных по Foo.
Прямо сейчас человек разрабатывает хранимую процедуру и файл отчета одновременно. Они передают его мне, и я должен развернуть его, запустив сценарий sproc в рабочей среде и переместив файл .rpt в нужный каталог. Затем мне нужно вставить в таблицу отчетов запись с именем, именем файла и параметрами.
Это материально-техническая проблема, потому что нет отличного способа отследить, какие отчеты были развернуты на каких системах (просто потому, что они присутствуют, это не значит, что они обновляются, всего 4 системы, которые в идеале должны совпадать) и возможны несколько точек отказа:
1) Параметры в sproc не совпадают с параметрами в файле .rpt
2) Параметры в таблице отчетов не совпадают с параметрами в .rpt или sproc
3) Sproc обновляется, а файл .rpt не по какой-либо причине
4) Что происходит, когда новому отчету требуется параметр, который не был закодирован на странице параметров?
Все сводится к тому, что система недостаточно динамична. Как я уже сказал, я не знаю об отчетности, но у меня такое чувство, что парень, который делает отчеты, тоже не знает. Похоже, что должен быть лучший способ синхронизировать файлы sproc и .rpt и динамически запрашивать необходимые параметры через что-то вроде Reflection.
Как это обычно обрабатывается?