Определение значений полей по умолчанию
Обновлен: Ноябрь 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>
![]() |
---|
Для значений, содержащих символ апострофа, например, «Won't Fix», необходимо использовать в коде XML двойные кавычки. Пример: <LISTITEM value="Won’t Fix"/> |