2016-11-28 8 views
0

Ich habe einige benutzerdefinierte Feld in Bug WI. Ich möchte es einstellen, aber selbst wenn es keinen NULL-Wert gab, nachdem der Zustand von WI geändert wurde. Beispiel: Nehmen wir an, ich die Config im Übergang haben:TFS. Wie wird das Feld <erforderliche Änderungen> gesetzt, wenn der Wert bereits festgelegt wurde?

<TRANSITION from="Active" to="Resolved"> 
    <FIELD name="Version"> 
     <REQUIRED /> 
    </FIELD> 
</TRANSITION> 

Wenn Fehler Zustand von Active es ändern zu Resolved ersten Mal funktioniert es (Feld gelb geworden - erforderlich füllen gehen), aber nach, wenn ich den Zustand ändern zu Neu, dann zu Aktiv und dann zu Gelöst, gibt es keine Anforderung, vorherigen Feldwert zu ändern. Ich denke, es ist erforderlich, mit dem vorherigen Wert zu überprüfen, und wenn es gleich ist, dann verlangen Sie vom Benutzer einen anderen Wert. Irgendwelche Vorschläge, wie man das macht? Danke

Antwort

1

Eine Lösung gefunden. Verstecktes Feld "TempVersion" erstellt. Im Übergang zu Neu/Aktiv aufgelöst kopiere ich den Wert der Version in TempVersion.

<FIELD refname="TempVersion"> 
    <COPY from="field" field="Version" /> 
</FIELD> 

Im Übergang Active-> Gelöst hinzugefügt:

<TRANSITION from="Active" to="Resolved"> 
    <FIELD name="Version"> 
    <NOTSAMEAS field="TempVersion" /> 
    <REQUIRED /> 
    </FIELD> 
</TRANSITION> 

Scheint, wie es funktioniert!

0

REQUIRED Regel erfordert einen Benutzer, einen Wert für das Feld anzugeben. Benutzer können ein Arbeitselement erst speichern, wenn sie allen erforderlichen Feldern Werte zugewiesen haben. Da das Feld "Version" in Ihrem Szenario als Wert angegeben wurde, gibt es keine Einschränkung.

Standardarbeitselementregeln können Werte nicht vergleichen. Sie müssen ein Arbeitselementsteuerelement anpassen, um das zu erreichen, was Sie möchten. Sie können beginnen, indem Sie folgen https://witcustomcontrols.codeplex.com/

Verwandte Themen