Aracılığıyla paylaş


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

<WHEN field="fieldReferenceName" value="value">
    <ALLOWEDVALUES> . . . </ALLOWEDVALUES>
    <ALLOWEXISTINGVALUE> . . . <ALLOWEXISTINGVALUE>
    <CANNOTLOSEVALUE> . . . </CANNOTLOSEVALUE>
    <COPY> . . . </COPY>
    <DEFAULT> . . . </DEFAULT>
    <EMPTY> . . . </EMPTY>
    <FROZEN> . . . </FROZEN>
    <MATCH> . . . </MATCH>
    <NOTSAMEAS> . . . </NOTSAMEAS>
    <PROHIBITEDVALUES> . . . </PROHIBITEDVALUES>
    <READONLY> . . . </READONLY>
    <REQUIRED> . . . </REQUIRED>
    <SERVERDEFAULT> . . . </SERVERDEFAULT>        
    <SUGGESTEDVALUES> . . . </SUGGESTEDVALUES>
    <VALIDUSER> . . . </VALIDUSER>
</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

<WHENNOT field="fieldReferenceName" value="value">
    <ALLOWEDVALUES> . . . </ALLOWEDVALUES>
    <ALLOWEXISTINGVALUE> . . . <ALLOWEXISTINGVALUE>
    <CANNOTLOSEVALUE> . . . </CANNOTLOSEVALUE>
    <COPY> . . . </COPY>
    <DEFAULT> . . . </DEFAULT>
    <EMPTY> . . . </EMPTY>
    <FROZEN> . . . </FROZEN>
    <MATCH> . . . </MATCH>
    <NOTSAMEAS> . . . </NOTSAMEAS>
    <PROHIBITEDVALUES> . . . </PROHIBITEDVALUES>
    <READONLY> . . . </READONLY>
    <REQUIRED> . . . </REQUIRED>
    <SERVERDEFAULT> . . . </SERVERDEFAULT>        
    <SUGGESTEDVALUES> . . . </SUGGESTEDVALUES>
    <VALIDUSER> . . . </VALIDUSER>
</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

<WHENCHANGED field="fieldReferenceName" >
    <ALLOWEDVALUES> . . . </ALLOWEDVALUES>
    <ALLOWEXISTINGVALUE> . . . <ALLOWEXISTINGVALUE>
    <CANNOTLOSEVALUE> . . . </CANNOTLOSEVALUE>
    <COPY> . . . </COPY>
    <DEFAULT> . . . </DEFAULT>
    <EMPTY> . . . </EMPTY>
    <FROZEN> . . . </FROZEN>
    <MATCH> . . . </MATCH>
    <NOTSAMEAS> . . . </NOTSAMEAS>
    <PROHIBITEDVALUES> . . . </PROHIBITEDVALUES>
    <READONLY> . . . </READONLY>
    <REQUIRED> . . . </REQUIRED>
    <SERVERDEFAULT> . . . </SERVERDEFAULT>        
    <SUGGESTEDVALUES> . . . </SUGGESTEDVALUES>
    <VALIDUSER> . . . </VALIDUSER>      
</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

<WHENNOTCHANGED field="fieldReferenceName">
    <ALLOWEDVALUES> . . . </ALLOWEDVALUES>
    <ALLOWEXISTINGVALUE> . . . <ALLOWEXISTINGVALUE>
    <CANNOTLOSEVALUE> . . . </CANNOTLOSEVALUE>
    <COPY> . . . </COPY>
    <DEFAULT> . . . </DEFAULT>
    <EMPTY> . . . </EMPTY>
    <FROZEN> . . . </FROZEN>
    <MATCH> . . . </MATCH>
    <NOTSAMEAS> . . . </NOTSAMEAS>
    <PROHIBITEDVALUES> . . . </PROHIBITEDVALUES>
    <READONLY> . . . </READONLY>
    <REQUIRED> . . . </REQUIRED>
    <SERVERDEFAULT> . . . </SERVERDEFAULT>        
    <SUGGESTEDVALUES> . . . </SUGGESTEDVALUES>
    <VALIDUSER> . . . </VALIDUSER>
</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

ALLOWEDVALUES

Üst alanın değerlerin belirtilen listesinden gelen bir değeri olmalıdır.

ALLOWEXISTINGVALUE

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.

CANNOTLOSEVALUE

Kullanıcılar, üst alanın değerini NULL olarak değiştirebilirler. Ancak bunu başka bir değer olarak değiştiremezler.

copy

Üçüncü bir alanın değeri üst alana otomatik olarak kopyalanır.COPY öğesi içerisindeki üçüncü alanı belirleyebilirsiniz.

DEFAULT

Bu öğe üst alanın varsayılan değerini belirtir.

BOŞ

Üst alan, bir değer içermemelidir.

FROZEN

Ü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.

MATCH

Üst alanın değeri belirtilen desenle eşleşmelidir.

NOTSAMEAS

Üst alanın değeri üçüncü bir alanının değeri ile eşleşemez.NOTSAMEAS öğesi içerisindeki üçüncü alanı belirleyebilirsiniz.

YASAKLANAN DEĞERLER

Üst alan numaralandırılmış listede herhangi bir değer içeremez.

SALTOKUNUR

Üst alan salt okunur.

REQUIRED

Üst alan BOŞ olmayan bir değer içermelidir.

SERVERDEFAULT

Ü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.

SUGGESTEDVALUES

Numaralandırılmış liste üst alanı için önerilen değerleri içerir.

VALIDUSER

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

Diğer Kaynaklar

Çalışma Öğesi Alanında Koşulları Ayarlama

Alan Kuralları ile Çalışma