CRM de IFRAME


Merhaba, CRM 2011’in beta sürümünün release olmasıyla birlikte makale yoğunluğumuz yeni sürümün özelliklerine kaymıştı normal olarak. Bu yeni özellikleri en azından önemli kısımlarından bahsettikten sonra, odağımızı developer kısmına getirme zamanı geldi. Bir CRM danışmanı olarak sık sık ihtiyaç olan konuları bir seri halinde sunmak istiyoruz. Tips and Tricks olark isimlendireceğimiz seride, plugin kodlamaktan javascript düzenlemelerine kadar CRM projelerinde ihtiyaç duyulan geliştirme özelliklerden bahsedeceğiz. Karşılaştığınız sorunların en azından bir kısmına derman olabilir belki.. 

Bu serinin ilk konusu ise Iframe’ler hakkında olacaktır. CRM formları içinde bambaşka Internet uygulamlarını
çağırabileceğiniz bir yapı. Herhangi bir formun customization ekranındaki Insert tabında bulunan Iframe düğmesine
tıklayarak ekleyebilirsiniz.


Daha sonra buradkai bilgileri istediğiniz gibi doldurabilirsiniz.

Burada yazdığınız URL alanı içinde yazdığınız site gösterilecektir. “Pass record object type code and unique identifier as parameters” kutusu önemlidir. Bu kutuya tıkladığınızda, verdiğiniz adresin sonuna formun objecttypecode değeri (yani hangi entity olduğu bilgisi) ve formdaki kaydın id’si Querystring parametresi olarak gönderilir. Dolayısıyla
bu iki veriden yola çıkarak hangi entity’nin hangi kaydında bulunduğunuzu anlayabilirsiniz.

Bu şekilde bir Iframe oluşturuduğunuzda içeride gösterilecek URL aşağıdaki gibi bir adres olacaktır.



gördüğünüz gibi temel verilerin hepsi Iframe olarak gelmiştir. Eğer Iframe olarak bir asp.net uygulaması yazdıysanız ASP.net içinde Request.Url.AbsoluteUri yolunu kullanarak siteye gönderilen url’yi alabilirsiniz.

Iframe’ler hakkında bahsetmek istediğim öenmli bir teknik daha, Iframe’in adresini formun javascript’inde değiştirmenizdir. Mesela form ilk yüklenirken, adresi dinamik olarak set edebilirsiniz veya mesela bir picklist’den bir değer seçildiğinde farklı bir adresin ayarlanmasını sağlayabilirsiniz. Örnekleri çoğaltmak mümkün. Bu durumda Iframe’i tanımlarken URL kısmına about:blank yazmalısınız.



Javascript kodu olarak ise aşağıdaki gibi bir kod işinizi görecektir. crmForm.all.IFRAME_mscrm.src = ‘www.xrmplatform.net’;

Bu yazım CRM 4.0 için geçerlidir. 2011 için kullanımı aşağıdaki gibi olmalıdır

Xrm.Page.getControl("IFRAME_mscrm").setSrc("www.xrmplatform.net");

Ayrıca acılan sayfadaki aracların tetiklenmesi (butona tıklanması,drop downun secilmesi vs.) için "Select whether to restrict cross-frame scripting" bolumundeki seçili işaretini kaldırınız.

Hiç yorum yok:

Yorum Gönder