== UPDATED :) =========
! SEEMS LIKE ANOTHER 2100 LIMIT ! PLEASE HELP !
Here's some update of what we've found :
I've written a simple job :
server static void testEs(Args _args)
{
UserInfo t;
;
select t;
}
When I run it as admin, there's no problem. When I remove my admin privilege and run it again, I still got that error : Cannot select a record in User Information (UserInfo). User ID: , .
For simple test, we deleted some users, passing from 2188 to 2074 users. The users deleted has been in the system for a while (a month ago). I redo the same test (running the above job when non-Admin) and now it works.
Any idea anyone ??????
== ORIGINAL MESSAGE ==================
Hi ! (Sorry for my bad english)
We encountered a problem when non-Admin users try to log in Ax in our production environment.
Actually, there is an infolog with these messages (the stack trace is appended to the message) :
== Infolog ========
Cannot select a record in User Information (UserInfo). User ID: , .
The SQL database has issued an error.
(S)\Classes\Info\checkStartupCompany_Server - line 8
(C)\Classes\Info\checkStartupCompany - line 4
(C)\Classes\Info\startup - line 49
Here's the sql statement with the bug :
SQL statement: SELECT TOP 1 A.COMPANY,A.ID,101090 FROM USERINFO A WHERE ((((ID IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, [.. and goes on ..] ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ))
== End Infolog ========
Here's the content of Info::checkStartupCompany_Server with the HERE comment where it does bug :
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);
}
}
}
=============
In the code of Info::checkStartupCompany_Server, it makes sens that Admin users doesn't have that problem since the condition above is bypassed.
We have now doubts about the company settings.
Any help is appreciated :)
Thanks in advance :)
== END ORIGINAL MESSAGE ==================