You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microsoft Dynamics CRM:Option Set选择后自动打开对应Lookup新建记录页面

实现Dynamics CRM 2016账户实体选项集切换时自动打开对应风险评估新建页面

核心思路

监听风险级别选项集的onChange事件,根据选中的风险等级调用CRM原生方法直接打开对应类型的风险评估新建表单,同时关联当前账户记录,配合已有的字段显示/隐藏逻辑完成需求。

步骤与代码实现

  1. 确认关键信息
    先整理好环境中的实际字段/实体逻辑名称(替换以下占位符):

    • 风险级别选项集字段逻辑名称:risklevel
    • 高风险选项值:1(按你实际配置的选项值调整)
    • 低风险选项值:2(按你实际配置的选项值调整)
    • 高风险评估Lookup字段逻辑名称:highriskassessment
    • 低风险评估Lookup字段逻辑名称:lowriskassessment
    • 风险评估实体逻辑名称:riskassessment
  2. 编写JavaScript函数
    创建以下Web资源脚本,替换占位符为实际值:

    function onRiskLevelChange() {
        // 获取当前账户记录ID(去除括号)
        var accountId = Xrm.Page.data.entity.getId().replace(/[{}]/g, "");
        // 获取选中的风险级别值
        var riskLevelValue = Xrm.Page.getAttribute("risklevel").getValue();
        
        if (!riskLevelValue) return;
    
        // 预设关联账户的表单参数
        var formParameters = {
            // 替换为风险评估实体中关联账户的Lookup字段逻辑名称
            "accountid": accountId
        };
    
        // 根据风险级别执行对应操作
        switch(riskLevelValue) {
            case 1: // 高风险
                // 若已有UI规则控制显示,可省略此行
                Xrm.Page.getControl("highriskassessment").setVisible(true);
                // 打开高风险评估新建表单
                Xrm.Utility.openEntityForm("riskassessment", null, formParameters);
                break;
            case 2: // 低风险
                // 若已有UI规则控制显示,可省略此行
                Xrm.Page.getControl("lowriskassessment").setVisible(true);
                // 打开低风险评估新建表单
                Xrm.Utility.openEntityForm("riskassessment", null, formParameters);
                break;
            default:
                // 无选中值时隐藏两个Lookup字段(可选)
                Xrm.Page.getControl("highriskassessment").setVisible(false);
                Xrm.Page.getControl("lowriskassessment").setVisible(false);
                break;
        }
    }
    
  3. 部署到CRM表单

    • 将代码保存为JavaScript类型的Web资源并发布。
    • 打开账户实体表单编辑器,找到风险级别选项集字段。
    • 在字段的事件选项卡中添加onChange事件,选择刚创建的Web资源并指定函数名onRiskLevelChange。
    • 保存并发布表单。

注意事项

  • 若已通过UI规则配置Lookup字段的显示/隐藏,可删除代码中setVisible相关行,避免逻辑冲突。
  • 确保风险评估实体中关联账户的Lookup字段逻辑名称正确,否则无法自动关联当前账户。
  • CRM 2016(v1612)原生支持Xrm.Utility.openEntityForm和Xrm.Page对象,无需额外兼容处理。

内容的提问来源于stack exchange,提问作者Doogle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 14:37:11