Versions Compared

Key

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

Kod Açıklaması:

If Tanımı: 

if(Koşul1)
{ 

//koşul gerçekleştiğinde kontrol edilecek ya da gerçekleşmesi istenen diğer yapılar.
if(Koşul2)
{//koşul gerçekleştiğinde kontrol edilecek ya da gerçekleşmesi istenen diğer yapılar.
return değer;
}
return değer;}

else

{//koşul gerçekleşmediğinde kontrol edilecek ya da gerçekleşmesi istenen diğer yapılar.
return değer; 

şeklinde kullanılır. 

Bir koşulun gerçekleşip gerçekleşmediğini kontrol etmek için kullanılan yapıdır. Koşul bölümüne kontrol edilmesi istenen koşul denklemi yazılır. Eğer koşul doğru ise
if(Koşul1)'un altındaki '{}' içerisinde yapılar gerçekleştirilir. Bu parantezlerin içerisine de if koşulu eklenebilir. Eklendiği durumda ki anlamı: Koşul1 gerçekleştiği durumda Koşul2 gerçekleşip gerçekleşmediğini kontrol ettir.

Eğer bir koşul gerçekleşiyorsa sistem koşul sonucunu 1 olarak atar. Eğer koşul gerçekleşmiyorsa koşul sonucu 0 olarak atanır.

Eğer bir koşulu gerçekleşmiyorsa ve biz gerçekleşmediği durumlarda da malzemeyi konfigüre etmek istiyorsak else{} yapısını kullanırız. Koşul gerçekleşmediği durumda else yapısının içindeki yapılar gerçekleşir.
Her koşulun sonunda sistemin geriye bir değer döndürmesi gerekir. Bu işlemi return yapısıyla gerçekleştirir. return 1; koşul doğru, return 0; koşul yanlış anlamına gelir. Her kod yapısı sonunda ';' işareti kullanılmak zorundadır. 

 

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.


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

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

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. 

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

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