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 campo o da un valore definito dal sistema.I valori predefiniti dei campi sono regole che controllano la modalità di assegnazione automatica dei valori dei campi.È possibile assegnare un'impostazione predefinita al campo tramite uno degli elementi seguenti: COPY, DEFAULT e SERVERDEFAULT.È possibile specificare questi elementi come elementi figlio dell'elemento FIELD (definizione) o FIELD (flusso di lavoro).

Gli elementi COPY e DEFAULT inseriscono valori all'avvio della modifica, ma la regola SERVERDEFAULT inserisce un valore quando si esegue il commit dell'elemento di lavoro al database.Questa azione si verifica quando un utente salva le modifiche in un elemento di lavoro, e l'utente non può eseguire l'override del valore.Questi campi in genere appaiono come campi di sola lettura nel form elemento di lavoro.La regola SERVERDEFAULT viene utilizzata per campi come "Autore ultima modifica" e "Data ultima modifica" per supportare itinerari di controllo sicuri.

In questo argomento

  • Struttura della sintassi per la definizione dei valori predefiniti

  • Definizione di un valore predefinito

  • Deselezione automatica di un campo

  • Salvataggio di un valore del campo

  • Specifica dell'orologio come predefinito

Struttura della sintassi per la definizione dei valori predefiniti

È possibile utilizzare gli elementi COPY, DEFAULT e SERVERDEFAULT per copiare un valore da un campo a un altro, copiare un valore server in un campo o specificare un valore predefinito da definire per un campo.

[!NOTA]

Se si sta modificando l'elemento di lavoro, la regola degli elementi COPY o DEFAULT potrebbe selezionare il valore corrente o 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 un elemento di lavoro o ne crea uno nuovo, la regola COPY inserisce un valore di campo a prescindere dai 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 tramite la regola DEFAULT.Quando un utente crea o modifica un elemento di lavoro, la regola DEFAULT inserisce un valore se quel campo è vuoto.È possibile specificare un valore da copiare da un altro campo, l'indicatore data e ora registrato dall'orologio del server o il nome dell'utente corrente.Se è già presente un valore nel campo, la regola predefinita viene ignorata.

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

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

Ciascun elemento regola specifica un attributo from="fromType" che identifica l'origine del valore.In base al valore fromType, potrebbero essere richiesti altri attributi.Nella tabella riportata di seguito vengono descritti gli attributi a cui fanno riferimento gli elementi regola COPY, DEFAULT e SERVERDEFAULT.

Attributo

Descrizione

for

Opzionale.Specifica il nome di un utente o un gruppo Team Foundation a cui si applica 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 del modello: Dominio\IDutente

not

Opzionale.Specifica il nome di un utente o un gruppo Team Foundation a cui non si applica 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 del modello: Dominio\IDutente

from

Necessario.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 rispettivamente l'attributo value o field.È possibile specificare i valori seguenti:

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

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

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

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

value

Opzionale.Specifica il valore da copiare in un campo quando viene specificato value per l'attributo from.I valori validi sono costituiti da una stringa di testo di lunghezza compresa tra 1 e 255 caratteri.

Il valore da copiare può essere vuoto.

field

Opzionale.Specifica il nome del campo il cui valore è da copiare nel campo quando viene specificato field per l'attributo from.È necessario definire questo attributo se l'attributo from ha un valore "field".

Nome di riferimento del campo da copiare.Il nome di riferimento deve corrispondere a quello definito nell'elemento FIELD (definizione).Per ulteriori informazioni, vedere 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

Definizione di un valore predefinito

Nell'esempio seguente viene impostato 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>

Torna all'inizio

Deselezione automatica di un campo

Nell'esempio riportato di seguito i valori presenti nel campo dello stato vengono annullati.

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

Torna all'inizio

Salvataggio di un valore del campo

Nell'esempio riportato di seguito viene salvato il nome dell'utente che ha modificato più recentemente 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>

Torna all'inizio

Specifica dell'orologio come predefinito

Nell'esempio riportato di seguito, il valore di un campo utilizza la data corrente ma gli utenti possono modificare tale valore.

<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 utilizzare le virgolette doppie nel file XML, come riportato nel seguente esempio:

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

Torna all'inizio

Vedere anche

Concetti

Riferimento a tutti gli elementi XML FIELD

Altre risorse

Utilizzo degli elenchi di campi

Definire campi elemento di lavoro