Вместо предисловия и рекламы (ver.2.0).

Предположим, что Вы написали замечательную программу для регистрации чего-нибудь и как-нибудь, причём в качестве базы данных Вы выбрали "нормальную" клиент-серверную базу данных, например MS SQL. Через некоторое время у Вас встаёт проблема вывода информации. Дело в том, что каждый из Ваших пользователей хочет получить распечатку нужной ему информации. Причём, у каждого своё представление о том, как она (распечатка) должна выглядеть. Причём эти Ваши пользователи не хотят форматировать текст в Word’е или Excel’е. Они хотят нажать кнопку, ну может быть ответить на пару вопросов, типа отчётной даты или номера счёта и получить желанную бумажку. Ещё через некоторое время Вы замечаете, что просто не успеваете за изменениями вкусов пользователей, и редактировать отчёты становится всё труднее. Вы начинаете задумываться о том, что неплохо бы иметь средство для быстрого создания отчётов и централизованного их хранения. Например, очень подошёл бы Access. А может быть Crystal Reports? И то, и другое требует установки на клиентские компьютеры большого количества ПО, настройки ODBC драйвера, да и работает не очень быстро. К тому же пользователям надоел ручной ввод информации, и они хотят автоматического импорта данных. Я уже не говорю о разграничении прав пользователей на доступ к отчётам и быстром доступе к ним (ну, например неплохо бы иметь дерево как в Explorer’е).

Вот моё решение:

  1. Все отчёты и другие объекты отчётной подсистемы хранятся в Вашей базе данных. Для их генерации в БД просто запустите прилагающийся скрипт.
  2. Для доступа к БД используется BDE, причём инсталятор всё для Вас поставит и не будет задавать дурацких вопросов. При первом запуске укажите имя сервера и имя базы данных. В дальнейшем, нужно ввести только имя и пароль.
  3. Вы входите в программу URepGen.exe и видите дерево отчётов (прям файловая система). Верхняя папка уже развёрнута и достаточно двойного щелчка по отчёту для его запуска. Если Вы зашли с правами администратора, то можете тут же редактировать и создавать отчёты. А если Вы простой пользователь, то панель инструментов урезана до минимума. Заблудиться невозможно.
  4. Система разграничения прав пользователей позволяет назначать права доступа как на папки, так и на каждый отдельный отчёт. Вы можете даже поместить один отчёт в несколько папок. И это будет именно один отчёт, а не несколько копий.
  5. Для создания отчётов используется парадигма табличных отчётов с возможностью множественных группировок и создания составных отчётов, соотношений тип главный-подчинённый. То есть сначала Вы создаёте запросы на языке SQL, комбинация которых составляет нужный отчёт, а потом рисуете форму отчёта.
  6. В качестве движка генератора отчётов используется Quick Report + QRDesigner. (Если Вам эти слова ничего не говорят - не страшно. Запустите прогу и Вы всё поймёте). Хотя система изначально писалась так, чтобы можно было подключить любой движок. Просто этот – мой любимый движок. Вначале я хотел подключить еще Report Builder, но передумал пока. В ближайших планах создание собственного движка, основанного на шаблонах (Text, HTML, Word, Excel) и технологии Active Scripting.
  7. Ну и наконец моя гордость – написание скриптов (макросов) на VBScript или JScript. К Вашим услугам обширная система объектов, их свойств и методов.
  8. Реализованы объекты для импорта данных. Позволяют на диалог запроса файла прицепить скрипт, в котором можно это файл обработать и выдать команду (серию команд) на выполнение SQL запросов, вызвав функцию ExecSQL.

На главную страницу

Hosted by uCoz