cub-e.net

just coding...

Show navigation bar item in IFrame in Microsoft CRM

Show navigation bar item in IFrame in Microsoft CRM

We don't make anything without Navigation Bar in CRM. In default, CRM haven't a setting about showing their pages in a IFrame. But we can change this event and we can more effective a usage area in CRM Form. Specially sales persons don't want to click to lot of things and they want see the result of an action. So in this article we will learn how to show associated activities in centre of Contact card. We have a way that have two step. In first step, we will place a IFrame in Contact Card. In second step we will place a little JavaScript code for IFrame that we had placed. Let start;

a) IFrame :

"Settings" -> "Customizations" -> "Customize Entities" after this steps in CRM, we find the Contact card and we open this card. We select the "Forms and Views" in navigation bar at left and we clicked the Form.
Where you want place the your activities screen you select the interested tab and click the "Add IFrame" button. A window will be opened;

  1. set the Name "HistoryFrame",
  2. set the URL "about:blank",
  3. we select the "Pass record object-type code and unique identifier as parameters",
  4. we unselect the "Restrict cross-frame scripting"

The first step will be completed when we press the ok. Let the show second step;

b) JavaScript :

We click the "Form Properties" in same screen. We click the "OnLoad" on opened window. We replace the code that below. We click the buttons "ok" and "Save Form and Close".

function GetFrameSource(tabSet)
{
   
if (crmForm.ObjectId != null)
    {
       
var oId = crmForm.ObjectId;
       
var oType = crmForm.ObjectTypeCode;
       
var security = crmFormSubmit.crmFormSubmitSecurity.value;
       
return "areas.aspx?oId=" + oId + "&oType=" + oType + "&security=" + security + "&tabSet=" + tabSet;
    }
   
else
    {
       
return "about:blank";
    }
}

crmForm.all.IFRAME_HistoryFrame.src = GetFrameSource(
"areaActivityHistory");

We click to "Publish" that in the "actions" menu. We will see the activity history of contact when we open a contact card.

I hope it will done. Regards.

Barış KANLICA
Software Specialist
brsk@e-kolay.net
www.cub-e.net



 

Microsoft CRM 3.0 Navigation Bar Öğelerini Form İçinde IFrame İle Göstermek

Microsoft CRM 3.0 Navigation Bar Öğelerini Form İçinde IFrame İle Göstermek

CRM'le çalışırken sol taraftaki Navigation Bar'ı kullanmadan neredeyse hiçbirşey yapamayız. Bunun nedeni ise CRM'de Form üzerinde Navigation Bar içeriğinin default ayarlarda gelmemiyor oluşudur. Fakat küçük bir kod yardımıyla CRM Formlarımızı daha etkin kullanılabilir hale getirebiliriz. Bu makalede Contact (Kişi) kartı üzerine Activities(Aktiviteler)'ler öğesini yerleştirmeyi göreceğiz. Böylece CRM kullanan kişileri birkaç fazla tıklama yapmaktan kurtaracağız. Bunun içi iki adımlı bir yol izleyecegiz. Birinci adımda Formun üzerine IFrame yerleştireceğiz. İkinci adımda ise JavaScript kodu ile dinamik bir şekilde her açılışta IFrame'in adresini değiştirerek açtığımız kart ile ilgili aktivitelerin gelmesini sağlayacağız. Başlayalım;

a) IFrame :

CRM içerisinde; Settings (Ayarlar) -> Customizations (Özelleştirmeler) -> Customize Entities (Varlıkları Özelleştir) adımlarından sonra Contact (İlgili Kişi)  kartına ulaşıyoruz ve bu kartı açıyoruz. Sol taraftaki menüden Forms and Views (Formlar ve Görünümler)'e tıklıyoruz. Formlar öğesini açıyoruz. Aktiviler IFrame'imizi nereye yerleştirmek istiyorsak o tabın altında iken sağ taraftan Add IFrame (IFrame Ekle) yazısına tıklıyoruz. Açılan pencerede;

  1. İsim (Name) kısmına; HistoryFrame yazıyoruz,
  2. URL kısmına; "about:blank" yazıyoruz,
  3. Pass record object-type code and unique identifier as parameters (Kayıt nesne türünü ve tanıtıyıcıyı parametre olarak geçir) kutusunu işaretliyoruz,
  4. Restrict cross-frame scripting  (Komut dosyasını çerçeveler arasında kısıtla) kutusundaki işareti kaldırıyoruz.

Daha sonra tamam'a basıyoruz. İşin birinci kısmı tamamlandı. İkinci kısımda ise JavaScript kodunu yerleştirmek var.

b) JavaScript :

Yine aynı Form üzerinde iken Form Properties (Form Özellikleri) yazısına tıklıyoruz. Açılan küçük pencereden OnLoad (Yüklendiğinde) yazısına çift tıklıyoruz. Açılan pencereye aşağıdaki kodu yerleştirip Tamam'a basıyoruz ve Formu Kaydet ve Kapat düğmesine tıklıyoruz.

function GetFrameSource(tabSet)
{
   
if (crmForm.ObjectId != null)
    {
       
var oId = crmForm.ObjectId;
       
var oType = crmForm.ObjectTypeCode;
       
var security = crmFormSubmit.crmFormSubmitSecurity.value;
       
return "areas.aspx?oId=" + oId + "&oType=" + oType + "&security=" + security + "&tabSet=" + tabSet;
    }
   
else
    {
       
return "about:blank";
    }
}

crmForm.all.IFRAME_HistoryFrame.src = GetFrameSource(
"areaActivityHistory");

Daha sonra Actions (Eylemler) menüsünden Publish (Yayımla) düğmesine tıklıyoruz. Şimdi Contact kartımıza gittiğimizde aşağıdaki görüntü gibi aktivitelerimizi görmeye başlayacağız.

Bu makale de burada biter. Umarım faydalı olmuştur. Hoşçakalın.

Barış KANLICA
Yazılım Uzmanı – Software Specialist
brsk@e-kolay.net
www.cub-e.net