Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Электронная документация

2.3K
08 октября 2002 года
Руслан
1 / / 08.10.2002
Существует следующая проблема:
Необходимо обеспечить автоматическое формирование программно-независимой документации. Ориентация на Windows-платформу. Данные должны храниться в MS SQL Server. Из чего вытекает два основных ограничения:
1) при разработке программы жестко не привязываться к шаблону выходного документа, структуре документа, отдельным полям документа и т.д.
2) при разработке программы жестко не привязываться к структуре БД.
Основная цель: раз написать программу и больше ее не трогать, а при изменении выходных документов только править их шаблоны.
Немного о выходных документах:
- сложная, разнородная структура (перечни, спецификации, отчеты и т.д.);
- наличие таблиц, картинок, возможно, диаграмм, формат А4-А3.

Пораскинув мозгами, нашел два пути решения проблемы:

1) MS SQL Server + XML + Delphi (+ ADO) = MS Word
XML служит для описания:
- шаблонов документов;
- правил формирования документов;
- запросов для выборки данных из БД;
- связи выходных данных запроса с полями документа;
- дополнительных данных, необходимых для формирования выходного документа.
XML-файлы хранятся в БД.
Delphi выполняет:
- анализ XML-файлов (парсер MSXML);
- выборку данных из БД через ADO;
- выдача на экран диалогового окна для ввода дополнительных данных;
- формирование Word-документа.
Недостатки:
- громоздкое, ручное описание на XML шаблона выходного документа;
- сложность формирования Word-документа.

2) MS SQL Server + XML + MS Word + Delphi (+ ADO) = MS Word
Шаблон выходного документа, в виде .doc файла, хранится в БД. Там же хранится и XML-файл с его описанием. Назначение XML-файла тоже что и в первом случае, только без первого пункта.
Delphi делает тоже самое за исключением последнего пункта. Вместо него - заполнение шаблона Word-документа.
Этот вариант лишен недостатков первого.

Но я вот думаю, а нет ли другого пути, даже пусть с использованием других средств? Только следует учесть:
- обсуждению не подлежит использование MS SQL Server;
- ориентация на Windows-платформу;
- удобство редактирования и однообразие представления выходных документов. Но в принципе от возможности ручного редактирования выходных документов можно отказаться, но сие будет очень неприятно;
- возможность дополнительного ввода (например, через запрос) данных отсутствующих в БД, но необходимых для формирования выходных документов;
- и еще одно - у меня огромная, устойчивая неприязнь к Java. Да и поскольку, заполнение, редактирование и обработка информации выполняются средствами Delphi, то и эту часть хотелось бы реализовать его силами.

Буду признателен всем кто примет посильное участие в обсуждении данной проблемы. В принципе, проблема не новая и наверняка уже ранее обсуждалась, есть готовые решения, возможно есть компоненты и посему буду благодарен если отошлете меня к соответствующим источникам.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог