Вместо
предисловия и рекламы (ver.2.0).
Предположим, что Вы написали замечательную
программу для регистрации чего-нибудь и
как-нибудь, причём в качестве базы данных Вы
выбрали "нормальную" клиент-серверную базу
данных, например MS SQL. Через некоторое время у Вас
встаёт проблема вывода информации. Дело в том,
что каждый из Ваших пользователей хочет получить
распечатку нужной ему информации. Причём, у
каждого своё представление о том, как она
(распечатка) должна выглядеть. Причём эти Ваши
пользователи не хотят форматировать текст в
Word’е или Excel’е. Они хотят нажать кнопку, ну может
быть ответить на пару вопросов, типа отчётной
даты или номера счёта и получить желанную
бумажку. Ещё через некоторое время Вы замечаете,
что просто не успеваете за изменениями вкусов
пользователей, и редактировать отчёты
становится всё труднее. Вы начинаете
задумываться о том, что неплохо бы иметь средство
для быстрого создания отчётов и
централизованного их хранения. Например, очень
подошёл бы Access. А может быть Crystal Reports? И то, и
другое требует установки на клиентские
компьютеры большого количества ПО, настройки ODBC
драйвера, да и работает не очень быстро. К тому же
пользователям надоел ручной ввод информации, и
они хотят автоматического импорта данных. Я уже
не говорю о разграничении прав пользователей на
доступ к отчётам и быстром доступе к ним (ну,
например неплохо бы иметь дерево как в Explorer’е).
Вот моё решение:
- Все отчёты и другие объекты отчётной подсистемы
хранятся в Вашей базе данных. Для их генерации в БД просто запустите
прилагающийся скрипт.
- Для доступа к БД используется BDE, причём инсталятор
всё для Вас поставит и не будет задавать дурацких вопросов. При первом запуске
укажите имя сервера и имя базы данных. В дальнейшем, нужно ввести только имя и
пароль.
- Вы входите в программу URepGen.exe и видите дерево
отчётов (прям файловая система). Верхняя папка уже развёрнута и достаточно
двойного щелчка по отчёту для его запуска. Если Вы зашли с правами
администратора, то можете тут же редактировать и создавать отчёты. А если Вы
простой пользователь, то панель инструментов урезана до минимума. Заблудиться
невозможно.
- Система разграничения прав пользователей позволяет
назначать права доступа как на папки, так и на каждый отдельный отчёт. Вы
можете даже поместить один отчёт в несколько папок. И это будет именно один
отчёт, а не несколько копий.
- Для создания отчётов используется парадигма табличных
отчётов с возможностью множественных группировок и создания составных отчётов,
соотношений тип главный-подчинённый. То есть сначала Вы создаёте запросы на
языке SQL, комбинация которых составляет нужный отчёт, а потом рисуете форму
отчёта.
- В качестве движка генератора отчётов используется
Quick Report + QRDesigner. (Если Вам эти слова ничего не говорят - не страшно.
Запустите прогу и Вы всё поймёте). Хотя система изначально писалась так, чтобы
можно было подключить любой движок. Просто этот – мой любимый движок. Вначале
я хотел подключить еще Report Builder, но передумал пока. В ближайших планах
создание собственного движка, основанного на шаблонах (Text, HTML, Word,
Excel) и технологии Active Scripting.
- Ну и наконец моя гордость – написание скриптов
(макросов) на VBScript или JScript. К Вашим услугам обширная система объектов,
их свойств и методов.
- Реализованы объекты для импорта данных.
Позволяют на диалог запроса файла прицепить
скрипт, в котором можно это файл обработать и
выдать команду (серию команд) на выполнение SQL
запросов, вызвав функцию ExecSQL.
На главную страницу