【问题标题】:AX 2009: Can't find "SalesCreateReleaseOrderLineTmp" TableAX 2009:找不到“SalesCreateReleaseOrderLineTmp”表
【发布时间】:2016-08-26 12:38:11
【问题描述】:

我是 AX 的初学者,我正在尝试为某些用户设置访问权限,并且在特定操作中他们收到错误,即他们无权访问表 SalesCreateReleaseOrderLineTmp。我已在每个类别中手动搜索此表,但没有成功。我在网站上找到了该表的完整描述 -> Order Lines - SalesCreateReleaseOrderLineTmp - ID: 995。我也搜索了ID,但还是没有结果。拥有管理员权限一切正常,但显然不是解决方案。

这张桌子有固定位置吗,谁能告诉我它在哪里? :) 或者有什么方法可以搜索这个表(按 ID 或名称)?

【问题讨论】:

    标签: axapta x++ dynamics-ax-2009


    【解决方案1】:

    我猜是

    我已在每个类别中手动搜索过此表,但没有 成功

    您的意思是您试图在表单中查找用于维护用户组权限的表?
    如果是这样,那么这是由于临时表从该树视图中隐藏,因为在构建树视图时从 SysSecurity.expandSecurityKey 调用了类方法 SysDictTable.allowSecuritySetup,并且在此方法中 - 除其他外 - 检查是否该表是临时的。

    所以基本上你有 3 个选择:

    1. 为您的权限组提供对安全密钥的所需访问权限,以便该组通过它“继承”对表的访问权限 - 当然缺点可能是过于宽松,但优点是可维护性更好:)

    2. 删除临时表上的安全密钥,因为这通常是恕我直言的错误决定。应用程序不应限制对临时表的访问(无论如何,这些临时表的作用域是用户会话),而是在填充该表的代码甚至更高级别的进程中强制进行访问检查。

    3. 自定义构建安全树视图的代码,使其包含 temp。表。

    尝试应用上面对您有用的第一个选项,因为第一个选项不需要任何应用程序修改,而第二个只是一个简单的属性更改,在我看来目前配置错误。最后的选择应该是最后的手段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-18
      • 1970-01-01
      • 1970-01-01
      • 2016-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多