Microsoft Dynamics CRM 2011 Tools

Microsoft Dynamics CRM 2011 de bir takım işleri kolaylaştıran pek çok tool u codeplex de bulabilirsiniz, işte bunlardan bazıları:

ISV Helpers
SiteMap Editor for Microsoft Dynamics CRM 2011
Ribbon Browser for Microsoft Dynamics CRM 2011
JavaScript Web Resource Manager for Microsoft Dynamics CRM 2011
View Layout Replicator for Microsoft Dynamics CRM 2011
Searchable Property Updater for Microsoft Dynamics CRM 2011
Deployment Helpers
Export CRM 4.0 Plugins
Development Helpers
CRM 4 to CRM 2011 JavaScript Converter Tool
OData Query Designer
JavaScript SOAP Request Formatter
Visual Studio Plugin Templates
NuGet plugin package
CRM 2011 Metadata Browser
Entity Metadata Browser
Ribbon Browser
CRM LINQPad Plugin
JavaScript Web Resource Manager
Export JavaScript Utility
CRM 2011 Development Skeleton
JScript IntelliSense for Form Script Libraries
Documentation Generation
ablast
CRM 2011 Metadata Browser
Extensibility, Enhancement, and Integration
CRM 2011 Share Record Code Activity
M 2011 Distribute Workflow Activity

CRM 2011 : Toggle Visibility

CRM 2011 de bir nesne’nin değerine göre farklı bir nesne nin görünürlüğünü değiştirmek önemli bir ihtiyaç olabiliyor.
Aşağıda bunun için yazılmış işleri kolaylaştıran bir library bulunuyor.

Daha detaylı şekilde ifade edecek olursak bu library ile
Optionset veya checkbox durumuna göre,
Herhangi bir kontrol ,Section,Tab veya Navigation ‘ın görünürlüğünü değiştirebilirsiniz.

//Form Onload'a Eklenecek olan funtion.
function Toogle()
{
//Tip(control,section,tab,navigtion):Bölüm ; OptionSet Adı; Bölüm Nesnesinin Adı
registerToggle('section', 'new_optionset', 'account information','ornek deger');
//veya aşağıdaki gibi olabilirdi.
//Tip:Bölüm ; Checkbox Adı; Bölüm Nesnesinin Adı
//4.parametre boş ise 1 kabul edilir.
//registerToggle('section', 'new_checkbox', 'account information');

}

Library: Visibility.js

function registerToggle(t, attr, c, v) {
    if (typeof (v) === "undefined" || v === null) {
        var v = 1;
    }
    var ctrl = Xrm.Page.ui.controls.get(attr);
    var a = ctrl.getAttribute();
    var el = document.getElementById(attr);

    // Build Toggle Function
    var f = "var ef=function() { " +
              "var a = Xrm.Page.data.entity.attributes.get(attr); " +
              "a.setValue(!a.getValue()); " +
              "setVisibility('" + t + "','" + attr + "','" + c + "'," + v + ");" +
              " };";

    eval(f);

    // Attach to click event
    el.attachEvent('onclick', ef, false);

    // Set visibility
    setVisibility(t, attr, c, v);
}

function setVisibility(t, attr, c, v) {
    switch (t.toLowerCase().charAt(0)) {
        //tab
        case 't': setTabVisibility(attr, c, v);
            break;
        //section
        case 's': setSectionVisibility(attr, c, v);
            break;
        //control
        case 'c': setControlVisibility(attr, c, v);
            break;
        //navigation
        case 'n': setNavigationVisibility(attr, c, v);
            break;
    }
}

function setNavigationVisibility(attributename, navitemname, value) {
    var attribute = Xrm.Page.data.entity.attributes.get(attributename);
    var navitem = Xrm.Page.ui.navigation.items.get(navitemname);
    if (navitem === null)
    {
        return;
    }
    navitem.setVisible(attribute.getValue() == value);
}

function setTabVisibility(attributename, tabname, value) {
    var attribute = Xrm.Page.data.entity.attributes.get(attributename);
    var tab = Xrm.Page.ui.tabs.get(tabname);
    if (tab === null)
    {
        return;
    }
    tab.setVisible(attribute.getValue() == value);
}

function setSectionVisibility(attributename, sectionname, value) {
    var attribute = Xrm.Page.data.entity.attributes.get(attributename);
    var tabs = Xrm.Page.ui.tabs.get();
    for(var i in tabs) {
        var tab = tabs[i];
        var section = tab.sections.get(sectionname);
        if (section !== null) {
            section.setVisible(attribute.getValue() == value);
            return;
        }
    }
}

function setControlVisibility(attributename, controlname, value) {
    var attribute = Xrm.Page.data.entity.attributes.get(attributename);
    var control = Xrm.Page.ui.controls.get(controlname);
    if (control === null)
    {
        return;
    }
    control.setVisible(attribute.getValue() == value);
}

CRM 2011 – Sık kulanılan Javascript kodları

CRM 2011 için bazı faydalı JS Kodları:

//CRM field deki değeri almak:
var varMyValue = Xrm.Page.getAttribute("new_CRMField").getValue() ;

//CRM field e değer set etmek:
Xrm.Page.getAttribute("new_CRMField").setValue('Yeni Değer');

//Tab/Section Gizlemek - Göstermek:
Xrm.Page.ui.tabs.get(5).setVisible(false);
Xrm.Page.ui.tabs.get(5).setVisible(true);

//Bir CRM Field 'ın onchange event ını çağırmak:
Xrm.Page.getAttribute("new_CRMField").fireOnChange();

//Option Sets in seçili değerini almak:
Xrm.Page.getAttribute("new_CRMField").getSelectedOption().text;

//Requirement Level set etmek:
Xrm.Page.getAttribute("new_CRMField").setRequiredLevel("none");
Xrm.Page.getAttribute("new_CRMField").setRequiredLevel("required");
Xrm.Page.getAttribute("new_CRMField").setRequiredLevel("recommended");

//Alanı focus kılmak:
Xrm.Page.getControl("new_CRMField").setFocus(true);

//Kaydet eventını durdurmak:
event.returnValue = false;

//Kullanıcının Güvenlik Rolü GUID değerlerini dizi olarak döndürür.
Xrm.Page.context.getUserRoles()

//Tab veya Section Gizleme/Gösterme:
function setVisibleTabSection(tabname, sectionname, show) {
var tab = Xrm.Page.ui.tabs.get(tabname);
if (tab != null) {
if (sectionname == null)
tab.setVisible(show);
else {
var section = tab.sections.get(sectionname);
if (section != null) {
section.setVisible(show);
if (show)
tab.setVisible(show);
}
}
}
}

//Option'a göre bir alanı gizlemek veya göstermek:
function FieldVisible()
{
var Option = Xrm.Page.getAttribute("new_CRMField").getSelectedOption().text;
if (Option == "Option_xyz")
{
Xrm.Page.getControl("new_CRMField").setVisible(true);
}
else
{
Xrm.Page.getControl("new_CRMField").setVisible(false);
}
}

Microsoft Dynamics CRM Blog

Merhaba Dünya!
Orhan AKDOĞAN blog grubunun bir üyesi olan Microsoft Dynamics CRM bloğuna hoşgeldiniz.
Microsoft Dynamics CRM hakkındaki yazılarımın tümünü buraya taşıyorum ve CRM konusundaki paylaşımlarımı artık bu blogda yapacağım.Umarım faydalı olur.

 

  • Page 2 of 2
  • <
  • 1
  • 2