定義預設值或將值複製到欄位
您可以指定欄位的預設值,或複製另一個欄位的值或系統定義值。欄位預設值是用於控制如何自動指派欄位值的規則。您可以使用下列其中一個項目來指派欄位預設值:COPY、DEFAULT 和 SERVERDEFAULT。您可以指定這些項目做為 FIELD (定義) 項目或 FIELD (工作流程) 項目的子項目。
COPY 和 DEFAULT 項目會在編輯一開始時就填入欄位值,但 SERVERDEFAULT 規則是在資料庫認可工作項目後填入欄位值。這個動作是發生在使用者將變更儲存至工作項目時,而且使用者無法覆寫該欄位值。這類欄位通常會以唯讀狀態出現在工作項目表單上。SERVERDEFAULT 規則是用於 [上次變更者] 和 [上次變更時間] 等欄位,以便支援安全稽核記錄。
本主題內容
定義預設值的語法結構
定義預設值
自動清除欄位
儲存欄位值
將時鐘指定為預設值
定義預設值的語法結構
您可以使用 COPY、DEFAULT 和 SERVERDEFAULT 項目,將值從某個欄位複製到另一個欄位、將伺服器值複製到欄位,或指定要為欄位定義的預設值。
注意事項 |
---|
如果工作項目正在變更,COPY 或 DEFAULT 項目規則可能會從來源欄位選取目前或先前的值。 |
您可以指定要從其他欄位複製的值、時鐘的值,或是目前使用者的名稱。如果您針對 from 屬性指定了 value 或 field,就必須指定 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 屬性、系統時鐘或目前的使用者複製預設值。如果您針對 from 屬性指定了 value 或 field,就必須分別指定 value 或 field 屬性。您可以指定下列各值:
|
value |
選擇項。針對 from 屬性指定 value 時,指定要複製到欄位的值。有效值由介於 1 到 255 個字元之間的文字字串所組成。 複製的值可以空白。 |
field |
選擇項。指定欄位的名稱,為 from 屬性指定 field 時,其值要複製到此欄位。如果 from 屬性具有 "field" 做為其值,您就必須定義這個屬性。 要複製之欄位的參考名稱。此參考名稱必須符合 FIELD (定義) 項目中所定義的參考名稱。如需詳細資訊,請參閱FIELD (定義) 項目。 模式值:^[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z0-9_]+)+$ 模式值範例:Company.Division.IssueType |
回到頁首
定義預設值
下列範例會將 P3 設為 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>
回到頁首
自動清除欄位
在下列範例中,會清除狀態欄位。
<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"/> |
回到頁首