本指南提供了多种解决方案,以解决在 Microsoft Dynamics SL 中打印或打印预览报告时收到 系统消息 7011 错误信息的问题。
适用于: Microsoft Dynamics SL 2011
原始 KB 数: 905595
症状
假设以下场景:您在以下任一模块中执行打印或打印预览报告。
- 在 Microsoft Dynamics SL 中进行采购
- 订单管理在 Microsoft Dynamics SL中
- 微软 Dynamics SL 的库存模块
- 项目中的时间和费用在Microsoft Dynamics SL
当您执行此操作时,您会收到以下一系列错误信息之一:
系列 1:
系统消息 7011 - CRPERC 的 ROI 获取 RIPARAM 失败。 错误=.
在您收到此信息后,您会收到以下错误信息:
系统信息 7011- ROI 获取 CRPEMSGCNT 的 RIPARAM 失败。 错误=.
见原因1、2、3和4。
系列 2:
CRPEHLPR MFC应用程序遇到问题,需要关闭。 我们对给您带来的不便深表歉意。
之后是:
系统消息 7011 - CRPERC 的 ROI 获取 RIPARAM 失败。 错误=.
之后是:
系统消息 7011 - ROI 获取 RIPARAM 对 CRPEMSGCNT 失败。 错误=.
请参见原因 5
系列 3:
Microsoft Visual C++ 运行库运行错误! 程序:应用程序请求运行时环境以不寻常的方式终止。 请联系应用程序的支持团队以获取更多信息。
之后是:
系统消息 7011 - CRPERC 的 ROI 获取 RIPARAM 失败。 错误=.
之后是:
系统消息 7011 - ROI 获取 RIPARAM 对 CRPEMSGCNT 失败。 错误=.
请参阅原因6。
原因
问题可能由于以下原因之一导致。
原因 1
数据执行保护(DEP)功能会阻止某些文件成功运行,当 Microsoft Dynamics SL 或 Microsoft Business Solutions - Solomon 程序文件位于运行以下操作系统之一的计算机上时:
- Windows Server 2008 或 Windows Server 2008 R2
- Windows 7
- Windows Server 2003 带有 Service Pack 1 (SP1)
- Windows Vista 附 Service Pack 1 (SP1)
- 带 Service Pack 2 的 Windows XP Professional (SP2)
第二个原因
在 Microsoft Dynamics SL 应用程序数据库或 Microsoft Business Solutions - Solomon 应用程序数据库中,有损坏的记录。
因果3
文件 Capicom.dll 注册不正确。
原因 4
Microsoft Dynamics SL 使用“Crystal Reports 10”。 该版本的Crystal Reports是早期版本的升级版。 因此,某些程序设置不再兼容。
原因5
这个问题是由于您尝试打印的报告的子报告中存在抑制公式造成的。
原因 6
MSDSL 应用角色或 E7F575915A2E4897A517779C0DD7CE SQL 用户未正确与 Microsoft Dynamics SL 数据库同步。 或者角色和用户都没有正确同步。 这种情况可能发生,如果满足以下条件:
- 在数据库维护 (98.290.00) 屏幕中选择 同步所有所有权和安全性 更新场景,并且 数据库维护 (98.290.00) 屏幕来自早期版本的 Microsoft Dynamics SL。
- 你在与 Microsoft Dynamics SL 7.0 数据库相同的 SQL Server 实例上运行更新方案时,可以对任何存在的数据库进行操作。
决议1
将数据执行保护特性设置为允许 Crpehlpr.exe 文件和 Roi.exe 文件运行。 ** 要做到这一点,请遵循以下步骤:
右键单击 “我的电脑”,再单击 “属性”。
在 Windows Server 2003 或 Windows XP 中,点击高级选项卡。在 Windows Vista、Windows 7 或 Windows Server 2008 中,点击高级系统设置链接。
在 “性能 ”部分中,单击“ 设置”。
在数据执行保护标签页上,点击添加。
注意
默认选项是 为所有程序和服务启用 DEP,但我选择的程序和服务除外。
浏览到 Microsoft Dynamics SL 程序安装目录或 Microsoft Business Solutions - 所罗门程序安装目录。 如果你有一个额外的驱动器,并且该驱动器是映射到此安装目录的,那么必须通过两个路径添加该文件。
例如,将 Microsoft Dynamics SL 7.0 安装到以下文件夹:
C:\Program Files\Microsoft Dynamics\SL\Applications
在同一台计算机上,将S驱动器映射到以下文件夹:
C:\Program Files\Microsoft Dynamics\SL
在执行此步骤时,您必须使用以下两个路径来添加文件:
- C:\Program Files\Microsoft Dynamics\SL\Applications\
- S:\Applications\
定位并单击以选择以下文件:
Crpehlpr.exe
单击“ 打开”,单击“ 应用”,然后单击“ 确定”。
对 Roi.exe 文件重复步骤 1 到步骤 7。
决议 2
从 Microsoft Dynamics SL 应用程序数据库或 Microsoft Business Solutions - Solomon 应用程序数据库中删除损坏的记录。 要做到这一点,请遵循以下步骤。
注意
在按照本文中的说明操作之前,请确保拥有数据库的完整备份副本,如果出现问题,可以还原该副本。
确保所有 Microsoft Dynamics SL 用户或所有 Microsoft Business Solutions - Solomon 用户都已退出。
开始Microsoft SQL 查询分析器。 或者,启动 Microsoft SQL Server Management Studio。
连接到相应的 Microsoft Dynamics SL 应用程序数据库或 Microsoft Business Solutions - Solomon 应用程序数据库。
运行以下语句。
Delete from Roidetail Delete from Rptcompany Delete from Rptruntime
决议3
为了解决此问题,请手动注册 Capicom.dll 文件。 ** 要做到这一点,请遵循以下步骤:
在本地计算机上查找 Capicom.dll 文件。 默认情况下,此文件位于以下文件夹中:
SystemDrive:\Windows\System32
验证 Capicom.dll 文件的版本是否为 2.1.0.1 或更高版本。 ** 要做到这一点,请遵循以下步骤:
- 右键单击 Capicom.dll 文件,然后单击属性。
- 在版本选项卡上,确认文件版本为2.1.0.1或更高版本。
- 单击 “确定” 。
右键单击 Capicom.dll 文件,然后点击打开方式。
在Windows对话框中,点击从列表中选择程序,然后点击确定。
在打开方式对话框中,点击浏览。
找到并打开以下文件夹:
SystemDrive:\Windows\System32
双击 Regsvr32.exe 文件,然后点击 OK。
收到以下信息时,请单击确定。
RegSvr32 - DllRegisterServer 在 SystemDrive:\windows\system32\capicom.dll 中注册成功。
注意
在您在注册 Capicom.dll 文件之前,如果在任何工作站计算机上遇到 "系统消息 9827" 错误信息,您必须在 数据库维护 (98.290.00) 屏幕中重新运行 同步所有所有权和安全性 更新场景。
第4号决议
要解决此问题,请在 Business Objects Crystal Reports 的报告文件中选中无打印机复选框。 ** 要做到这一点,请遵循以下步骤:
- 打开 Crystal Reports,然后单击报表文件将其打开。
- 点击File。
- 单击 “打印机设置”。
- 单击以选择无打印机复选框,然后单击确定。
- 单击“ 保存”。
决议 5
在Business Objects Crystal Reports中更改报告,以移除对子报表的抑制。
在 Business Objects Crystal Reports 中,打开正在产生错误的报告文件。
如果报告的任何部分包含子报告,请右键单击该子报告。 注意:如果没有子报告,此解决方案将不起作用。
单击 格式子报告。 出现的Suppress Formula按钮的文本应为红色。 这段红色文字的出现表明存在一个抑制公式。 当公式使用来自父报表的变量时,必须移除这些变量。
注意
- 如果您没有收到存在抑制公式的指示,那么这个解决方案将不起作用。
- 如果抑制公式使用了子报表变量和主报表变量的组合,则必须对这些变量进行区分,以便可以移除主报表变量。
- 如果包含子报表的部分还包含其他显示的变量,则这些变量必须分开。
- 如果包含子报表的部分已经有一个抑制公式,则您必须决定是否合并这些公式以及如何进行合并。
单击抑制公式以打开格式编辑器对话框,然后在编辑菜单上单击全选。
注意
如果抑制公式仅使用来自子报告的变量,那么此解决方法将不起作用。
在编辑菜单中,点击复制以复制公式。
删除公式。
单击“ 确定 ”关闭 “格式编辑器 ”对话框。
右键单击屏幕左侧显示子报表的部分,然后单击分区专家。
在节专家对话框中,点击抑制公式,然后在编辑菜单中点击粘贴以粘贴该公式。
单击 保存并关闭,然后单击 确定。
在“文件”菜单上,单击“保存”。
第六号决议
同步用户。 ** 要做到这一点,请遵循以下步骤:
使用 SQL Server Management Studio 在 Microsoft Dynamics SL 系统数据库中运行以下语句:
DELETE FROM RPTExtra
在数据库维护 (98.290.00)屏幕中选择同步所有所有权和安全性更新方案,然后点击开始处理。