Selamlar ;
Belli bir süredir yoğunluk hat safhadaydı.Aslında birşey değişmiş değil.Bugün çözümünü bulduğumuz bu problem için neler yapmanız gerektiğini anlatacağım.
Bildiğiniz gibi CRM formlarında editlenen herhangi controlün değişime uğradığı forma ait IsDirty property'sinde sakli tutuluyor.onchange'in tetiklenmesi bu property'inin true olması için yeterli.Bizim senaryomuzda formun onload'inda doldurulan bazı
kontroller söz konusuydu..Dinamik olarak gerçekleşen client side Fetch sorguları ekranda yer alan temp alanların içini dolduruyordu.Form açılısında herşey sorunsuz.Lakin form yüklendikten sonra print butonuna basmanız yukarıda adı geçen uyarının
(aslında hata değil..) ortaya çıkmasına neden oluyor.. Çözüm içn yapmamız gereken illegal bir yöntem de olsa sunucuda ki ":\inetpub\wwwroot\_static\_forms\controls" dizinine gidip ordaki "form.crm.htc" dosyasını açıp editlemek.Formun saltokunur olan
IsDiry property'sinin kontrol edildiği if blogu comment altına alınırsa problem giderilecektir.
Kod bloğu aşağıdaki gibidir.
34 function Print() {
35 if (isDirty()) { /*bu blok kapatılmalı..*/
36 alert(LOCID_FORM_PRINT_DIRTY_MESSAGE);
37 }
38 else {
39 var sId = _oSubmitForm.crmFormSubmitId.value;
40 openStdWin(prependOrgName("/_forms/print/print.aspx?objectType=" + _oSubmitForm.crmFormSubmitObjectType.value + "&id=" + sId + "&title=" + CrmEncodeDecode.CrmUrlEncode(parent.document.title)), "print" + buildWinName(sId));
41 }
42 }
Sevgiler.
E2