Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Axapta 无法在用户信息(UserInfo)中选择记录。用户ID:。动态Ax 2009_Axapta_Dynamics Ax 2009_Userinfo - Fatal编程技术网

Axapta 无法在用户信息(UserInfo)中选择记录。用户ID:。动态Ax 2009

Axapta 无法在用户信息(UserInfo)中选择记录。用户ID:。动态Ax 2009,axapta,dynamics-ax-2009,userinfo,Axapta,Dynamics Ax 2009,Userinfo,==已更新:)=== !!似乎又是2100个极限!请帮忙 以下是我们发现的一些更新: 我写了一份简单的工作: server static void testEs(Args _args) { UserInfo t; ; select t; } 当我以管理员的身份运行它时,没有问题。当我删除我的管理员权限并再次运行它时,仍然会出现以下错误: 无法在用户信息(UserInfo)中选择记录。用户ID: 对于简单的测试,我们删除了一些用户,从2188个用户传递到2074个用户。已

==已更新:)===

!!似乎又是2100个极限!请帮忙

以下是我们发现的一些更新:

我写了一份简单的工作:

server static void testEs(Args _args)
{
    UserInfo t;
    ;
    select t;
}
当我以管理员的身份运行它时,没有问题。当我删除我的管理员权限并再次运行它时,仍然会出现以下错误: 无法在用户信息(UserInfo)中选择记录。用户ID:

对于简单的测试,我们删除了一些用户,从2188个用户传递到2074个用户。已删除的用户已在系统中存在一段时间(一个月前)。我重做了相同的测试(在非管理员状态下运行上述作业),现在它可以工作了

任何人都知道吗

==原始消息====================

嗨!(对不起,我的英语不好)

当非管理员用户尝试在生产环境中登录Ax时,我们遇到了一个问题

实际上,有一个包含这些消息的信息日志(堆栈跟踪被附加到消息中):

==信息日志========

无法在用户信息(UserInfo)中选择记录。用户ID:。 SQL数据库发出错误。
(S) \Classes\Info\checkStartupCompany\u服务器-第8行 (C) \Classes\Info\checkStartupCompany-第4行 (C) \Classes\Info\startup-第49行

下面是带有错误的sql语句:

SQL语句:从USERINFO A中选择排名前1的A.COMPANY、A.ID、101090,其中(((中的ID(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, […然后继续….]

==结束信息日志========

以下是Info::checkStartupCompany_服务器的内容,其中有一条注释,说明它在哪里出错:

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);
        }
    }
}
服务器静态无效检查StartupCompany\u服务器(str\u curext,userId\u curuseid)
{
用户信息用户信息;
如果(!hasMenuItemAccess(menuitemdisplaystr(SysDataAreaSelect),MenuItemType::Display)||
!hasMenuItemAccess(menuitemdisplaystr(SysDataArea),MenuItemType::Display))
{
从userInfo中选择firstonly公司

其中userInfo.Id==curuserid();//我认为您可能在userInfo表上启用了记录级别的安全性。

在您的sour AOS上增加过程调用(RPC)。 否则删除最近导入的一些用户。 在我的情况下,这是有效的