Burada varyantların özellik kısıtlamasını yapmak için hazırlanmış bir script ekranı vardır. Bu ekrana istenilen koşullar kod halinde yazılır ve varyant eklemede bu koşullar göz önünde bulundurulur. 

Örnek1: Bu örnekte liste tipinde değer alan R002 Yastık Rengi için bir değer önkoşulu tanımlanıyor. Bu örnekte kurallar; kumaş rengi Kırmızı iken yastık renginde sadece Pembe geçerli olsun, kumaş rengi Mavi iken ise yastıkta Kahverengi hariç tüm renkler geçerli olsun, diğer kumaş renklerinde yastık rengi serbest tanımlansın şeklindedir. Örnekte görüldüğü üzere if koşullarını çoğaltarak sınırlandırmaları genişletmek mümkündür. 

AlanAçıklama

$kumas

Malzeme özellik setinde kumaş rengine vermiş olduğumuz değişken adıdır. $ işareti bunun bir değişken olduğunu tanımlar.

$value

Kodun yazılı olduğu özelliğe vermiş olduğumuz değişken adının yerine kullanılır yani burada $yastık yerine $value kullanılmıştır.

/* … */

Bu işaretler arasındaki yazılar kod olarak tanımlanmaz sadece açıklamadır. Yazılan kodun açıklamasını içerir.

//

Bu işaretler arasındaki yazılar kod olarak tanımlanmaz sadece açıklamadır. Yazılan kodun açıklamasını içerir.

121/130/120/122

Malzeme özellik grubunda oluşturduğumuz renk grubunun renklerinin almış olduğu değerlerdir. Buradaki değer sekmesine girilen değerdir. Her malzeme için ayırım verdiğiniz değerler geçerlidir.

= =

İki veri arası eşitlik kontrolü yapar.


Kod:
if ($kumaş = = 121/* Kırmızı /)*
{
if ($value = = 130/* Pembe /) return 1;*
//kumaş rengi kırmızı seçildiğinde yastık rengini pembe olarak döndür. Buradaki //"return 1" if içerisindeki doğru koşulu döndür anlamında
return 0;
}
if ($kumas = = 120/* Mavi /)*
{
if ($value = = 122/* Kahverengi /) return 0;*
//kumaş rengi mavi seçildiğinde yastık rengi kahverenginden başka her şey olabilir. //"return 0" if içerisindeki yanlış koşulu yani kahverengi olmayanları döndür //anlamında. } 

Değişken adı ve karşılaştırma operatörü girildikten sonra Ctrl+1 tuşuna basılarak kullanılabilecek değerlerin listesini görmek mümkündür.

Varyant tanımında görüleceği üzere kumaş rengi kahverengi iken, yastık renginde tüm seçenekler kullanılabilir durumdadır. 

Kumaş rengi kırmızı olarak seçildiğinde ise yastık renginde sadece pembe geçerli kalmıştır. Kuralda tanımlanan üzere kırmızı geçerli bir renk olmadığından yastık rengi boş değere dönmüştür. Bu alan zorunlu alan olduğu halde boş değer aldığı için de sol tarafta kırmızı bir resim ile (X şeklinde) hata gösterilmiştir. Açılan listeden pembe seçildiğinde bu hata ortadan kalkacaktır. 

Kumaş rengi Mavi olarak seçildiğinde tanımlanan kural gereği listede kahverengi değerinin olmadığı görülür. 

Örnek2: Örnek olarak Ayak Sayısı'nı kısıtlayıcı bir script kullanılmıştır.

AyakAçıklama

$value

Kodun yazılı olduğu özelliğe verilen değişken adının yerine kullanılır yani burada $ayak yerine $value kullanılmıştır.

a<b

b a'dan büyük ise

a>b

b a'dan küçük ise

Koşul1&& Koşul2

Koşul1 ve Koşul2 doğru ise

Koşul1||Koşul2

Koşul1 yada Koşul2'den biri doğru ise

$boy

Malzeme özellik setinde boya verilen değişken adıdır. $ işareti bunun bir değişken olduğunu tanımlar.


Ayak sayısı 4'ten büyük bir sayı ise ve boy 140'tan küçük ise bu seçenek geçersizdir.

Kod:

if ($value > 4 && $boy < 140) return 0; 

Tanımlı tüm değerler default durum geçerli olduğundan bu kural tersten tanımlanır.
Yukarıda tanımlanan kod şu anlamdadır. Ayak sayısı 4'ten büyük bir sayı ise ve boy 140'dan küçük ise bu seçenek geçersizdir. Yani bu durumda ayak sayısı ve boyun default değeri alınacaktır. 

Koşul script'leri içerisinde 0 döndürmek (return 0; ) o seçeneği geçersiz kılar. Sıfırdan farklı bir değer döndürülmesi ise bu seçeneğin geçerli olduğunu ifade eder. true ve false değerleri de bu amaçla kullanılabilir. false seçeneği geçersiz kılarken true geçerli hale getirir. 

 

Değer aralığı tipindeki özellikler için değer önkoşulu kuralları kullanıcının her değer girişinden sonra çalıştırılır. Liste tipindeki özellikler için ise liste oluşturulurken bir defa çalıştırılır ve sadece geçerli değerler kullanıcıya sunulur. 

Varyant tanımlama ekranında Ayak Sayısı alanına 8 girildiğinde bu değer kural gereği geçersiz olacağından giriş sonucunda Ayak Sayısı alanı bir önceki geçerli değerinde 3 olarak kalacaktır. 

Boy değeri 160 olarak güncellendiğinde Ayak Sayısı alanına 4'ten büyük değerler girilebilir. Kural içerisinde sınır değeri olarak 140 verilmişti. 
Kullanılan Script metnini bu ekrandan görmek için sol tarafta yer alan ilk kolona (resimli hücreye) çift tıklayarak açılan pencereye bakılabilir. 


Malzeme özellik seti bir malzemeye atanırken atandığı anda bir kopyası çıkartılarak malzeme ile ilişkilendirilir. Bu ilişkilendirmeden sonra malzeme özellik seti içerisinde yapılacak güncellemeler malzeme ile ilişkilendirilen kopyaya aktarılmazlar. Dolayısıyla sonradan yapılacak script güncellemeleri ve diğer değişiklikler özellik seti ilişkilendirme ekranından yapılmalıdır.

Bkz. Malzeme Listesi-Bağlı kayıtlar- Özellik Seti Atamaları