Dynamics CRM - 使用 JS 對字段取值、賦值、實體屬性設置等


整理下平時CRM開發中用到的一些基本的js操作

取值:

var oResult = Xrm.Page.getAttribute(sFieldName).getValue();

var oResult = Xrm.Page.getControl(sFieldName).getAttribute().getValue();

賦值:

一般類型:Xrm.Page.getAttribute(sFieldName).setValue(object);

OptionSet類型: Xrm.Page.getAttribute(sFieldName).setValue(1);//OptionSet的對應選項的Value

Lookup類型: Xrm.Page.getAttribute(sFieldName).setValue([{ id:"record id", name: "sValue", entityType: "Entity Name" }]);

DateOnly類型: Xrm.Page.getAttribute(sFieldName).setValue(new Date());

提示指定錯誤:

Xrm.Page.getControl(sFieldName).setNotification(sErrorMessage);

清除錯誤提示:

Xrm.Page.getConrol(sFieldName).clearNotification();

設置Read Only:

Xrm.Page.getControl(sFieldName).setDisabled(true);

設置Enable:

Xrm.Page.getControl(sFieldName).setDisabled(false);

控制Tab是否可見:

Xrm.Page.ui.tabs.get("tab_Name").setVisible(true);

控制Section是否可見:

Xrm.Page.ui.tabs.get("tab_Name").sections.get("section_name").setVisible(true);

設置必填:

Xrm.Page.getAttribute(sFieldName).setRequiredLevel("required");

設置可選:

Xrm.Page.getAttribute(sFieldName).setRequiredLevel("none");

設置字段可見:

Xrm.Page.getControl(sFieldName).setVisible(true);

隱藏字段:

Xrm.Page.getControl(sFieldName).setVisible(false);

獲取當前 Entity Id:

var entityId = Xrm.Page.data.entity.getId();

獲取當前 Entity 的 Name:

var entityName = Xrm.Page.data.entity.getEntityName();

獲取當前 User Id:

var userId = Xrm.Page.context.getUserId();

判斷當前 form 的狀態:

if (Xrm.Page.ui.getFormType() == 1){
    //1:Create
}
else{
    //0:Undefined
    //2:Update
    //3:Read Only
    //4:Disabled
    //6:Bulk Edit
}

添加事件:

Xrm.Page.getControl(sFieldName).getAttribute().addOnChange(fnOnChange);

有時需要獲取當前頁面,所有賦值字段的情況(Debug需要,比如儅出現unsaved changes):

console.log(Xrm.Page.data.entity.getDataXml());

 

更多相關語法,可參考官方DOC:https://docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/developers-guide/gg327828(v=crm.8)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM