Koşula Dayalı Değerler ve Kurallar Atama
WHEN, WHENNOT, WHENCHANGED ve WHENNOTCHANGED öğelerini kullanarak, koşullu çalıştırılan kurallar tanımlayabilirsiniz.Tanımlanan cümle True olduğunda, hangi öğelerin çalışacağını tanımlamak için bu kuralları kullanın.Belirli bir alana hangi değerin atandığına veya bir kullanıcının belirli bir alanı değiştirip değiştirmediğine bağlı olan koşullar tanımlayabilirsiniz.Örneğin, ayrıntılı güvenlik veya özel davranış sağlamak için bağımlı seçim listesi oluşturabilirsiniz.
Alan koşulları bir FIELD (Tanımlama) öğesi veya FIELD (İş akışı) öğesi içinde listelediğiniz ilave öğelerdir.Bu öğeler hakkında daha fazla bilgi için, bkz. ALAN (Tanımlama) Öğesi ve ALAN (İş akışı) Öğesi.
Aşağıdaki kod WHEN tam tümcesinin basit bir örneğidir:
<FIELD . . . >
<WHEN field="referenceName" value="yyy">
</FIELD>
Bu cümle FIELD öğesinin içindeki her şeyin, refname'in değeri "yyy" oldukça uygulanabilir olduğu anlamına gelir.Alan geçerli bir alan başvuru adı olmalıdır.Daha fazla bilgi için bkz. İş Öğesi İzleme Nesneleri için Adlandırma Kuralları.
[!NOT]
Değer özniteliği büyük/küçük harf duyarlı değildir.Bu yüzden, alan başvuru adı "YYY" için tutuyorsa, eşleşmeler "yyy" ve "YYY" değerlerini içerir.
Bu konuda
Koşullu Öğeler için Sözdizimi Yapısı
Bir Bağımlı Gerekli Alan Tanımlama
Koşullu Seçim Listesi Tanımlama
Kullanıcı Başka Bir Alanı Değiştirdiğinde bir Alan Tanımlama (WHENCHANGED)
Kullanıcının bir Alanı Değiştirmemesine Göre Alan Değeri Tanımlama (WHENNOTCHANGED)
Koşullu Öğeler için Sözdizimi Yapısı
Aşağıdaki tablo FIELD (Tanım) öğesinin veya FIELD (İş akışı) öğesinin alt öğeleri olarak tanımlayabileceğiniz koşullu kuralları tanımlar.Bu öğeler, aşağıdaki özniteliklerden bir veya daha fazlasını kabul eder:
field: Alanı ifade eden bir dize.1-255 karakter uzunluğunda olmalıdır.
value: Belirtilen alan bu değere sahip olduğunda, WHEN ve WHENNOT öğesindeki kurallar şimdiki alana uygulanır.
Öge |
Sözdizimi |
Description |
---|---|---|
WHEN |
|
Diğer bir alan özel bir değere sahip olduğunda mevcut alana uygulanacak bir ya da daha fazla kuralı belirler.Üst öğe, güncel alanı tanımlar. Belirtilen alanın belirtilen değeri varsa, bu öğedeki kurallar şimdiki alana uygulanır. |
WHENNOT |
|
Güncel alana bir veya daha fazla kural uygulanabilinecek durumu belirler.Başka bir alanın değeri değişince kurallar, güncel alana uygulanır.Üst öğe, güncel alanı tanımlar. Belirtilmiş alan belirtilmiş değeri içermiyorsa, bu öğedeki değerler geçerli alana uygulanır. |
WHENCHANGED |
|
Güncel alana bir veya daha fazla kural uygulanabilinecek durumu belirler.Başka bir alanın değeri bir iş öğesi düzeltmesinde değişirse kurallar geçerli alana uygulanır.Üst öğe, güncel alanı tanımlar. |
WHENNOTCHANGED |
|
Güncel alana bir veya daha fazla kural uygulanabilinecek durumu belirler.Başka bir alanın değeri bir iş öğesi düzeltmesinde değişmezse kurallar şimdiki alana uygulanır.Üst öğe, güncel alanı tanımlar. |
Aşağıdaki tablo bir WHEN, WHENNOT, WHENCHANGED veya WHENNOTCHANGED öğesi kullanarak belirttiğiniz koşullu yan tümce doğru olduğunda her bir isteğe bağlı, koşullu kuralın nasıl üst alana uygulandığını açıklar.Daha fazla bilgi için bkz. Çalışma Öğesi Alanında Koşulları Ayarlama.
Öge |
Description |
---|---|
Üst alanın değerlerin belirtilen listesinden gelen bir değeri olmalıdır. |
|
Diğer kuralları ihlal etse de, zaten varolan üst alanın değerine izin verilecektir.Bu öğe, değer ana alan değiştiğinde uygulanmaz. |
|
Kullanıcılar, üst alanın değerini NULL olarak değiştirebilirler. Ancak bunu başka bir değer olarak değiştiremezler. |
|
Üçüncü bir alanın değeri üst alana otomatik olarak kopyalanır.COPY öğesi içerisindeki üçüncü alanı belirleyebilirsiniz. |
|
Bu öğe üst alanın varsayılan değerini belirtir. |
|
Üst alan, bir değer içermemelidir. |
|
Üst alan dondurulur.Bir alan donuk olduğunda, onun değerini NULL olarak değiştirebilirsiniz ama başka bir değer yapamazsınız. |
|
Üst alanın değeri belirtilen desenle eşleşmelidir. |
|
Üst alanın değeri üçüncü bir alanının değeri ile eşleşemez.NOTSAMEAS öğesi içerisindeki üçüncü alanı belirleyebilirsiniz. |
|
Üst alan numaralandırılmış listede herhangi bir değer içeremez. |
|
Üst alan salt okunur. |
|
Üst alan BOŞ olmayan bir değer içermelidir. |
|
Üst alan değerini belirtilen sunucu bileşeninden alır.Geçerli sunucu bileşenleri clock, bu iş öğesi güncelleştirildiğinde zamanı belirtir ve bu iş öğesini güncelleştirilmiş olan kimlik currentuser'dır. |
|
Numaralandırılmış liste üst alanı için önerilen değerleri içerir. |
|
Yalnızca belirttiğiniz kullanıcılar üst alanı değiştirebilir. |
Başa dön
Bir Bağımlı Gerekli Alan Tanımlama
Bir alanı yalnızca başka bir alan belirli bir değer içerdiğinde gerekli olarak belirtebilirsiniz.Aşağıdaki örnekte müşteri bir hata bildirdiğinde, bir müşteri önemi belirtilmelidir.Eğer hata bir müşteri tarafından bildirilmediyse, müşteri önem derecesi gerekli değildir.
<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>
Koşullu Seçim Listesi Tanımlama
Aşağıdaki örnek ProblemCharacteristic alanı değerinin Belgeye ayarlanıp ayarlanmamasına bağlı olarak Sorun Türü alanı için izin verilen değerlerin sınırlı olduğu koşullu bir seçim listesi gösterir.
<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>
Kullanıcı Başka Bir Alanı Değiştirdiğinde bir Alan Tanımlama (WHENCHANGED)
Aşağıdaki örnekte kullanıcı MyCorp.State alanının değerini değiştirdiğinde, MyCorp.StateDate alanı sunucu saatinin gösterdiği geçerli tarih ve saate ayarlanır.
<FIELD refname="MyCorp.StateDate" name="Date Of Last State Change" type="DateTime">
<WHENCHANGED field="MyCorp.State">
<COPY from="clock" />
</WHENCHANGED>
</FIELD>
Aşağıdaki örnekte, kullanıcı MyCorp.State alanının değerini değiştirdiğinde MyCorp.Status alanının değeri temizlenir.
<!-- 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>
Kullanıcının bir Alanı Değiştirmemesine Göre Alan Değeri Tanımlama (WHENNOTCHANGED)
Aşağıdaki örnekte, kullanıcı MyCorp.State alanının değerini değiştirmediğinde MyCorp.Status alanı salt okunur olur.
<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>
Ayrıca bkz.
Kavramlar
Tüm FIELD XML Öğeleri Başvurusu