Przypisywanie uzależnionych od warunków wartości i reguł
Można zdefiniować zasady, które są uruchamiane warunkowo przy użyciu WHEN, WHENNOT, WHENCHANGED, i WHENNOTCHANGED elementy.Reguł tych używa się, aby zdefiniować elementy, które są uruchamiane, gdy klauzula zdefiniowane jest True.Można zdefiniować warunki, które są oparte na wartości, jakie jest przypisany do określonego pole lub czy użytkownik modyfikuje określonego pole.Na przykład można utworzyć listę pobrania zależnych szczegółowe zabezpieczenia lub niestandardowe zachowania.
Warunki pola są dodatkowe elementy listy wewnątrz FIELD element (definicja) lub FIELD elementu (przepływ pracy).Aby uzyskać więcej informacji o tych elementach, zobacz Element pola (definicja) i Element pola (przepływ pracy).
Poniższy kod jest prosty przykład WHEN klauzuli:
<FIELD . . . >
<WHEN field="referenceName" value="yyy">
</FIELD>
Niniejszej klauzuli oznacza, że wszystko wewnątrz tego elementu pole jest stosowane tak długo, jak pole refname ma wartość "yyy". pole musi być prawidłowynazwą odwołanie dopole . Aby uzyskać więcej informacji, zobacz Konwencje nazewnictwa dla elementu pracy śledzenia obiektów.
[!UWAGA]
Wartość atrybut jest rozróżniana wielkość liter.W związku z tym jeśli nazwa pole odwołania posiada "YYY", dopasowania zawiera wartości "yyy" i "YYY".
W tym temacie
Struktura składni dla elementów warunkowe
Definiowanie utrzymaniu wymagane pole
Definiowanie warunkowego listy pobrania
Definiowanie pola, gdy użytkownik zmieni innego pola (WHENCHANGED)
Definiowanie wartości pola na podstawie użytkownika, nie modyfikując pole (WHENNOTCHANGED)
Struktura składni dla elementów warunkowe
W poniższej tabeli opisano warunkowych reguł, które można określić jako elementy element podrzędny FIELD (definicja), element lub FIELD elementu (przepływ pracy).Te elementy przyjąć jeden lub więcej z następujących atrybutów:
field: Ciąg znakowy opisujący pole.Musi zawierać od 1 do 255 znaków.
value: Kiedy określone pole ma wartość ta reguł w WHEN i WHENNOT elementy są zastosowane do bieżącego pole.
Element |
Składnia |
Opis |
---|---|---|
WHEN |
|
Określa jedną lub kilka reguł, aby zastosować do bieżącego pole , gdy innego pole ma określoną wartość.Element nadrzędny definiuje bieżącego pole. Jeśli określone pole ma określoną wartość, zasady w tym elemencie są stosowane do bieżącego pole. |
WHENNOT |
|
Określa warunek, dla którego mają zastosowanie jednej lub kilku reguł do bieżącego pole.Zasady stosuje się do bieżącego pole po zmianie wartości innego pole .Element nadrzędny definiuje bieżącego pole. Jeśli określone pole nie zawiera określoną wartość, zasady w tym elemencie są stosowane do bieżącego pole. |
WHENCHANGED |
|
Określa warunek, dla którego mają zastosowanie jednej lub kilku reguł do bieżącego pole.Zasady stosuje się do bieżącego pole po zmianie wartości innego pole w wersji do element roboczy.Element nadrzędny definiuje bieżącego pole. |
WHENNOTCHANGED |
|
Określa warunek, dla którego mają zastosowanie jednej lub kilku reguł do bieżącego pole.Zasady stosuje się do bieżącego pole , gdy wartości innego pole nie zostanie zmieniona w wersji do element roboczy.Element nadrzędny definiuje bieżącego pole. |
W poniższej tabeli opisano, jak każda reguła opcjonalne, warunkowe są stosowane do nadrzędnego pole po klauzuli warunkowe, która zostanie określona przy użyciu WHEN, WHENNOT, WHENCHANGED, lub WHENNOTCHANGED element jest true.Aby uzyskać więcej informacji, zobacz Ustawianie warunków pola elementu pracy.
Element |
Opis |
---|---|
Nadrzędne pole musi mieć wartość, która pochodzi z określonej listy wartości. |
|
Wartość pole nadrzędnego, która już istnieje będą dozwolone, nawet jeśli narusza ona innych reguł.Ten element nie jest stosowana, jeśli wartość pole nadrzędnego zostanie zmieniona. |
|
Użytkownicy mogą zmieniać wartości nadrzędne pole wartość NULL, ale nie można go zmienić na inną wartość. |
|
Wartość trzeciego pole jest automatycznie kopiowana do nadrzędnego pole.Określ trzecie pole w COPY element. |
|
Ten element Określa nadrzędne pole wartość domyślna . |
|
Nadrzędne pole nie musi zawierać wartość. |
|
Nadrzędne pole jest zamrożone.Kiedy pole jest zablokowane, można zmienić jej wartość NULL, ale nie można go zmienić na inną wartość. |
|
Wartość pole nadrzędnego musi odpowiadać deseń, który określisz. |
|
Wartości nadrzędne pole nie można dopasować wartość trzeciego pole.Określ trzecie pole w NOTSAMEAS element. |
|
Nadrzędne pole nie może zawierać żadnych wartości na liście wyliczanych. |
|
Nadrzędnym pole jest tylko do odczytu. |
|
Nadrzędne pole musi zawierać wartość, która nie jest NULL. |
|
Nadrzędne pole trwa jego wartości z określonego serwera składnik.Są prawidłowy składniki serwera zegar, czyli czas, gdy element roboczy jest aktualizowany, i currentuser, który jest tożsamość użytkownik , który jest aktualizowany element roboczy. |
|
Stały wykaz zawiera sugerowane wartości do polenadrzędnego. |
|
Tylko użytkownicy, których można określić można zmodyfikować polenadrzędnego. |
Powrót do początku
Definiowanie utrzymaniu wymagane pole
Można określić, że pole jest wymagane tylko podczas drugiego pole zawiera określoną wartość.W poniższym przykładzie kiedy kontrahent zgłasza usterkadotkliwości kontrahent musi być określona.Jeśli usterka nie został zgłoszony przez kontrahent, ważności kontrahent nie jest wymagane.
<FIELD refname="MyCorp.Severity" name="Customer Severity" type="String">
<ALLOWEDVALUES>
<LISTITEM value="Blocking" />
<LISTITEM value="Major" />
<LISTITEM value="Minor" />
</ALLOWEDVALUES>
<WHEN field="MyCorp.CustomerReported" value="true">
<REQUIRED />
</WHEN>
</FIELD>
Definiowanie warunkowego listy pobrania
W poniższym przykładzie zademonstrowano listy pobrania warunkowe, w którym dozwolone wartości dla pole typ problemu są ograniczone, na podstawie tego, czy wartość pole ProblemCharacteristic jest równa dokumentacji.
<FIELD refname="MyCorp.ProblemType" name="Problem Type" type="String">
<WHEN field="MyCorp.ProblemCharacteristic" value="Documentation">
<ALLOWEDVALUES>
<LISTITEM value="Spelling Error" />
<LISTITEM value="Bad Format" />
<LISTITEM value="Missing Info" />
</ALLOWEDVALUES>
</WHEN>
</FIELD>
Definiowanie pola, gdy użytkownik zmieni innego pola (WHENCHANGED)
W poniższym przykładzie, gdy użytkownik zmienia wartość MyCorp.State poleMyCorp.StateDate pole ustawiono do bieżącej daty i godziny, jak to pokazano zegara serwera.
<FIELD refname="MyCorp.StateDate" name="Date Of Last State Change" type="DateTime">
<WHENCHANGED field="MyCorp.State">
<COPY from="clock" />
</WHENCHANGED>
</FIELD>
W poniższym przykładzie gdy użytkownik zmienia wartość MyCorp.State polewartość pole MyCorp.Status jest wyczyszczone.
<!-- Clear the status field whenever someone changes the state -->
<FIELD refname="MyCorp.Status" name="Status" type="String">
<WHENCHANGED field="MyCorp.State">
<COPY from="value" value="">
</WHENCHANGED>
</FIELD>
Definiowanie wartości pola na podstawie użytkownika, nie modyfikując pole (WHENNOTCHANGED)
W poniższym przykładzie, gdy użytkownik nie zmienia wartość MyCorp.State poleMyCorp.StateDate pole staje się tylko do odczytu.
<FIELD refname="MyCorp.StateDate" name="Date Of Last State Change" type="DateTime">
<!-- Make the StateDate field read-only when the State field is not changed -->
<WHENNOTCHANGED field="MyCorp.State">
<READONLY />
</WHENNOTCHANGED>
</FIELD>
Zobacz też
Koncepcje
Wszystkie odniesienia do elementów XML pola