3. Строение документов

Документы хранятся в таблице Docs. Номер документа UDN является сквозным.

Документ имеет три отображаемых поля, два строковых (Name и No), и одно поле даты. Производные от класса Doc объекты могут выносить в эти поля часть своей информации. Например, имя пользователя логично выносить в Name.

Поле No является особым именем или aliasом. Также его можно назвать внутренним именем или Id. Трудно формально определить использование этого поля. Можно привести примеры его использования в различного рода объектах: в классах это короткое латинское название класса, в пользователях - его login в SQL serverе, в бухгалтерских счетах - это номер.

Поле Folder является ссылкой на папку (UDN), куда входит данный документ. Shortcut хранятся как документ,

у которого DocFlags=1, a ParentDoc указывает на родительский документ.

Поле Deleted является признаком того, что документ удален, если данный класс предполагает логическое удаление.

При создании нового класса могут потребоваться другие таблицы. Поле, равное Docs.UDN следует называть в этих таблицах UDN и делать первым (требование стиля). Если объект имеет четко определимое название, alias и/или дату, то не следует заводить для них свои поля, а следует использовать поля Docs.

Для обслуживания работы с документами есть следующие макросы:

existUDN({UDNдокумента} - если документа с данным UDN нет, то выдается сообщение об
ошибке и программа завершается по return 1.

nondelUDN{UDNдокумента} - тоже, но документ не должен быть удаленным (Deleted=0)

Написание в принципе можно приближенно описать следующим циклом:

  1. написание процедуры инсталляции и деинсталляции модуля. Процедура инсталляции:
    1. создает новые классы;
    2. создает необходимые для модуля новые таблицы;
    3. расширяет существующие классы новыми полями
  1. Процедура деинсталляции производит обратные действия
  2. Написание телаобъектов