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

Dynamics NAV 2018持SUPER权限运行对象报权限错误排查

Dynamics NAV 2018 两类权限报错排查与解决方案

问题场景复现

  1. 自定义Codeunit场景:
    新建ID为50006、名称为Prova的Codeunit,OnRun触发器代码如下:
    OnRun()
    MESSAGE('Hello');
    
    按Ctrl+R运行时报错:You do not have the following permissions on CodeUnit Prova: Execute,当前用户已分配SUPER权限集,怀疑与许可证相关。
  2. 自定义报表场景:
    新建报表,OnPreReport触发器代码如下:
    OnPreReport()
      PurchHeader.GET('CF-181003');    
      PurchHeader."Buy-from Vendor No." := 'RONALDO';
      PurchHeader.MODIFY;
    
    运行时报错:You do not have the following permissions on TableData Purch. Inv. Header: Modify。

根因说明

两类报错的核心触发逻辑一致:NAV的权限校验分两层,第一层是许可证层面的全局授权(决定该许可证下所有用户能操作的对象/数据范围),第二层是用户/权限集层面的业务授权(决定单用户能访问的功能范围)。即使用户持有SUPER权限集,也无法突破许可证层面的全局权限限制,这也是绝大多数SUPER用户遇权限报错的核心原因。


排查解决步骤

针对Codeunit Execute权限报错

  • 核查许可证自定义对象范围
    打开C/SIDE开发环境,依次点击Tools > License Information查看当前服务端加载的许可证:
    • 查看Licensed Range字段,确认50006这个对象ID落在许可证授权的自定义对象区间内。NAV默认自定义对象区间为50000-99999,部分受限客户许可证、轻量伙伴许可证会收窄该范围,ID不在授权区间内的自定义对象,所有用户都无执行权限。
    • 查看Permissions for Object Type列表中Codeunit类型的权限项,确认自定义Codeunit有Execute级授权。
  • 重新编译对象
    在对象设计器中选中ID为50006的Codeunit,按Ctrl+F11触发全量编译,确认编译无报错。未正常编译、编译时依赖了无授权对象的Codeunit,也会抛出Execute权限错误。
  • 校验SUPER权限集生效范围
    依次进入Departments > Administration > IT Administration > General > Users,找到当前登录账号:
    • 确认分配的SUPER权限集Company字段为空(即对所有公司生效),若绑定了指定公司,跨公司访问对象会报权限错。
    • 选中SUPER权限行,点击Permissions按钮,确认ID为50006的Codeunit未被手动裁剪Execute权限。
  • 验证方法:开发环境下临时上传Partner级开发者许可证,若运行Codeunit能正常弹出Hello提示,即可100%确认原许可证授权不足。

针对Purch. Inv. Header Modify权限报错

  • 核查许可证表级权限
    同样在License Information页面,找到TableData类型下ID为122的Purch. Inv. Header表,确认当前许可证对该表有Modify权限。注意:终端用户持有的Full User/Limited User许可证,默认对已过账的财务类核心表无直接Modify权限,这类表设计上仅允许通过标准过账、更正流程更新数据,禁止直接修改。
  • 校验权限集表权限配置
    打开SUPER权限集的配置详情,确认TableData类型的Purch. Inv. Header被授予Read/Insert/Modify/Delete全权限,无手动裁剪项。
  • 排查自定义拦截逻辑
    若环境做过定制开发,检查是否有第三方扩展、自定义事件订阅挂载在该表的Modify触发点上,做了额外的权限拦截——财务核心表通常会被加自定义校验,禁止直接后台改数。

生产环境禁止直接修改Purch. Inv. Header这类已过账财务表,会导致业务流、财务对账数据不一致,优先通过红字冲销、更正发票等标准业务流程调整数据。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 20:15:52