Compartir a través de


Definir valores predeterminados o copiar valores en un campo

Puede especificar un valor predeterminado para un campo o puede copiar el valor de otro campo o el valor definido por el sistema. Los valores predeterminados son reglas que controlan el modo en que los valores se asignan automáticamente a los campos. Puede asignar un valor predeterminado de campo utilizando uno de los siguientes elementos: COPY, DEFAULT y SERVERDEFAULT. Puede especificar estos elementos como elementos secundarios de FIELD (Definition) o FIELD (Workflow).

Los elementos COPY y DEFAULT rellenan los valores cuando se inicia la tarea de edición, pero la regla SERVERDEFAULT escribe un valor cuando el elemento de trabajo se confirma en la base de datos. Esta acción se produce cuando un usuario guarda los cambios realizados en un elemento de trabajo y ya no puede reemplazar el valor. Este tipo de campos normalmente aparecen como campos de solo lectura en el formulario de elementos de trabajo. La regla SERVERDEFAULT se utiliza en los campos como "Última modificación por" y "Fecha de última modificación" para admitir trazas de auditoría seguras.

En este tema

  • Estructura de la sintaxis para definir valores predeterminados

  • Definir un valor predeterminado

  • Borrar un campo automáticamente

  • Guardar un valor de campo

  • Especificar el reloj como valor predeterminado

Estructura de la sintaxis para definir valores predeterminados

Puede usar los elementos COPY, DEFAULT y SERVERDEFAULT para copiar un valor de un campo a otro, para copiar un valor del servidor en un campo o para especificar un valor predeterminado que se va a establecer en un campo.

Nota

Si se está modificando el elemento de trabajo, la regla de elementos COPY o DEFAULT puede seleccionar el valor actual o el valor anterior del campo de origen.

  • Puede especificar un valor copiado de otro campo, el valor del reloj o el nombre del usuario actual. Si especifica value o field en el atributo from, debe especificar también el atributo value o field. Cuando un usuario modifica o crea un elemento de trabajo, la regla COPY rellena el valor de un campo independientemente de que el campo ya contenga un valor.

    <COPY for="userGroupName" not="userGroupName"  from="value | field | clock | currentuser" value="valueToCopy" field="fieldReferenceName/>
    
  • Puede especificar un valor predeterminado para un campo utilizando la regla DEFAULT. Cuando un usuario crea o modifica un elemento de trabajo, la regla DEFAULT rellena el valor de un campo si ese campo está vacío. Puede especificar un valor copiado de otro campo, la marca de fecha y hora registrada en el reloj del servidor o el nombre del usuario actual. Si un campo ya tiene un valor, se omite esta regla.

    <DEFAULT for="userGroupName" not="userGroupName" from="value | field | clock | currentuser" value="defaultValue" field="fieldReferenceName" />
    
  • Puede especificar un valor procedente del servidor para que se copie en un campo cuando se guarde el elemento de trabajo. Cuando un usuario cambia el estado de un elemento de trabajo, la regla SERVERDEFAULT especifica que en el campo actual se copie un valor derivado de un componente del servidor. Los elementos DEFAULT y COPY rellenan los valores cuando un usuario abre un elemento de trabajo para modificarlo, pero la regla SERVERDEFAULT escribe un valor cuando el elemento de trabajo se confirma en la base de datos. Esto tiene lugar cuando el usuario guarda el elemento de trabajo. El usuario no puede reemplazar el valor. Normalmente, estos campos aparecen como campos de solo lectura en el formulario. La regla SERVERDEFAULT se utiliza en los campos como "Última modificación por" y "Fecha de última modificación" para admitir trazas de auditoría seguras.

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

Cada uno de estos elementos de regla especifica un atributo from="tipoDeOrigen" que identifica el origen del valor. En función del valor tipoDeOrigen, es posible que sean necesarios otros atributos. En la tabla siguiente se describen todos los atributos a los que los elementos de regla COPY, DEFAULT y SERVERDEFAULT hacen referencia.

