20 Şubat 2010 Cumartesi

Ms crm formlarını javascript ‘le özelleştirmek 3


Merhaba arkadaşlar geçen yazımda  Ms  crm’de Genel  değişkenler, Genel  metotlar  ve  Genel  olaylardan bahsetmiş ve bazı örnekler vermiştim. Bu yazımda ise geçen derste ki yarım kalan konuları tamamlayıp, örnekler vereceğim.
all.:  Form daki bütün alanlara all özelliğini kullanarak ulaşırız. Bu özellik form nesnelerinin kolleksiyon özelliğidir.
crmForm.all. propertyname(özellik Adı) :
DataValue:Bu özellikle  alanların değerini okuyabilir  ya da yazabiliriz(set/get).
Bu örneğimizde bir checkbox True ve ya False değerine göre işlem yapıyoruz:
crmForm.all.new_mybitfield.DataValue = true;
crmForm.all.new_mybitfield.DataValue = false;
if (crmForm.all.new_mybitfield.DataValue)
{
    // DataValue’nun değeri true ise, Birşeyler yap.
}
else
{
    // DataValue’nun değeri false ise, Birşeyler yap.
}

Disabled:  Form üzerinde belirlediğiniz alana veri girişini engelleyebilirsiniz ve ya sadece okunabilir(read only) yapabilirsiniz.
Aşağıdaki  iki özellikde bize aynı sonucu verir.
crmForm.all.new_alanadi.disabled = true;
crmForm.all.new_alanadi.readOnly = true;
 yada bir bit alanı  ve ya bir lookup alanı disable edebiliriz.
crmForm.all.new_bitalanadi.disabled = true;
crmForm.all.new_alanadilookupid.disabled = true;

IsDirty: Bize boolean bir değer döner ve alan üzerinde değişiklik yapılıp yapılmadığını kontrol  eder.
ForceSubmit:  Crm sadece değişen  özellikleri kaydeder. Form üzerinde  disabled alanlar varsa CRM kaydetmez. Bu sebeple ForceSubmit özelliği disabled  olan alanların database kaydedilmesini sağlar.
Min: Bize sayısal olarak en küçük değeri verir.
Max: Bize sayısal olarak en büyük değeri verir.
RequiredLevel: Gereksinim seviyesini verir(  Gereksinim düzeyi yok(No constraint)=0,  Önerilen(  Business Recommended)=1 , Gerekli (Business Required)=2)
Bu örneğimizde bir if else döngüsü içerisinde gereksinim değerine göre karşılaştırma yapıyoruz:
var CRM_REQUIRED_LEVEL_NORMAL = 0;
var CRM_REQUIRED_LEVEL_RECOMMENDED = 1;
var CRM_REQUIRED_LEVEL_REQUIRED = 2;
var oField = crmForm.all.new_gereksinimalan;
 
if(oField.RequiredLevel== CRM_REQUIRED_LEVEL_NORMAL)
{
      alert("Bu alan gereksinimi olmayan bir alandır.");
      
}
 else if(oField.RequiredLevel==CRM_REQUIRED_LEVEL_RECOMMENDED)
{
     alert("Bu alan önerilen bir alandır.");
}
 
 Else if(oField.RequiredLevel==CRM_REQUIRED_LEVEL_REQUIRED)
{
      alert("Bu alan gerekli bir alandır.");
      
}
SetFocus:  Mouse İmlecini Formadaki bir alana göndermek için kullanılır.
crmForm.all.your_field.ForceSubmit = true;
FireOnChange: Alanın onChange  olayını tetiklemek  için kullanılır.
Buraya kadar işlediğimiz konularda genel olarak metotlardan ve ya özelliklerden bahsetik birazda örneklere yoğunlaşalım.
Crm’de alanların gizlenmesi ve ya gizli alanların gösterilmesi:
Alanın görünmez yapmak için aşağıda gösterdiğim yolu kullanabilirsiniz.
crmForm.all.<alanadı>.style.display = 'none';
görünür hale getirmek için ise

crmForm.all. <alanadı>.style.display = 'inline';
ve ya
crmForm.all. <alanadı>.style.display = 'block';
kullanılabilir.
Alan eğer Lookup ise Lookup’ın label kısmınında saklanması için gerekli kod aşağıdaki gibidir:
crmForm.all. <alanadı>.style.visibility = 'hidden';
crmForm.all. <alanadı>_c.style.visibility = 'hidden';
crmForm.all. <alanadı>_d.style.visibility = 'hidden';
NavBar’da  gizlemek için ise iki entity arasındaki ilişkinin adı verilir.
var tabset=’1-N yapılan ilişkinin adı’;
var navItem = window.document.getElementById( 'nav_' + tabSet);
navItem.style.display=”none”;
Text alanın değerinin tüm harflerini  büyük ve ya küçük Yapmak (Uppercase/Lowercase):
Girilen Text alanın değerinin tüm harflerini  büyük ve ya küçük Yapmak için alanın onChange olayına aşağıdaki kodları yazarız.
crmForm.all.name.DataValue = crmForm.all.name.DataValue.toUpperCase();  //Girilen harfleri  büyük harfe çevirir.
crmForm.all.name.DataValue = crmForm.all.name.DataValue.toLowerCase(); //Girilen harfleri  küçük harfe çevirir.
Formun arka rengini değiştirmek ve ya alanların label’ların renklerini ve font’larını  değiştirmek :   
Formun arka rengini değiştirmek için form’un onLoad() olayına aşağıdaki kodu yazarız.
document.all.areaForm.style.backgroundColor = 'pink';
Alana ait label’ınn( varchar)  font özellkleri ve rengini değiştirmek için aşağıdaki yolu izleriz.
alanının label’nın özelliklerinin değişmesi için alan adının sonuna (_c) yazarız.
  crmForm.all._c.style.fontWeight = 'Arial'; // Yazı tipini değiştiririz.
  crmForm.all._c.style.fontSize = '15px'; // Yazı Boyutunu değiştiriz
  crmForm.all._c.style.color = '#ef0000';  //Yazı rengini değiştiririz. 
Son olarak aşağıdaki JavaScript kod örneğini veriyorum. Harfleri kontrol eder ve saçma olan geçersiz karakterleri  bir alt çizgi ile yer değiştirir.

// ilk önce alana saçma bir değer verelim
crmForm.all.<alanadı>.DataValue = "Benim?adım/\ Ercan";

if (crmForm.all.<alanadı>!= null)
{
              
               var replaceChar = "_";
               var reg = new RegExp('[,/\:*?""<>|]', 'g');
               var sonuc = crmForm.all. <alanadı>.DataValue.replace(reg, replaceChar);
               alert(sonuc);
// Bize sonuç olarak “Benim_adım_Ercan” gibi bir değer döner.
}


Bu yazımında sonuna geldik. Gelecek yazımda sizlere faydalı olacak javascript kod örnekleri vereceğim. Gelecek yazımda görüşmek üzere.....

Ercan Top | CRM Software Developer
' : +90 212 320 2332 | Å : +90 534 335 6873


Hiç yorum yok:

Yorum Gönder