Condividi tramite


Definire un valore predefinito o copiare un valore in un campo

È possibile specificare un valore predefinito per un campo o copiare il valore da un altro valore del campo o definito dal sistema. I valori predefiniti del campo sono regole che controllano in che modo vengono assegnati automaticamente i valori del campo. È possibile assegnare un valore predefinito del campo usando uno dei seguenti elementi: COPY, DEFAULT e SERVERDEFAULT. È possibile specificare questi elementi come elementi figlio dell'elemento FIELD (Definizione) o FIELD (Flusso di lavoro).

Questi elementi vengono aggiunti alla definizione di un tipo di elemento di lavoro. Per altre informazioni, vedere Modificare o aggiungere un tipo di elemento di lavoro personalizzato (WIT).

Gli elementi COPY e DEFAULT compilano i valori all'inizio delle modifiche, mentre la regola SERVERDEFAULT compila un valore quando viene eseguito il commit dell'elemento di lavoro al database. Questa azione si verifica quando un utente salva le modifiche in un elemento di lavoro, ma non può eseguire l'override del valore. Questi campi vengono visualizzati in genere come di sola lettura nel form dell'elemento di lavoro. La regola SERVERDEFAULT viene usata per i campi come "Autore ultima modifica" e "Data ultima modifica" per supportare audit trail sicuri.

Sintassi

È possibile usare gli elementi COPY, DEFAULT e SERVERDEFAULT per copiare un valore da un campo all'altro, copiare un valore del server in un campo o specificare un valore predefinito da definire per un campo.

Nota

Se l'elemento di lavoro viene cambiato, la regola degli elementi COPY o DEFAULT può selezionare il valore corrente o quello precedente dal campo di origine.

  • È possibile specificare un valore da copiare da un altro campo, il valore dell'orologio o il nome dell'utente corrente. Se si specifica value o field per l'attributo from è necessario specificare l'attributo value o field. Quando un utente cambia o crea un elemento di lavoro, la regola COPY compila un valore del campo indipendentemente dagli altri valori già presenti nel campo.

    <COPY for="userGroupName" not="userGroupName"  from="value | field | clock | currentuser" value="valueToCopy" field="fieldReferenceName/>
    
  • È possibile specificare un valore predefinito per un campo usando la regola DEFAULT. Quando un utente crea o modifica un elemento di lavoro, la regola DEFAULT compila un valore se il campo è vuoto. È possibile specificare un valore da copiare da un altro campo, l'indicatore di data e ora registrato dall'orologio del server o il nome dell'utente corrente. Se un campo ha già un valore, la regola viene ignorata.

    <DEFAULT for="userGroupName" not="userGroupName" from="value | field | clock | currentuser" value="defaultValue" field="fieldReferenceName" />
    
  • È possibile specificare un valore da copiare dal server a un campo quando viene salvato l'elemento di lavoro. Quando un utente cambia lo stato di un elemento di lavoro, la regola SERVERDEFAULT specifica un valore da copiare nel campo corrente da un valore derivato da un componente del server. Gli elementi DEFAULT e COPY compilano i valori quando un utente apre un elemento di lavoro per modificarlo, mentre la regola SERVERDEFAULT compila un valore quando viene eseguito il commit dell'elemento di lavoro al database. Questa azione si verifica quando l'utente salva l'elemento di lavoro. L'utente non può eseguire l'override del valore. Questi campi sono in genere visualizzati come di sola lettura nel form. La regola SERVERDEFAULT viene usata per i campi come "Autore ultima modifica" e "Data ultima modifica" per supportare audit trail sicuri.

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

Ogni elemento di questa regola specifica un attributo from="fromType" che identifica l'origine del valore. A seconda del valore fromType potrebbero essere necessari altri attributi. La seguente tabella descrive tutti gli attributi a cui fanno riferimento gli elementi della regolaCOPY, DEFAULT e SERVERDEFAULT.

Attributo

Descrizione

for

Parametro facoltativo. Specifica il nome di un utente o un gruppo in Team Foundation a cui è applicabile la regola. I nomi validi sono costituiti da una stringa di testo di lunghezza compresa tra 1 e 255 caratteri.

Valore di schema: ^[^\\]+\\[^\\]+$

Esempio di valore di schema: Dominio\IDUtente

not

Parametro facoltativo. Specifica il nome di un utente o un gruppo in Team Foundation a cui non è applicabile la regola. I nomi validi sono costituiti da una stringa di testo di lunghezza compresa tra 1 e 255 caratteri.

Valore di schema: ^[^\\]+\\[^\\]+$

Esempio di valore di schema: Dominio\IDUtente

from

Obbligatorio. Specifica se copiare il valore predefinito dall'attributo value, dall'attributo field, dall'orologio di sistema o dall'utente corrente. Se si specifica value o field per l'attributo from, è necessario specificare l'attributo value o field, rispettivamente. È possibile specificare i valori seguenti:

  • clock: copia l'ora dall'orologio di sistema. Usa la data e l'ora correnti come valore. Non sono necessari attributi aggiuntivi. Per le regole COPY e DEFAULT il valore viene acquisito dall'orologio del computer locale. Per la regola SERVERDEFAULT il valore viene acquisito dall'orologio del server al momento del commit. Valido solo per i campi DateTime.

  • currentuser: copia il nome dell'utente connesso. Usare il nome breve dell'utente corrente come valore. Non sono necessari attributi aggiuntivi. Valido solo per i campi String.

  • field: copia il valore definito per l'attributo field specificato. Richiede un attributo field="abc". Per impostazione predefinita, se il campo "from" specificato è vuoto, non verrà eseguita alcuna operazione. L'attributo field viene usato solo per le regole COPY e DEFAULT.

  • value: copia il valore dell'attributo value specificato.

value

Parametro facoltativo. Specifica il valore che deve essere copiato nel campo quando viene specificato value per l'attributo from. I valori validi sono costituiti da una stringa di testo contenente da 1 a 255 caratteri.

Il valore da copiare può essere vuoto.

field

Parametro facoltativo. Specifica il nome del campo il cui valore deve essere copiato nel campo quando viene specificato field per l'attributo from. È necessario definire questo attributo se il valore dell'attributo from è "campo".

Nome di riferimento del campo da copiare. Il nome di riferimento deve corrispondere a quello definito nell'elemento FIELD (Definizione). Per altre informazioni, vedere Riferimento all'elemento FIELD (Definizione).

Valore di schema:^[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z0-9_]+)+$

Esempio di valore del modello: Company.Division.IssueType

Torna all'inizio

Definire un valore predefinito

Il seguente esempio imposta P3 come valore predefinito per il campo Priorità.

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

Cancellare automaticamente un campo

Nel seguente esempio il campo Status viene cancellato.

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

Salvare un valore del campo

Nel seguente esempio viene salvato il nome dell'utente che ha modificato per ultimo un elemento di lavoro.

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

Specificare l'orologio come valore predefinito

Nel seguente esempio il valore di un campo usa la data corrente. Questo valore, tuttavia, può essere cambiato dagli utenti.

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

Nota

Per i valori che contengono un apostrofo, ad esempio "Won’t Fix", è necessario usare le virgolette doppie nel file XML, come mostrato nel seguente esempio:

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

Vedere anche

Concetti

Riferimento a tutti gli elementi XML FIELD

Altre risorse

Applicare una regola a un campo elemento di lavoro

Modificare o aggiungere un campo per supportare query, report e flusso di lavoro