Поделиться через


Определение значений полей по умолчанию

Обновлен: Ноябрь 2007

Значения полей по умолчанию — это правила, которые управляют автоматическим присвоением значений полей. Значения полей по умолчанию выражаются с использованием трех типов элементов: <DEFAULT>, <COPY> и <SERVERDEFAULT>.

  • <DEFAULT> Когда пользователь создает новый рабочий элемент или редактирует рабочий элемент, элемент <DEFAULT> заполняет значение поля, если оно пустое. Если у поля уже есть значение, правило по умолчанию игнорируется.

  • <COPY>   Когда пользователь создает новый рабочий элемент или редактирует рабочий элемент, элемент <COPY> заполняет значение поля, независимо от текущего значения в этом поле.

  • <SERVERDEFAULT>   В отличие от правил <DEFAULT> и <COPY>, которые заполняют значения в начале редактирования, правило <SERVERDEFAULT> заполняет значение, когда рабочий элемент отправляется в базу данных. Это происходит в момент сохранения, и пользователь не может переопределить значение. Такие поля на форме доступны только для чтения. Данное правило используется для таких полей, как «Последним изменил» и «Последнее изменение», чтобы обеспечить безопасность журнала аудита.

Каждый из этих тегов использует атрибут from="<fromtype>", который определяет источник значения. В зависимости от атрибута <fromtype>, могут использоваться и другие атрибуты.

Это допустимые значения типа from:

  • value   Используется значение из указанной строковой константы. Требуется атрибут value="abc". Атрибут value используется только для правил <COPY> и <DEFAULT>.

  • field   Используется значение из указанного поля. Требуется атрибут field="abc". По умолчанию, если указанное поле 'from' пустое, никаких действий не выполняется. Атрибут field используется только для правил <COPY> и <DEFAULT>.

  • clock   Использование текущей даты и времени в качестве значения. Дополнительные атрибуты не требуются. Используется для полей DateTime. Для правил <COPY> и <DEFAULT> данное значение определяется по часам локального компьютера. Для правила <SERVERDEFAULT> значение определяется по серверным часам в момент выполнения.

  • currentuser   В качестве значения используется короткое имя пользователя для текущего пользователя. Дополнительные атрибуты не требуются. Используется для строковых полей.

Примеры

В следующем примере определяется приоритет по умолчанию:

<FIELD refname="MyCorp.Priority" name="Priority" type="String">
<HELPTEXT>Enter the severity of the problem</HELPTEXT>
    <ALLOWEDVALUES>
        <LISTITEM value="P1"/>
        <LISTITEM value="P2"/>
        <LISTITEM value="P3"/>
    </ALLOWEDVALUES>
<DEFAULT from="value" value="P3"/>
</FIELD>

В следующем примере очищается поле состояния:

<FIELD refname="MyCorp.Status" name="Status" type="String">
<COPY from="value" value="" />
</FIELD>

В следующем примере сохраняется имя пользователя человека, который изменил рабочий элемент последним:

<FIELD refname="System.Last Changed By" name="Last Changed By" type="String">
<HELPTEXT>The user name of the person who last modified this bug</HELPTEXT>
<VALIDUSER group="[Project]\MyProjectMembers" />
<SERVERDEFAULT from="currentuser" />
</FIELD>

В следующем примере значение поля использует текущую дату, но оно может изменяться пользователями:

<FIELD refname="MyCorp.FoundOn" name="Found On" type="DateTime">
<HELPTEXT>Defines when a bug was found.</HELPTEXT>
<DEFAULT from="clock" />
</FIELD>
ms194948.alert_note(ru-ru,VS.90).gifПримечание.

Для значений, содержащих символ апострофа, например, «Won't Fix», необходимо использовать в коде XML двойные кавычки. Пример: <LISTITEM value="Won’t Fix"/>

См. также

Другие ресурсы

Определение списков полей