Dynamics 365 CRM JS 常用基础操作

CRM字段类型:

类型名称:值类型
单行/多行文本:String
查找:new EntityReference(objecttypename,Guid)
选项集new OptionSet(Int)
两个选项:false/true
整数:Integer
浮点数:Double
十进制数:Decimal
货币:new Money(Decimal)
日期和时间:DateTime
存储列表值:StringMap
存储附件:annotation

窗体状态:

获取窗体状态类型
var formType = Xrm.Page.ui.getFormType();
表单类型
0尚未定义
1创建
2更新
3只读
4已禁用
6批量编辑

常用js:

//获取当前用户id
Xrm.Page.context.getUserId()//获取当前用户的用户名    
Xrm.Page.context.getUserName()//获取当用户的安全角色         
Xrm.Page.context.getUserRoles();
//获取当前用户   
Xrm.Page.context.getUser();  
//获取字段名为“name”的字段值        
Xrm.Page.getAttribute("name").getValue(); 
//给字段名为“name”的字段赋值    
Xrm.Page.getAttribute("name").setValue("Inputer");
//给字段名为“name”的字段赋值后自动提交        
Xrm.Page.getAttribute("name").setSubmitMode("Inputer"); 
//页面保存并刷新
Xrm.Page.data.save().then(function () {parent.window.location.reload();});     
//保存  
Xrm.Page.data.entity.save();
//刷新
Xrm.Page.data.refresh();  
//取流程的值
var phase = Xrm.Page.data.process.getActiveStage().getName(); 
//改变字段的字段需求  (注:required业务必选;none可选;recommended业务推荐)
Xrm.Page.getAttribute("字段名").setRequiredLevel("required");   
//隐藏名为“st_portfoliomanager”的字段            
Xrm.Page.getControl("st_portfoliomanager").setVisible(false); 
//取消隐藏(显示)名为“st_portfoliomanager”的字段       
Xrm.Page.getControl("st_portfoliomanager").setVisible(true); 
//锁字段名为“ownerid”的字段(注:页眉的字段加header_)       
Xrm.Page.getControl("ownerid").setDisabled(true);
//解锁字段名为“ownerid”的字段         
Xrm.Page.getControl("ownerid").setDisabled(false); 
//局部刷新(子网格也可以局部刷新)       
Xrm.Page.getControl("st_customerneed").refresh(); 
//删除选项集中的选项         
Xrm.Page.getControl("字段名").removeOption("值");  
//获取父页面的值
window.top.opener.Xrm.Page.getAttribute('tec_phase').getValue();
//隐藏tab
Xrm.Page.ui.tabs.get("tab_20").setVisible(false);
//获取当前页面的状态(注:1为新建,2为修改)    
Xrm.Page.ui.getFormType()//关闭当前页面        
Xrm.Page.ui.close(); 
//打开页面    
Xrm.Utility.openEntityForm("实体名称", getEntityId);  
//获取当前记录id  
Xrm.Page.data.entity.getId();     
//获取当前记录name 
Xrm.Page.data.entity.getEntityName()
//设置tab标题
Xrm.Page.ui.tabs.getByName("tab_15").setLabel("文档" + "(" + docDatas.length + ")");  
//change事件
Xrm.Page.data.process.addOnStageChange(fnStageChanged);  
//select事件
Xrm.Page.data.process.addOnStageSelected(fnStageSelected); 
//获取当前Stage
var currentStage = execContext.getEventArgs().getStage(); 
//获取当前窗体名称
Xrm.Page.ui.formSelector.getCurrentItem().getLabel() 
//给字段绑定事件
Xrm.Page.getControl("header_new_salescontract_id").getAttribute().addOnChange(function () {}
//按节锁字段
    Xrm.Page.ui.controls.forEach(function (control) {

        if (control.getParent()!=null) {

            if (control.getParent().getName() != null) {
					name = control.getAttribute().getName()
                if (control.getParent().getName() == "tab_1_sections") {
                    control.setDisabled(true);
                }
            }
        }

    })
//刷新父页面
window.top.opener.Xrm.Utility.openEntityForm(window.top.opener.Xrm.Page.data.entity.getEntityName(), window.top.opener.Xrm.Page.data.entity.getId());
//字段错误信息
Xrm.Page.getControl("attributeName").setNotification("notification content");
Xrm.Page.getControl("attributeName").clearNotification();
//窗体错误信息
Xrm.Page.ui.setFormNotification("notification content", "type", "notification name");//type:"INFORMATION","ERROR","WARNING"
Xrm.Page.ui.clearFormNotification('notification name');//clear all form notification when parameter is null```
//加载层
Xrm.Utility.showProgressIndicator("Please Wait.");
//禁用字段方法
function IsTrueDisabled(sectionlable, trueorfalse) {
    var tabs = Xrm.Page.ui.tabs;
    for (var i = 0, teblenth = tabs.getLength(); i < teblenth; i++) {
        var tab = tabs.get(i);
        var sections = tab.sections;
        for (var j = 0, sectionslenth = sections.getLength(); j < sectionslenth; j++) {
            var section = sections.get(j);
            if (section._controlName) {
                if (section._controlName.toLowerCase() == sectionlable) {
                    Xrm.Page.ui.controls.forEach(
                        function (control) {
                            if (control.getParent() !== null && control._controlName != "tec_teammemberid" && control.getParent()._controlName === sectionlable && control.getControlType() !== "subgrid") {
                                control.setDisabled(trueorfalse);
                            }
                        });
                    break;
                }
            }
        }
    }
}
//获取页面层级
function getXrmObj () {

                var XRMOBJ = new Object();

                if (typeof Xrm != "undefined") {
                    XRMOBJ = Xrm
                }
                else if (typeof window.parent.Xrm != "undefined") {
                    XRMOBJ = window.parent.Xrm
                }
                else if (typeof window.opener.Xrm != "undefined") {
                    XRMOBJ = window.opener.Xrm
                }
                else if (typeof window.opener.parent.Xrm != "undefined") {
                    XRMOBJ = window.opener.parent.Xrm
                }
                else {
                    throw new Error("Context is not available.");
                }
                return XRMOBJ;
            }
//隐藏选项卡
formContext.ui.tabs.get("tab_3").setVisible(false);
//隐藏节
formContext.ui.tabs.get("{ad0f2413-1961-40cd-8563-09e9b8e48aea}").sections.get("tab_3_section_1").setVisible(false);
//刷新导航栏按钮
formContext.ui.refreshRibbon(true);

详情参考官方文档: Xrm.Page.data.entity

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: Dynamics CRM 365是一种客户关系管理平台,用于帮助企业管理客户关系和提升销售业绩。如果你是零基础入门学习,以下是一些建议和资源可以帮助你开始学习: 1. 官方SDK:Dynamics CRM 365的官方SDK是学习的主要资料之一,其中包含了源码和工具等内容。你可以从Dynamics官网下载SDK,官方SDK的在线网址是:https://docs.microsoft.com/zh-cn/dynamics365/customer-engagement/developer/developer-guide \[2\] 2. 学习资料:除了官方SDK,你还可以寻找其他学习资料来帮助你入门。可以在网上搜索Dynamics CRM 365的教程、视频教程和文档等资源,这些资源可以帮助你理解平台的基本概念和功能。 3. 社区支持:加入Dynamics CRM 365的社区可以帮助你与其他学习者和专业人士交流和分享经验。你可以参加相关的论坛、社交媒体群组或线下活动,与其他人一起学习和解决问题。 4. 实践项目:通过实践项目来应用你所学的知识是提升技能的有效方式。你可以尝试在实际项目中使用Dynamics CRM 365,这样可以更好地理解平台的应用和功能。 总之,零基础入门学习Dynamics CRM 365需要一定的时间和努力,但通过合适的学习资源和实践,你可以逐步掌握平台的基本知识和技能。祝你学习顺利! #### 引用[.reference_title] - *1* *2* [【转】Dynamics CRM 365零基础入门学习(一)Dynamics介绍以及开发工具配置](https://blog.csdn.net/sinolover/article/details/107379993)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【转】Dynamics CRM 365零基础入门学习(五)权限管理](https://blog.csdn.net/sinolover/article/details/107380058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值