Especificar valores predeterminados del campo

Actualización: noviembre 2007

Los valores predeterminados son reglas que controlan los modos en que los valores se asignan automáticamente a los campos. Los valores predeterminados se expresan usando tres tipos de elementos: <DEFAULT>, <COPY> y <SERVERDEFAULT>.

  • **<DEFAULT>   **Cuando un usuario crea o modifica un elemento de trabajo, el elemento <DEFAULT> rellena el valor de un campo si ese campo está vacío. Si un campo ya tiene un valor, se omite la regla default.

  • <COPY>   Cuando un usuario crea o modifica un elemento de trabajo, el elemento <COPY> rellena el valor de un campo independientemente de que el campo ya contenga un valor.

  • <SERVERDEFAULT>   A diferencia de <DEFAULT> y <COPY>, que rellenan los valores al comienzo de la edición, la regla <SERVERDEFAULT> escribe un valor cuando el elemento de trabajo se confirma en la base de datos. Esto tiene lugar en el momento de guardar y el usuario no puede reemplazar el valor. Estos campos aparecen como de sólo lectura en el formulario. Esta regla se utiliza para campos como "Modificado por última vez" y "Modificado por última vez en" para admitir registros de auditoría seguros.

Cada una de estas etiquetas tiene un atributo from="<fromtype>" que identifica el origen del valor. Dependiendo de <fromtype>, puede haber más atributos.

Éstos son los valores de from-type válidos:

  • value   Utiliza el valor de una constante de cadena especificada. Es necesario un atributo value="abc". Sólo se utiliza value con reglas <COPY> y <DEFAULT>.

  • field   Utiliza el valor de un campo especificado. Es necesario un atributo field="abc". De forma predeterminada, si el campo especificado está vacío, no se realiza nada. Sólo se utiliza field con reglas <COPY> y <DEFAULT>.

  • clock   Utiliza la fecha y hora del momento como valor. No se necesita ningún atributo adicional. Se utiliza en los campos DateTime. Con las reglas <COPY> y <DEFAULT>, este valor se toma de la hora del reloj del equipo local. Con < SERVERDEFAULT >, el valor procede del reloj del servidor en el momento de la confirmación.

  • currentuser   Utiliza el nombre corto de usuario del usuario actual como valor. No se necesita ningún atributo adicional. Se utiliza en los campos de cadena.

Ejemplos

En el ejemplo siguiente, se especifica una prioridad predeterminada:

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

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

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

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

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

En el ejemplo siguiente, el valor de un campo utiliza la fecha actual pero los usuarios pueden cambiarlo:

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

Con valores que contienen un apóstrofo, como "Won’t Fix", debe utilizar las comillas tipográficas en el XML. Por ejemplo: <LISTITEM value="Won’t Fix"/>.

Vea también

Otros recursos

Definir listas de campos