Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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


Image RemovedImage Added

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

Tip

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ş kumaş rengi 'Kahverengi' kahverengi iken, yastık renginde tüm seçenekler kullanılabilir durumdadır. 

Image Removed
Kumaş rengi 'Kırmızı' kırmızı olarak seçildiğinde ise yastık renginde sadece 'Pembe' pembe geçerli kalmıştır. Kuralda tanımlanan üzere 'Kırmızı' 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' pembe seçildiğinde bu hata ortadan kalkacaktır. Image Removed 

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

Ö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 Boy'a 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'dan tan küçük ise bu seçenek geçersizdir.

Image Removed Image Added

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. '0' dan 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. 

Image RemovedImage Added 

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. 

Image Removed 
'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. 
Image Removed 
 Image Removed 
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. 

Image RemovedImage Added


Warning

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 özellik seti ilişkilendirme ekranından yapılmalıdır.

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