您尝试登录到 Microsoft Dynamics GP,或在 Microsoft Dynamics GP 中打开一个窗口或报表时出现错误消息:"您看不到此窗口具有安全权限。与您的系统管理员联系以获得帮助"

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 857086
症状

症状 1

当您启动 Microsoft Dynamics GP 或 Microsoft 企业解决方案的大草原,或者当您尝试打开一个受限制的窗口时,您会收到以下错误消息:
看不到此窗口具有安全权限。与您的系统管理员联系以获得帮助。


请参阅原因 1、 原因 2 和原因 3"原因"部分中。

现象 2

当您在 Microsoft Dynamics GP 10.0 打开了一个窗口或报表时,您将收到以下错误消息:
您没有打开此窗口的安全特权。与您的系统管理员联系以获得帮助。
请参阅"原因"部分中的原因 4。
原因

原因 1

发生此问题是因为您没有对一个或多个快捷窗口在启动文件夹中列出的安全访问。

请参阅"解决方案"一节中的解决方案 1。

原因 2

在 Microsoft 企业解决方案-8.0 版或在 Microsoft Dynamics GP 9.0,大草原由于最低安全设置不正确,将出现此问题。

在 Microsoft Dynamics GP 10.0 中不会出现此问题。

请参阅"解决方案"一节中的解决方案 2。

原因 3

如果您可以成功登录到系统时错误消息中单击确定,可能是第三方产品限制的访问。

请参阅"解决方案"一节中的解决方法 3。

原因 4

发生此问题是因为在窗口或报表已没有足够的安全权限。

请参阅"解决方案"部分中的解决方法 4。
解决方案

本地 1

若要解决此问题,请从启动文件夹中移除窗口。或者,授予 usersecurity 访问窗口。

分辨率 2

若要解决此问题,在 Microsoft 企业解决方案-大草原 8.0 和 Microsoft Dynamics GP 9.0,设置最低安全。 有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
858718 如何设置最小的安全访问权限以登录到 Microsoft Dynamics GP 或到 Microsoft 的大草原
在 Microsoft Dynamics GP 10.0 中不会出现此问题。

本地 3

要解决此问题,请删除 Dynamics.set 文件中的第三方产品。 有关如何从 Dynamics.set 文件中移除的项的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
872087 如何禁用 Microsoft Dynamics GP 中的 Dynamics.set 文件中的第三方产品

本地 4

若要解决此问题,请执行以下步骤:
  1. 捕获日志文件中的错误。若要执行此操作,请按照下列步骤操作:
    1. 创建一个 Dexsql.log 文件。 有关如何创建 Dexsql.log 文件的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
      850996 如何创建 Microsoft Dynamics GP Dexsql.log 文件
    2. 在工作站上,以登录到 Microsoft Dynamics GP 10.0 收到错误的用户。
    3. 重新创建此问题,但请不要单击确定关闭该消息。
    4. 定位到 Dexsql.log 文件中,并再重命名的文件以防止文件被写。

      注意: Dexsql.log 文件将写入相同的数据文件夹,包含 Dex.ini 文件。
    5. 打开 Dexsql.log 文件,滚动到底部,然后查找用户安全表 (SY10000) 最后一次调用。例如,最后一次调用将如下所示:
      {调用 DYNAMICS.dbo.zDP_SY10000SS_1 (sa,-1,0,390,2)}
      注意: 此调用的参数如下所示:
      • sa 是正在检查的安全的用户的 ID。
      • -1 是安全检查的公司 ID。
      • 0 = (DICTID) 是在窗口或报表打开时的产品 ID。
      • 390 = (SECURITYID) 是用于在窗口或报表打开时的唯一 ID。
      • 2 = (SECRESTYPE) 为该资源类型。值 2 表示一个窗口,和 23 表示报表。
  2. 填充安全资源描述表来转换为窗口名称或报表名称的安全 ID 值。若要执行此操作,请按照下列步骤操作:
    1. 作为 sa 时没有其他用户登录登录到 Microsoft Dynamics GP 10.0。
    2. 然后单击Microsoft Dynamics GP维护,和清除数据
    3. 单击显示菜单上的物理
    4. 系列字段中,单击下拉列表中的系统
    5. 单击安全资源描述表,单击插入,然后单击确定来处理。
    6. 将报表打印到屏幕上,并检查有错误。
  3. 请检查用于在窗口或报表名称的安全资源描述表。为此,编辑并对动态数据库 Microsoft SQL Server 管理 Studio 中或在 SQL 查询分析器中运行下面的脚本。
    SELECT * FROM DYNAMICS..SY09400WHERE DICTID = AND SECURITYID = AND SECRESTYPE = 
    在此示例中,脚本将显示如下。
    SELECT * FROM DYNAMICS..SY09400WHERE DICTID = 0AND SECURITYID = 390AND SECRESTYPE = 2
    因此,此脚本会返回客户维护窗口为问题的根源。
  4. 生成 Microsoft Dynamics GP 10.0 安全任务和授权访问此窗口的角色的列表。若要执行此操作,编辑,然后对动态数据库中运行下面的脚本。
    SELECT ISNULL(A.SECURITYROLEID,'') AS SECURITYROLEID, ISNULL(M.SECURITYROLENAME,'') AS SECURITYROLENAME, --ISNULL(M.SECURITYROLEDESC,'') AS SECURITYROLEDESC, ISNULL(O.SECURITYTASKID,'') AS SECURITYTASKID, ISNULL(T.SECURITYTASKNAME,'') AS SECURITYTASKNAME, --ISNULL(T.SECURITYTASKDESC,'') AS SECURITYTASKDESC, R.PRODNAME, R.TYPESTR, R.DSPLNAME, R.RESTECHNAME, R.DICTID, R.SECRESTYPE, R.SECURITYID FROM DYNAMICS.dbo.SY09400 R FULL JOIN DYNAMICS.dbo.SY10700 O ON R.DICTID = O.DICTID AND O.SECRESTYPE = R.SECRESTYPE AND O.SECURITYID = R.SECURITYID FULL JOIN DYNAMICS.dbo.SY09000 T ON T.SECURITYTASKID = O.SECURITYTASKID FULL JOIN DYNAMICS.dbo.SY10600 A ON A.SECURITYTASKID = T.SECURITYTASKID FULL JOIN DYNAMICS.dbo.SY09100 M ON M.SECURITYROLEID = A.SECURITYROLEID WHERE R.DSPLNAME = '<Display_Name>'

    注意: 替换 <Display_Name></Display_Name> 窗口名称或报表名称从 SY09400 表的结果。
  5. 更改用户的安全角色分配,将它们添加到在步骤 4 的结果中列出的角色之一。此外,还可以创建新安全角色基于结果中列出的安全任务。

警告:本文已自动翻译

属性

文章 ID:857086 - 上次审阅时间:12/14/2015 19:34:00 - 修订版本: 0.1

Microsoft Dynamics GP 2010, System Manager

  • kbnosurvey kberrmsg kbmbsmigrate kbmt KB857086 KbMtzh
反馈