2010-05-25 75 views
0

==更新:) =========無法選擇用戶信息(UserInfo)中的記錄。用戶名: , 。 Dynamics Axe 2009

!像另一個2100的限制!請幫忙 !

下面是我們發現的一些更新:

我寫了一個簡單的工作:

server static void testEs(Args _args) 
{ 
    UserInfo t; 
    ; 
    select t; 
} 

當我運行它爲管理員,沒有任何問題。當我刪除我的管理員權限並再次運行時,仍然出現此錯誤: 無法在用戶信息(UserInfo)中選擇記錄。用戶名: , 。

對於簡單的測試,我們刪除了一些用戶,從2188到2074個用戶。已刪除的用戶已在系統中一段時間​​(一個月前)。我重做相同的測試(非管理員時運行上述工作),現在它工作。

任何想法的人??????

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

嗨! (對不起,我的英文不好)

當我們的生產環境中非管理員用戶嘗試登錄Ax時,我們遇到了一個問題。

實際上,存在與這些消息的信息日誌(堆棧跟蹤被附加到消息):

==信息日誌========

無法選擇在用戶信息記錄(用戶信息)。用戶名: , 。 SQL數據庫發出錯誤。
(S)\類\信息\ checkStartupCompany_Server - 8號線 (C)\類\信息\ checkStartupCompany - 線4 (C)\類\信息\啓動 - 線49

下面是用SQL語句錯誤:

SQL語句:????????SELECT TOP 1 A.COMPANY,A.ID,101090 FROM USERINFO一個WHERE((((ID IN(,,,,,,,, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ,?,?,?,?,?,?,?,?,?, [..並繼續..] ?,? ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?)))

==結束信息日誌========

這裏的信息:: checkStartupCompany_Server與這裏的內容發表評論,其中它的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); 
     } 
    } 
} 

=== ==========

在Info :: checkStartupCompany_Server的代碼中,它使得管理員用戶不會遇到這個問題,因爲上面的條件被繞過了。

我們現在懷疑公司設置。

任何幫助表示讚賞:)提前:)

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

謝謝

回答

1

我想你可能在UserInfo表上啓用了Record Level Security。

2

在酸性AOS上增加過程調用(RPC)。 其他刪除最近導入的一些用戶。 在我的情況下,這工作。