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


Определение значения по умолчанию или копирование значения в поле

Для поля можно указать значение по умолчанию либо скопировать значение из другого поля или определенное системой значение. Значения полей по умолчанию представляют собой правила, которые управляют процессом автоматического назначения значений полей. Для назначения значения поля по умолчанию можно использовать один из следующих элементов: COPY, DEFAULT и SERVERDEFAULT. Эти элементы можно указать как дочерние элементы элемента FIELD (определение) или элемента FIELD (рабочий процесс).

Вы добавляете эти элементы к определению для типа рабочего элемента (WIT). Дополнительные сведения см. в разделе Изменение или добавление пользовательского типа рабочего элемента (WIT).

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

Синтаксис

Элементы COPY, DEFAULT и SERVERDEFAULT можно использовать для копирования значения из одного поля в другое, копирования значения сервера в поле или задания значения по умолчанию, которое необходимо определить для поля.

Примечание

Если рабочий элемент изменяется, то правило элементов COPY или DEFAULT может выбрать текущее или предыдущее значение из исходного поля.

  • Можно задать значение для копирования из другого поля, значение часов или имя текущего пользователя. Если вы указываете value или field для атрибута from, необходимо задать атрибут value или field. Если пользователь изменяет или создает рабочий элемент, то правило COPY вводит значение поля независимо от значения, которое уже находится в поле.

    <COPY for="userGroupName" not="userGroupName"  from="value | field | clock | currentuser" value="valueToCopy" field="fieldReferenceName/>
    
  • Для задания значения по умолчанию для поля можно использовать правило DEFAULT. Если пользователь создает или изменяет рабочий элемент, то правило DEFAULT вводит значение, если данное поле является пустым. Можно задать значение для копирования из другого поля, отметку даты и времени, которую регистрируют часы сервера, или имя текущего пользователя. Если поле уже содержит значение, это правило игнорируется.

    <DEFAULT for="userGroupName" not="userGroupName" from="value | field | clock | currentuser" value="defaultValue" field="fieldReferenceName" />
    
  • Можно задать значение для копирования с сервера в поле при сохранении рабочего элемента. Если пользователь изменяет состояние рабочего элемента, то правило SERVERDEFAULT указывает значение, подлежащее копированию в текущее из значения, которое получается из серверного компонента. Элементы DEFAULT и COPY вводят значения, когда пользователь открывает рабочий элемент, чтобы его изменить, но правило SERVERDEFAULT вводит значение, когда рабочий элемент фиксируется в базе данных. Это действие происходит, когда пользователь сохраняет рабочий элемент. Пользователь не может переопределить значение. На форме эти поля обычно доступны только для чтения. Правило SERVERDEFAULT используется для полей, например «Кем изменено» и «Когда изменено», для поддержки безопасных журналов аудита.

    <SERVERDEFAULT for="userGroupName" not="userGroupName" from="clock | currentuser" />
    

Каждый из этих элементов правила задает атрибут from="fromType", который определяет источник значения. В зависимости от значения fromType, могут потребоваться дополнительные атрибуты. В таблице ниже описаны все атрибуты, на которые ссылаются элементы правил COPY, DEFAULT и SERVERDEFAULT.

Атрибут

Описание

for

Необязательно. Указывает имя пользователя или группы в Team Foundation, к которым применяется правило. Допустимые имена состоят из текстовой строки длиной от 1 до 255 символов.

Значение шаблона: ^[^\\]+\\[^\\]+$

Пример значения шаблона: Domain\UserID

not

Необязательно. Указывает имя пользователя или группы в Team Foundation, к которым правило не применяется. Допустимые имена состоят из текстовой строки длиной от 1 до 255 символов.

Значение шаблона: ^[^\\]+\\[^\\]+$

Пример значения шаблона: Domain\UserID

from

Обязательный. Указывает, следует ли копировать значение по умолчанию из атрибута value, атрибута field, системных часов или текущего пользователя. Если вы указываете value или field для атрибута from, необходимо, соответственно, задать атрибут value или field. Можно указать следующие значения:

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

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

  • field: копирует значение, определенное для атрибута field, который вы указываете. Необходим атрибут field="abc". По умолчанию, если заданное поле «from» пусто, никакое действие не выполняется. Атрибут field используется только для правил COPY и DEFAULT.

  • value: копирует значение указанного атрибута value.

value

Необязательно. Указывает значение, которое требуется скопировать в поле при указании значения value для атрибута from. Допустимые значения состоят из текстовой строки длиной от 1 до 255 символов.

Копируемое значение может быть пустым.

field

Необязательно. Указывает имя поля, значение которого требуется скопировать в данное поле при указании значения field для атрибута from. Если атрибут from в качестве значение имеет «field», то этот атрибут необходимо определить.

Ссылочное имя копируемого поля. Ссылочное имя должно совпадать со ссылочным именем, определенным в элементе FIELD(определение). Для получения дополнительной информации см. Справочник по элементам FIELD (определение).

Значение шаблона: ^[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z0-9_]+)+$

Пример значения шаблона: Company.Division.IssueType

К началу

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

В следующем примере в качестве значения по умолчанию для поля Priority (приоритет) устанавливается значение P3.

<FIELD refname="MyCorp.Priority" name="Priority" type="String">
<HELPTEXT>Specify 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 name of the user who most recently 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"/>

См. также

Основные понятия

Справочник по всем XML-элементам FIELD

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

Применение правила к полю рабочего элемента

Определение полей рабочих элементов