症状
在 Microsoft Dynamics GP 或 Microsoft Dynamics SL 中的业务门户中打开"管理业务门户用户"页时,收到以下错误消息:
displayError:--- soap:Server System.Web.Services.Protocols.SoapException:Server 无法处理请求。 ---> Microsoft.BusinessFramework.Data.EntityDataNotFoundException:Microsoft.Applications.BusinessDesk.Dynamics.User
原因
如果满足以下条件,则会出现此问题:
-
从后端办公室数据库中删除了客户、供应商、销售人员、员工、用户或经理的记录。
-
业务门户用户通过高级角色映射到此记录。
由于记录从后端办公室数据库中删除,因此Web 部件"管理业务门户用户"页时不显示"高级角色"。 因此,无法取消分配分配的高级角色。 由于无法取消分配高级角色,因此会收到"症状"部分中提到的错误消息。
解决方法
若要解决此问题,请搜索已分配的高级角色,这些角色不再有效。 为此,请运行以下脚本之一:
-
对于 Microsoft Dynamics GP 或 Microsoft Business Solutions - Great Plains,请下载 AdvdRoleOrphaned_GP.sql 脚本。 然后,针对 Dynamics 数据库运行脚本。可从 Microsoft Business Solutions File 文件下载以下Exchange Server:
AdvdRoleOrphaned_GP.sql 发布日期:2006 年 1 月 24 日
,Microsoft 扫描了此文件中的病毒。 Microsoft 使用的是文件发布时可以获得的最新病毒检测软件。 该文件存储在安全性得到增强的服务器上,以防止对文件进行未经授权的更改。 -
对于 Microsoft Dynamics SL 或 Microsoft Business Solutions - 管理中心,请下载 AdvRoleOrphaned_SL.sql 脚本。 然后,针对系统数据库运行脚本。 可从 Microsoft Business Solutions File 文件下载以下Exchange Server:
AdvRoleOrphaned_SL.sql 发布日期:2006 年 1 月 24 日
,Microsoft 扫描了此文件中的病毒。 Microsoft 使用的是文件发布时可以获得的最新病毒检测软件。 该文件存储在安全性得到增强的服务器上,以防止对文件进行未经授权的更改。
注意 运行脚本时,将生成一个报告。 如果脚本找到不再有效的已分配高级角色,则报告中会提供清理脚本。 例如,"详细信息"部分中的报告提供了一个清理脚本,描述如何删除记录。
更多信息
该脚本生成类似于以下内容的报表:搜索类型为 Microsoft.Applications.BusinessDesk.Dynamics.User 的用户 ID:LESSONUSER1,在用户主表
(SY01400) 中找不到 Back Office/Enterprise Role LESSONUSER1。
UserID:110A1DC6-F1E8-4892-B517-4DE353D63DDE
RoleID:97EFA56C-75A9-489D-9ACA-2BF0DCFCA1B0
容器 ID:D98C 1DD4-008F-04B2-E980-0998ECF8427E 构成
角色:<entityKey><Microsoft.Applications.BusinessDesk.Dynamics.User ID="LESSONUSER1" /></entityKey>若要删除
此记录, 执行下列操作:从
MbfRoleUser 中删除 ,其中 (UserID = '110A1DC6-F1E8-4892-B517-4DE353D63DDE' 和
RoleID = '97EFA56C-7 5A9-489D-9ACA-2BF0DCFCA1B0" 和 ContainerID = 'D98C1DD4-008F-04B2-E980-0998ECF8427E')