필드 규칙을 적용할 시기 및 위치
필드 규칙을 사용하여 작업 항목의 상태에 관계없이 작업 항목 형식 동작을 확인할 수 있습니다.예를 들어 활성 상태의 새 버그에 대한 필수 필드는 버그를 닫을 때까지 계속 필요합니다.
필드 규칙의 범위를 특정 상태, 전환 및 이유로 제한할 수도 있습니다.특정 필드에 적용되는 전체 규칙 집합은 다음과 같은 네 개의 하위 집합으로부터 누적됩니다.
작업 항목 형식별
상태별
전환별
이유별
작업 항목 형식별 규칙
작업 항목 형식별 규칙은 상태 모델에서 작업 항목의 위치에 관계없이 적용됩니다.예를 들어 <REQUIRED /> 규칙은 다음과 같은 검사 작업을 수행합니다.
"MyField Value" != NULL
상태별 규칙
상태별 규칙은 특정 상태에 있는 작업 항목 인스턴스로 범위가 제한됩니다.상태별 규칙은 다음 조건이 충족될 때 적용됩니다.
State field value == "MyState" && "MyField Value" != NULL
전환별 규칙
전환별 규칙은 특정 전환을 수행 중인 작업 항목으로 범위가 제한됩니다.전환별 규칙은 다음 조건이 충족될 때 적용됩니다.
State field value == "ToState" &&
"Previous State Before Edit/New" == "FromState"
&& "MyField Value" != NULL
이유별 규칙
이유별 규칙은 특정 전환에 대한 특정 이유로 범위가 제한됩니다.이유별 규칙은 다음 조건이 충족될 때 처리됩니다.
Reason field == "MyReason" &&
State field value == "ToState" &&
"Previous State Before Edit/New" == "FromState" && "MyField Value" != NULL
필드 규칙 범위 지정
STATE, TRANSITION 및 REASON 요소 내에서 FIELDS 및 FIELD(워크플로) 요소를 사용하여 필드 규칙에 범위를 적용할 수 있습니다.
[!참고]
워크플로에서 필드를 나열하는 경우에는 필드 참조 이름만 지정하십시오.
예제
다음 예제에서는 버그가 활성 상태인 경우 Customer Severity 필드를 수정할 수 없는 규칙을 정의합니다.
<STATE name="Active">
<FIELDS>
<FIELD refname="MyCorp.Severity" >
<READONLY />
</FIELD>
</FIELDS>
</STATE>