Невозможно выбрать запись в пользовательской информации (UserInfo). Идентификатор пользователя: , . Динамика Axe 2009 - PullRequest
1 голос
/ 26 мая 2010

== ОБНОВЛЕНО :) =========

!Вроде как еще 2100 LIMIT!ПОЖАЛУЙСТА, ПОМОГИТЕ!

Вот несколько обновлений того, что мы нашли:

Я написал простую работу:

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 ОТ USERINFO A WHERE ((((ID IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, [.. и продолжается ..]?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)))

== End Infolog ========

Вот содержимое Info :: checkStartupCompany_Server с ЗДЕСЬпрокомментируйте, где это ошибка:

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 имеет смысл, что пользователи Admin не делаютУ меня нет этой проблемы, поскольку вышеупомянутое условие обойдено.

Теперь у нас есть сомнения по поводу настроек компании.

Любая помощь приветствуется:)

Заранее спасибо :)

== КОНЕЦ ОРИГИНАЛЬНОГО СООБЩЕНИЯ ==================

Ответы [ 2 ]

2 голосов
/ 28 ноября 2011

Увеличьте вызов процедуры (RPC) для вашего кислого AOS. еще Удалить некоторых пользователей, которые были недавно импортированы. в моем случае это работает.

1 голос
/ 30 июня 2010

Я думаю, у вас может быть включена защита на уровне записей в таблице UserInfo.

...