Axapta 如何确定用户是否具有使用business connector更新表的权限

Axapta 如何确定用户是否具有使用business connector更新表的权限,axapta,microsoft-dynamics,x++,dynamics-ax-2009,business-connector,Axapta,Microsoft Dynamics,X++,Dynamics Ax 2009,Business Connector,我们正在使用Dynamics AX 2009安装中的Business Connector开发一个intranet应用程序 我们希望允许用户更新某些表中的数据,如果用户已经在AX中获得了这样做的权限。也就是说,如果用户的有效权限允许他们使用AX Windows客户端更新数据,那么他们应该能够使用intranet应用程序更新数据 我们正在使用LogonAs方法并传入当前用户的登录名。这一切都有效。但是,对于允许保存数据的用户,我想显示一个更新按钮。对于那些不允许的,我不想显示任何按钮 有没有一种方法

我们正在使用Dynamics AX 2009安装中的Business Connector开发一个intranet应用程序

我们希望允许用户更新某些表中的数据,如果用户已经在AX中获得了这样做的权限。也就是说,如果用户的有效权限允许他们使用AX Windows客户端更新数据,那么他们应该能够使用intranet应用程序更新数据

我们正在使用LogonAs方法并传入当前用户的登录名。这一切都有效。但是,对于允许保存数据的用户,我想显示一个更新按钮。对于那些不允许的,我不想显示任何按钮


有没有一种方法可以在不尝试执行更新的情况下查询用户对给定更新的权限?

看看静态方法
Global::hasTableAccess(tableId,AccessType)

那么一个像这样的电话

hasTableAccess(tablenum(SalesLine), AccessType::Edit)  
将检查用户是否有足够的权限编辑该表-在本例中为
SalesLine

通过,您可以通过传递两个参数直接调用它,或者使用一个新类在X++中编写一个简单的精简包装器,该类只接受表名并代表您使用适当的值调用此方法-后者的好处是不公开原始数字表ID和枚举值,这些值在未来版本中可能会更改