XML файл описывает поведение вашей СУБД при работе с SQL сервером

           Инструментарий для создания  своей СУБД вы выбираете сами. Система не имеет языковых ограничений и язык общения с БД не имеет ключевого значения в этом проекте.
1
Принцип создания БД

В Базе Данных необходимо присутствие следующих таблиц

INI_- необходима при нинциализации СУБД, хранит XML файл работы БД (при желании скрыть содержимое файла конфигурации и обеспечить безопасность системы ZDB)

PARAMETERS - отвечает за ОТЧЕТНЫЕ формы. Заволняет глобальные переменные в отчетах (например название организации, имя директора, номера приказов и т.п.)

REPORTSSTRUCTE - содержит в себе данные для заполнения уже конкретной формы отчета (поле NAME) по конкретной категории(поле OBJ_TYPE). Названия полей из запроса в поле "SQL" соответствуют названиям переменных в отчетах.

REPORTTABLES - необходима для заполнения таблицы с порядковым номером "NUMBERINDOCUMENT" в отчете данными из запроса в поле "SQL"

USERCHANGER - содержит данные на сотрудника для заполнения отчетов и коды сотрудников. Коды позволяют отследить кто и когда делал изменения в таблицах БД.

2 Все операции предпочтительно проводить припомощи ПРОЦЕДУР с названиями подобными

"SP_V_имя таблицы" будет отаечает за просмотр той самой "ТАБЛИЦЫ"
"SP_U_имя таблицы" будет отаечат за правку  "ТАБЛИЦЫ"
"SP_I_имя таблицы" будет отаечает за вставку записей в "ТАБЛИЦУ"
"SP_D_имя таблицы" будет отаечает за удаление записей из "ТАБЛИЦЫ"

           Если вы загрузили демо версию то заметите, что порядок следования полей в "SP_U_имя таблицы" должен соответсвовать порядку следования полей процедуры "SP_V_имя таблицы".
           Это правило не касается процедур SP_I_ и SP_D_ по естественным для любой БД причинам.
Все шаблоны процедур уже имеются в демо версии программы.
Если возникло желание что-нибудь переделать в демо версии то действуйте по своему усмотрению.
            Использование процедур при работе с БД дает возможность осуществлять дополнительные действия, необходимые для решаемой задачи. Стандартное решение в виде "select * from и т. д.", кажется более удобным и очевидным, но это решение сильно связывает программу и Базу Данных, что ведет к необходимости переписывать исходный код программы при изменении структуры БД. А каждому кодеру известно, что каждое новое изменение не приводит к снижению количества старых ошибок, в добавок, увеличивается вероятность появления новых ошибок в коде.

3 Принцип организации XML файла
Весь конфигурационный файл ( sysZXVADstructer.xml ) можно разбить на три основные ветки.
ЭТО:
"sysbase"
Ветка структуры ВАШЕЙ базы данных с делением по пользователям БД. То есть у каждого из пользователей базы может быть свое видение БАЗЫ (своё АРМ). В демо вы можете увидеть только ветку rusname="Администратор" name="baseadmin" т.к. эта версия расчитана только на одного SYSDBA.
"select", "insert", "update" Ветка с данными о возможных действиях с записью (SELECT, INSERT, UPDATE) для  DELETE ветка отсутствует по роли команды в языке SQL.
В ветке "SELECT" как вы можете заметить есть поле "fillmetod", используемое для выделения записей удовлетворяющих заданному критерию (цветом или стилем или всем сразу).
"defaultsdata"
Ветка с глобальными значениями, используемыми по умолчанию для работы программы

Оставшиеся две ветки используются для вывода служебных сообщений и работы с процедурами в БД

4 Принципы создания шаблона отчета
     Все формы отчетов доступны в каталоге "\Resource\Reports".
Порядок заполнения отчета одинаков для документов HTML, OpenDocument и RTF.
 1) Сначала присваиваются значения глобальным переменным из таблицы "PARAMETERS",
  2)  затем значениями из  SQL запроса в таблице "REPORTSSTRUCTE" (в особо сложных случаях можно записать несколько завпросов со стандартным для SQL разделителем ";")
   3)  В последнюю очередь заполняются таблицы отчета, данными из  SQL запросов в таблице "REPORTTABLES".

      В демо версии предусмотрены отчеты по заказчивам и товарам. Но вы можете создать свои более красивые и сложные формы отчетов. Не забывайте, что названия файлов отчетов должны  соответствовать содержимому таблицы "REPORTSSTRUCTE".


Сайт управляется системой uCoz