Bir Alan Kuralınını Nerde ve Ne Zaman Uygulanacağı
Alan kurallarını, iş öğesinin durumuna bakılmadan bir iş öğesi türü davranışını belirlemek için kullanabilirsiniz. Örneğin, yeni ve etkin bir hata için gerekli bir alan, hata kapatılana kadar gerekli kalır.
Alan kuralları ayrıca belli durumlara, geçişlere ve hatta sebeplere kapsamlı olabilir. Belli bir alana uygulanan kuralların eksiksiz kümesi aşağıdaki dört alt kümeden eklenir:
Çalışma öğesi türüne özgü
Duruma özgü
Geçişe özgü
Sebebe özgü
Çalışma Öğesi Türüne Özgü Kurallar
Çalışma öğesi türüne özgü kurallar, çalışma öğesinin durum modelindeki konumunu düşünmeksizin uygulanır. Örneğin, <REQUIRED /> kuralı aşağıdaki denetimi gerçekleştirir:
"MyField Value" != NULL
Duruma Özgü Kurallar
Duruma özgü kurallar bir çalışma öğesi örneği belli bir durumdayken, onun kapsamına eklenir. Aşağıdaki iki koşul doğru olduğunda duruma özgü bir kural uygulanır:
State field value == "MyState" && "MyField Value" != NULL
Geçişe Özgü Kurallar
Geçişe özgü kurallar belli bir geçişte olan çalışma öğesinin kapsamına eklenir. Aşağıdaki koşullar doğru olduğunda geçişe özgü kurallar uygulanır:
State field value == "ToState" &&
"Previous State Before Edit/New" == "FromState"
&& "MyField Value" != NULL
Sebebe Özgü Kurallar
Sebebe özgü kurallar belli bir geçişte belli bir sebebin kapsamına eklenir. Aşağıdaki koşulların true olması durumunda nedene özgü kurallar işlenir:
Reason field == "MyReason" &&
State field value == "ToState" &&
"Previous State Before Edit/New" == "FromState" && "MyField Value" != NULL
Alan Kuralları için Kapsam Belirleme
STATE, TRANSITION ve REASON öğeleri içindeki FIELDS ve FIELD (İş akışı) öğelerini kullanarak alan kurallarına kapsam uygulayabilirsiniz.
Not
Alanları iş akışında listelediğinizde, sadece alan başvuru adını belirtin.
Örnek
Aşağıdaki örnek şu kuralı tanımlar: Bir hata Etkin durumdayken, müşteri önem alanının değiştirilmesine izin verilmez.
<STATE name="Active">
<FIELDS>
<FIELD refname="MyCorp.Severity" >
<READONLY />
</FIELD>
</FIELDS>
</STATE>