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..style.display = 'none';
görünür hale getirmek için ise

crmForm.all. .style.display = 'inline';
ve ya
crmForm.all. .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. .style.visibility = 'hidden';
crmForm.all. _c.style.visibility = 'hidden';
crmForm.all. _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..DataValue = "Benim?adım/\ Ercan";

if (crmForm.all.!= null)
{

var replaceChar = "_";
var reg = new RegExp('[,/\:*?""<>|]', 'g');
var sonuc = crmForm.all. .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
ercantp@gmail.com
+90 534 335 6873

Hiç yorum yok:

Yorum Gönder