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

在Microsoft Dynamics 365 Ribbon Workbench中点击按钮后用JavaScript更新属性

Dynamics 365 Ribbon按钮JS函数无法更新字段值的排查与修复

核心问题与修复建议

  • 字段类型不匹配
    从字段名称aa__numberofthings判断,这应该是一个数字类型字段,但你代码里传入的是字符串"you cannot enter value",数字字段仅支持数值类型(整数/小数),无法存储字符串。如果是要给用户提示,应该用字段通知而非直接赋值;如果确实要更新字段值,需传入对应类型的数值。

  • 冗余的控件调用
    无需先通过getControl获取控件再取属性,直接用formContext.getAttribute("aa__numberofthings")即可访问字段属性,简化代码逻辑。

  • 执行上下文传递验证
    在Ribbon Workbench绑定函数时,必须勾选**"Pass execution context as first parameter"**,否则primaryControl会是undefined,导致后续代码报错。

  • 字段状态与权限检查
    确认aa__numberofthings字段未被设置为只读(表单属性或业务规则控制),同时当前操作用户拥有该字段的写入权限。

修正后的代码示例

场景1:给用户显示提示(而非更新字段值)

function setAlert(primaryControl) {
    var formContext = primaryControl;
    var attribute = formContext.getAttribute("aa__numberofthings");
    // 设置字段级提示通知
    attribute.setNotification("you cannot enter value", "alertKey");
    // 如需清除通知,调用:attribute.clearNotification("alertKey");
}

场景2:更新数字字段值(传入合法数值)

function setAlert(primaryControl) {
    var formContext = primaryControl;
    var attribute = formContext.getAttribute("aa__numberofthings");
    // 传入数字类型的值,示例为0,可替换为业务需求的数值
    attribute.setValue(0);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 02:20:42