You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Dynamics CRM 2016中基于字段/JS函数隐藏原生按钮并关联显示规则?

嘿,我来帮你搞定这两个关于Dynamics CRM 2016原生按钮隐藏的问题——刚好我之前在项目里折腾过类似需求,给你详细捋一捋:

1. 如何根据字段隐藏原生按钮?

主要有两种实用方式,你可以根据需求选择:

  • 配置显示规则:适合逻辑简单的场景(比如单字段值判断),不用写代码,通过CRM工作台就能完成配置
  • JavaScript控制:适合复杂逻辑(比如多字段组合判断、动态计算值),灵活性更高
2. Dynamics CRM 2016中借助工作台,依据字段变化/JS函数隐藏原生按钮(以保存按钮为例)

完全可行!CRM 2016的解决方案工作台支持通过显示规则关联字段变化或自定义JS函数,来控制原生按钮的显示/隐藏。下面分两种场景一步步操作:

场景A:依据字段值变化隐藏保存按钮

  1. 打开CRM的解决方案,找到目标实体(比如账户、联系人),进入表单编辑器
  2. 点击表单编辑器顶部的命令栏,选中「保存」按钮,点击编辑
  3. 在弹出的命令编辑窗口中,切换到显示规则标签页,点击添加
  4. 选择字段值规则,点击新建
    • 规则名称:起个直观的名字,比如「状态为已禁用时隐藏保存按钮」
    • 字段:选择你要判断的目标字段(比如「状态」)
    • 条件:选择对应的判断逻辑(比如「等于」)
    • 值:设置触发隐藏的字段值(比如「已禁用」对应的选项值)
  5. 保存规则后,回到命令编辑窗口,勾选「仅当满足所有规则时显示按钮」——这样当字段值不符合规则时,保存按钮就会自动隐藏
  6. 保存所有配置,发布解决方案,测试即可

场景B:借助JavaScript函数隐藏保存按钮

如果你的判断逻辑比较复杂,就用自定义JS函数来实现:

  1. 先写好JS函数,示例如下:
function shouldShowSaveButton(executionContext) {
    const formContext = executionContext.getFormContext();
    // 这里写你的自定义判断逻辑,比如多字段组合判断
    const statusValue = formContext.getAttribute("statuscode").getValue();
    const isApproved = formContext.getAttribute("new_isapproved").getValue();
    
    // 返回true表示显示按钮,返回false表示隐藏按钮
    return !(statusValue === 1 && isApproved === true);
}
  1. 把这个JS文件上传到CRM的Web资源里,记得发布Web资源
  2. 回到表单编辑器的命令栏编辑窗口(选中保存按钮),切换到显示规则标签页,点击添加
  3. 选择自定义规则,点击新建
    • 规则名称:比如「通过JS判断控制保存按钮显示」
    • 函数名称:输入你写的函数名 shouldShowSaveButton
    • 一定要勾选「传递执行上下文」,这样函数才能获取表单的字段值
  4. 保存规则后,勾选「仅当满足所有规则时显示按钮」——函数返回true时按钮显示,返回false时隐藏
  5. 保存并发布解决方案,清空浏览器缓存后测试效果

额外注意事项

  • 原生按钮的命令栏修改必须在解决方案中操作,别直接修改默认实体,否则配置容易丢失
  • 用JS控制时,要确保Web资源已经正确发布,并且表单已经关联了该Web资源
  • 测试前记得清空浏览器缓存,避免看不到最新配置

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

火山引擎 最新活动