Przypisywanie warunkowych wartości i reguł
Można zdefiniować reguły, które są uruchamiane warunkowe przy użyciu WHEN, WHENNOT, WHENCHANGED, i WHENNOTCHANGED elementy. Te reguły można użyć do zdefiniowania, elementy, które są uruchamiane w przypadku klauzuli zdefiniowanych True. Można zdefiniować warunków, które są oparte na jakie wartość jest przypisywana do określonego pola lub określa, czy użytkownik modyfikuje określonego pola. Na przykład można utworzyć listę pobrania zależne szczegółowe zabezpieczeń lub zachowania niestandardowego.
Warunki pola są dodatkowe elementy, które możesz opublikować wewnątrz FIELD elementu (definicja) lub FIELD elementu (przepływu pracy). Aby uzyskać więcej informacji na temat tych elementów, zobacz Element FIELD (Definition) — Odwołanie i Dokumentacja elementu FIELD (Workflow).
Poniższy kod jest prosty przykład WHEN klauzuli:
<FIELD . . . >
<WHEN field="referenceName" value="yyy">
</FIELD>
Klauzulę oznacza, że wszystko w ramach tego elementu pola dotyczy tak długo, jak pole refname ma wartość "yyy". Pole musi zawierać prawidłowe odwołanie imię pola. Aby uzyskać więcej informacji, zobacz Konwencje nazewnictwa dla elementu pracy śledzenia obiektów.
Uwaga
Wartość atrybutu jest uwzględniana wielkość liter.W związku z tym jeśli nazwa odwołania pola zawierające "YYY", dopasowań zawierać wartości "yyy" i "YYY".
W tym temacie:
Składnia struktury elementów warunkowe
Definiowanie zależne od wymagane pole
Definiowanie listy pobrania warunkowe
Definiowanie pola, gdy użytkownik zmieni inne pole (WHENCHANGED)
Definiowanie wartości pola oparte na koncie użytkownika nie modyfikowanie pola (WHENNOTCHANGED)
Składnia struktury elementów warunkowe
W poniższej tabeli opisano warunkowych reguł, które można określić jako elementy podrzędne FIELD elementu (definicja) lub FIELD elementu (przepływu pracy). Te elementy zaakceptować jedną lub więcej z poniższych atrybutów:
field: Ciąg opisujący pola. Musi zawierać 1 do 255 znaków.
value: Gdy określone pole ma tę wartość, reguły w WHEN i WHENNOT elementy są stosowane do bieżącego pola.
Element |
Składnia |
Opis |
---|---|---|
WHEN |
|
Określa co najmniej jedną regułę do zastosowany do bieżącego pola inne pole ma określoną wartość. Element nadrzędny definiuje bieżącego pola. Jeśli określone pole zawiera określoną wartość, reguły, w tym elemencie są stosowane do bieżącego pola. |
WHENNOT |
|
Określa, że warunek, pod którym ma być zastosowany do bieżącego pola co najmniej jedną regułę. Zasady dotyczą bieżącego pola po zmianie wartości innego pola. Element nadrzędny definiuje bieżącego pola. Jeśli określone pole nie zawiera określoną wartość, zasady, w tym elemencie są stosowane do bieżącego pola. |
WHENCHANGED |
|
Określa, że warunek, pod którym ma być zastosowany do bieżącego pola co najmniej jedną regułę. Reguły zastosowany do bieżącego pola wartość innego pola zostanie zmieniona w wersji do elementu pracy. Element nadrzędny definiuje bieżącego pola. |
WHENNOTCHANGED |
|
Określa, że warunek, pod którym ma być zastosowany do bieżącego pola co najmniej jedną regułę. Reguły zastosowany do bieżącego pola wartości innego pola nie ulega zmianie w wersji do elementu pracy. Element nadrzędny definiuje bieżącego pola. |
W poniższej tabeli opisano, jak każda reguła opcjonalne, na podstawie warunkowe są stosowane do nadrzędnego podczas przy użyciu klauzuli warunkowych WHEN, WHENNOT, WHENCHANGED, lub WHENNOTCHANGED element ma wartość true. Aby uzyskać więcej informacji, zobacz Zastosowanie reguły do pola elementu roboczego.
Element |
Opis |
---|---|
Pola nadrzędnego musi mieć wartość, która pochodzi z określonej listy wartości. |
|
Wartość pola nadrzędnego, które już istnieje, będą mogli, nawet jeśli narusza inne zasady. Ten element nie ma zastosowania, jeśli wartość pola nadrzędnego zostało zmienione. |
|
Użytkownicy mogą zmienić wartość pola nadrzędnego na wartość NULL, ale nie można go zmienić na jakiejkolwiek innej wartości. |
|
Wartość trzeciego pola jest automatycznie kopiowana do pola nadrzędnego. Określ pola trzeci w COPY elementu. |
|
Ten element określa wartość domyślną pola nadrzędnego. |
|
Pola nadrzędnego nie może zawierać wartość. |
|
Pola nadrzędnego jest zablokowane. Jeśli pole jest zablokowane, można zmienić jego wartość null, ale nie można go zmienić na jakiejkolwiek innej wartości. |
|
Wartość pola nadrzędnego musi być zgodny z wzorca, który określisz. |
|
Wartość pola nadrzędnego nie można dopasować wartość trzeciego pola. Określ pola trzeci w NOTSAMEAS elementu. |
|
Pola nadrzędnego nie może zawierać żadnych wartości na liście wyliczany. |
|
Pola nadrzędnego jest tylko do odczytu. |
|
Pola nadrzędnego musi zawierać wartość, która nie ma wartości NULL. |
|
Pola nadrzędnego pobiera wartość ze składnika określonego serwera. Składniki prawidłowy serwer są zegara, co jest aktualizacji elementu roboczego i currentuser, co jest tożsamość użytkownika, który zaktualizował elementu pracy. |
|
Lista wyliczany zawiera sugerowane wartości pola nadrzędnego. |
|
Tylko użytkowników, do których należy określić można modyfikować pola nadrzędnego. |
Powrót do początku
Definiowanie zależne od wymagane pole
Można określić, czy pole jest wymagane tylko wtedy, gdy inne pole zawiera określoną wartość. W poniższym przykładzie Jeśli klient zgłosi usterkę, ważności klienta musi być określony. Jeśli ten błąd nie został zgłoszony przez klienta, ważności klienta nie jest wymagana.
<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 listy pobrania warunkowe
Poniższy przykład przedstawia listę warunkowych pobrań, w którym dopuszczalne wartości pola Typ problemu są ograniczone, czy ustawiono wartość pola ProblemCharacteristic do dokumentacji w oparciu o.
<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 inne pole (WHENCHANGED)
W poniższym przykładzie gdy użytkownik zmienia wartość pola MyCorp.State pola MyCorp.StateDate ma ustawioną wartość bieżącą datę i godzinę, jak 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ść pola MyCorp.State wartość pola MyCorp.Status jest zaznaczone.
<!-- 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 oparte na koncie użytkownika nie modyfikowanie pola (WHENNOTCHANGED)
W poniższym przykładzie, gdy użytkownik nie zmienia wartość pola MyCorp.State MyCorp.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>