Atributo

Descripción

for

Opcional. Especifica el nombre del usuario o grupo de Team Foundation al que se aplica esta regla. Los nombres válidos están compuestos de una cadena de texto que contiene entre 1 y 255 caracteres.

Valor de modelo: ^[^\\]+\\[^\\]+$

Ejemplo de un valor de modelo: DomainUserID

not

Opcional. Especifica el nombre del usuario o grupo de Team Foundation al que no se aplica esta regla. Los nombres válidos están compuestos de una cadena de texto que contiene entre 1 y 255 caracteres.

Valor de modelo: ^[^\\]+\\[^\\]+$

Ejemplo de un valor de modelo: DomainUserID

from

Obligatorio. Especifica si se va a copiar el valor predeterminado del atributo value, del atributo field, del reloj del sistema o del usuario actual. Si especifica value o field en el atributo from, debe especificar también el atributo value o field, respectivamente. Puede especificar los siguientes valores:

  • clock: copia la hora del reloj del sistema. Usa la fecha y hora actuales como valor. No se necesita ningún atributo adicional. En las reglas COPY y DEFAULT, el valor se toma del reloj del equipo local. En la regla SERVERDEFAULT, el valor se toma del reloj del servidor en el momento de la confirmación. Solo es válido para los campos de tipo DateTime.

  • currentuser: copia el nombre del usuario que ha iniciado sesión. Utiliza como valor el nombre corto del usuario actual. No se necesita ningún atributo adicional. Solo es válido para los campos de cadena.

  • field: copia el valor definido para el atributo field que especifica. Requiere un atributo field="abc". De forma predeterminada, si el campo "from" especificado está vacío, no se realiza ninguna acción. El atributo field solo se usa en las reglas COPY y DEFAULT.

  • value: copia el valor del atributo value especificado.

value

Opcional. Establece el valor que se va a copiar en el campo cuando value se especifica para el atributo from. Los valores válidos constan de una cadena de texto que contiene entre 1 y 255 caracteres.

El valor que se va a copiar puede estar vacío.

field

Opcional. Establece el nombre del campo cuyo valor se va a copiar en el campo cuando se especifique field para el atributo from. Debe definir este atributo si el valor del atributo from es "field".

Nombre de referencia del campo cuyo valor se va a copiar. El nombre de referencia debe coincidir con el nombre de referencia definido en el elemento FIELD (Definition). Para obtener más información, vea FIELD (Definición) (Elemento).

Valor de modelo: ^[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z0-9_]+)+$

Ejemplo de un valor de modelo: Company.Division.IssueType

Volver al principio

Definir un valor predeterminado

En el siguiente ejemplo se establece P3 como valor predeterminado del campo Priority.

<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>

Volver al principio

Borrar un campo automáticamente

En el ejemplo siguiente, se borra el campo de estado.

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

Volver al principio

Guardar un valor de campo

En el ejemplo siguiente, se guarda el nombre del usuario que cambió un elemento de trabajo por última vez.

<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>

Volver al principio

Especificar el reloj como valor predeterminado

En el ejemplo siguiente, el valor de un campo usa la fecha actual, aunque los usuarios pueden cambiar ese valor.

<FIELD refname="MyCorp.FoundOn" name="Found On" type="DateTime">
    <HELPTEXT>Defines when a bug was found.</HELPTEXT>
    <DEFAULT from="clock" />
</FIELD>

Nota

En el caso de los valores que contienen un apóstrofo, como "Won’t Fix", debe usar comillas tipográficas en el código XML, tal y como se muestra en el ejemplo siguiente:

<LISTITEM value="Won’t Fix"/>

Volver al principio

Vea también

Conceptos

Referencias de todos los elementos FIELD de XML

Otros recursos

Trabajar con reglas de campo

Definir campos de elementos de trabajo

Historial de cambios

Fecha

Historial

Motivo

Enero de 2011

Se ha incorporado la sintaxis de todos los elementos predeterminados y más contexto en los ejemplos.

Mejora de la información.