Описание

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

Пункты конфигурации Doc необходимо вводить на закладке Doc конфигурации DocExt. Используйте новую строку для каждого пункта. Первые пункты конфигурируют документ в целом, и каждый последующий пункт конфигурирует поле документа.

К пунктам Doc можно обращаться каждый раз перед сохранением документа.


Формат пункта

Используйте первые пункты ( строки ) конфигурации Doc для настройки документа в целом.

Формат пункта, конфигурирующего документ:

TYPE[ наименование ] NAME{ формула } LOG_FIELD[ наименование ] LOG_APP[ наименование ] LOG_MAIL[ подтеги ] LOCK{ условие } LOCK_D4D[ наименование ] UNIQ_D4D[ наименование ]

Описание формата:

TYPE[ наименование ] - определяет наименование типа документа, которое будет отображаться перед наименованием документа в каком-либо сообщении при выполнении кода. Если Вы не укажете этот тег, то наименование формы документа будет использовано;

NAME{ формула } - вычисляет наименование документа для какого-либо сообщения при выполнении кода. Если не укажете этот тег, то UNID документа будет использован;

LOG_FIELD[ наименование ] - определяет поля, в которое будет записываться журнал изменений документа. Если Вы не укажете этот тег, то наименование поля по умолчанию будет использовано ( устанавливается константой DE_LOG_FIELD в Библиотеке ). Если Вы не хотите журнализировать изменения в поле, впишите тег без наименования;

LOG_APP[ наименование ] - определяет приложение ( в каком-либо проекте ), в которое будет сохраняться журнал изменений документа. Проекта и их приложения определяются в конфигурациях типа Project. Если не укажете этот тег, то наименование приложения по умолчанию будет использовано ( устанавливается константой DE_LOG_APP в Библиотеке ). Если Вы не хотите журнализировать изменения в приложение, впишите тег без наименования;

LOG_MAIL[ подтеги ] - определяет отправку уведомления об изменении документа. Тег состоит из подтегов внутри:

LOG{ условие } - определяет когда уведомление будет отправлено. Условие проверяется на документе журнала ( не на измененном документе ), имеющим единственное поле Message с содержанием изменений;

DOC{ условие } - определяет когда уведомление будет отправлено. Условие проверяется на измененном документе;

TO[ адрес ] - определяет получателя уведомления. Вы также можете написать TO{ формула }, чтобы вычислять ( на измененном документе ) один или несколько адресов электронной почты;

SUBJ[ текст ] - определяет тему сообщения. Тема будет добавлена после наименования измененного документа, вычисленного с помощью тега NAME{ формула }. Напишите тег SUBJ{ формула }, чтобы вычислять тему на измененном документе.

LOCK{ условие } - определяет блокировку документа, что запрещает его редактирование и удаление. Результат условия @True (1) или какой-либо текст для документа блокирует его. Текст будет добавлен в окно сообщения. Вы также можете использовать этот тег в пункте конфигурирования поля;

LOCK_D4D[ наименование ] - работает как LOCK{ условие }, но документ блокируется, если будут получены документы по пункту конфигурации DocForDoc. Вы также можете использовать этот тег в пункте конфигурирования поля;

UNIQ_D4D[ наименование ] - определяет, что документ не уникален, если получены документы по пункту конфигурации DocForDoc. Рекомендуется использовать этот тег в пункте конфигурирования поля.

Пункт конфигурирования поля должны размещаться под пунктами конфигурирования документа.

Формат пункта конфигурирования поля:

наименование [ описание ] LOCK{ условие } LOCK_D4D[ наименование ] FILL FILL{ условие } FAIL{ условие } FAIL_D4D[ наименование ] VLD{ условие } VLD_D4D[ наименование ] UNIQ_D4D[ наименование ] UNIQ UNIQ{ условие }

Описание формата:

наименование - имя поля, которое конфигурируется;

[ описание ] - описание поля. Будет использовано в сообщениях выполнения кода и журнализации изменений;

FILL - определяет, что поле должно быть заполнено;

FILL{ условие } - определяет когда поле должно быть заполнено;

FAIL{ условие } - определяет когда значение поля недопустимо;

FAIL_D4D[ наименование ] - означает, что значение поля недопустимо, если получены документы по пункту конфигурации DocForDoc;

VLD{ условие } - определяет когда значение поля допустимо;

VLD_D4D[ наименование ] - означает, что значение поля допустимо только если получены документы по пункту конфигурации DocForDoc;

LOCK{ условие } - определяет когда документ заблокирован, т.е. не может быть изменен и удален;

LOCK_D4D[ наименование ] - работает как LOCK{ условие }, но в случае, если получены документы по пункту конфигурации DocForDoc;

UNIQ_D4D[ наименование ] - означает, что документ не уникален, если получены документы по пункту конфигурации DocForDoc. Используйте этот тег для первого поля, участвующего в теге KEY пункта конфигурации DocForDoc;

UNIQ - напишите этот тег, если поле принимает участие во всех пунктах конфигураций DocForDoc, указанных в теге UNIQ_D4D других пунктов конфигурации выше;

UNIQ{ условие } - работает как UNIQ, но только если результат условия @True (1).

Для всех формул и условий в тегах конфигурации ожидаются результаты: @True (1), @False (2) или непустой текст. Если получен ожидаемый результат, то окно сообщения с описанием и значением поля будет показано. Если результатом является непустой текст, тогда он будет добавлен в окно сообщения.

Теги LOCK_D4D, FAIL_D4D, VLD_D4D, UNIQ_D4D могут быть использованы более одного раза в пункте конфигурации. Кроме того, Вы можете использовать расширенный формат вызова пункта конфигурации DocForDoc: ...[ SRC{ условие } наименование TRG{ условие } ], где условие в теге SRC будет применено к исходному документу ( который проверятся ) и только если результатом условия будет @True (1), то получение документов по пункту конфигурации DocForDoc с указанным наименованием будет выполнено. Впишите условие в тег TRG, чтобы проверять его для полученных документов - только документы с результатом проверки @True (1) будут оставлены в качестве результата.


Ссылки по теме:

Конфигурация DocExt\DocForDoc

Смотрите также:

Конфигурация DocExt