==更新:) =========
!看起来像另一个2100限制!请帮助!
以下是我们发现的更新内容:
我写了一份简单的工作:
server static void testEs(Args _args)
{
UserInfo t;
;
select t;
}
当我以管理员身份运行时,没有问题。当我删除我的管理员权限并再次运行它时,我仍然遇到了这个错误: 无法在用户信息(UserInfo)中选择记录。用户名:,。
对于简单测试,我们删除了一些用户,从2188到2074用户。删除的用户已经在系统中待了一段时间(一个月前)。我重做相同的测试(在非管理员时运行上述工作),现在它可以工作。
任何人都知道??????
==原始讯息==================
你好! (抱歉我的英语不好)当非管理员用户尝试在我们的生产环境中登录Ax时,我们遇到了问题。
实际上,有一个带有这些消息的信息(堆栈跟踪附加到消息中):
== Infolog ========
无法在用户信息(UserInfo)中选择记录。用户身份: , 。 SQL数据库发出错误 (S)\ Classes \ Info \ checkStartupCompany_Server - 第8行 (C)\ Classes \ Info \ checkStartupCompany - 第4行 (C)\ Classes \ Info \ startup - 第49行
这是带有错误的sql语句:
SQL语句:SELECT TOP 1 A.COMPANY,A.ID,101090 FROM USERINFO A WHERE((((ID IN(?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?, [..继续..] ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)))
==结束语言========
以下是Info :: checkStartupCompany_Server的内容以及HERE评论中的错误:
server static void checkStartupCompany_Server(str _curext, userId _curuseid)
{
UserInfo userInfo;
if (!hasMenuItemAccess(menuitemdisplaystr(SysDataAreaSelect), MenuItemType::Display) ||
!hasMenuItemAccess(menuitemdisplaystr(SysDataArea), MenuItemType::Display))
{
select firstonly Company from userInfo
where userInfo.Id == curuserid(); // <== HERE !!!!!!!!!!!!!!
if (userInfo.Company != curext())
{
appl.setDefaultCompany(userInfo.Company, false);
}
}
}
=============
在Info :: checkStartupCompany_Server的代码中,由于绕过上述条件,因此管理员用户不会遇到此问题。
我们现在对公司设置有疑问。
感谢任何帮助:)
提前致谢:)
==结束原始讯息==================
答案 0 :(得分:2)
在您的酸性AOS上增加过程调用(RPC)。 else删除最近导入的一些用户。 在我的情况下,这是有效的。
答案 1 :(得分:1)
我认为你可能在UserInfo表上启用了Record Level Security。