0

我有一个在 VS 2008 和 VB 3.5 中开发的解决方案,其中包含近 38 个项目(类库)。这整个事情是一个大项目,其中有近 140 份报告(水晶报告)。

现在我使用 Crystal Report (CRforVS_13_0_7) 安装 Visual Studio 2012 Ultimate 并将我的解决方案升级到 .net 4.5 一切正常。

我的一些报告使用了一个用 VB.net CRUFL 编写的库来支持印度卢比格式的 InWord

现在我面临将报告升级到新水晶报告格式的问题。当我打开任何报告文件并验证并保存它时,如果我选择是升级,我会要求我以新的水晶报告格式保存,我从水晶代码生成器收到错误

Custom tool error: "Code generator 'ReportCodeGenerator' failed.  Exception stack = CrystalDecisions.Shared.CrystalReportsException: Load report failed. ---> System.Runtime.InteropServices.COMException: UFL 'u212com.dll' that implements this function is missing.
Error in File repAbstract {B0F50159-6708-4E3E-A668-899D0616325C}.rpt:
Error in formula  drInWord: 
'UniSuiteReportingEXReportingEXToWords (ABS(Sum ({@drAmount})))'
UFL 'u212com.dll' that implements this function is missing.
   at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options)
   at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options)
   at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
   --- End of inner exception stack trace ---
   at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
   at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob)
   at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename)
   at CrystalDecisions.VSDesigner.CodeGen.ReportClassWriter..ctor(String filePath)
   at CrystalDecisions.VSDesigner.CodeGen.ReportClassWriter..ctor(String filePath, String resourceNamespace)
   at CrystalDecisions.VSDesigner.CodeGen.ReportCodeGenerator.GenerateCode(String inputFileName, String inputFileContent)"  Z:\World Of Programming\Product\VS .Net\Products\Uni Suite\Uni Suite 2.0\Uni_Suite.Reports\repAbstract.rpt  1   1   Uni_Suite.Reports
  • 我发现问题出在 CRUFL 函数上,

  • 如果我在公式中注释函数并在其中返回普通字符串并流式处理报告升级并且工作正常。

  • 如果我添加新报告并使用此函数,则公式也可以正常工作。

  • 我为任何升级向导错误创建了用 4.5 编写的全新库,但行为相同。

很明显,我无法在新版本中再次创建所有这些报告,数量巨大,其中一些非常复杂。

我是否遗漏了一些东西,在升级我的项目之前我必须先学习什么

请建议

操作系统的另一件事是Windows 8.1 Pro

4

3 回答 3

0

为它找到了一个临时解决方案。这似乎是 Windows 8.1 上 Visual Studio 中水晶设计师的错误

临时解决方案是:

  • 右键单击报告文件并选择属性

  • 从自定义工具中删除“CrystalDecisions.VSDesigner.CodeGen.ReportCodeGenerator”。

  • 现在报表设计器不会为任何更改或测试引发任何错误,进行更新或更改并保存报表。

  • 报表的紧密设计者

  • 现在在自定义工具中打开属性并通过“CrystalDecisions.VSDesigner.CodeGen.ReportCodeGenerator”,然后按 Enter。这将生成报告代码,没有任何错误,报告也可以正常工作

这将生成报告代码,没有任何错误,报告也可以正常工作这绝对是 Visual Studio 水晶报告中的一个错误我不知道如何将此错误提交给 SAP,但我会搜索并将其提交给水晶报告以帮助他们改善这一点。同时,这是一个对我有用的解决方案。

您可以在此处找到有关此的通信http://scn.sap.com/thread/3452634

编辑

但现在使用上述方法报告后的新问题是不接受任何选择过滤器并使用选择语句显示数据库中的所有数据。

正在努力...请提供任何帮助

编辑

找到解决方案也很神奇,这仅发生在同一查看器中带有 UFL 的报告中 OK

在这里找到解决方案http://scn.sap.com/message/8179989#8179989

您需要做的是从查看器控件所在的设计器中删除以下两行。

crystalReportViewer.SelectionFormula = ""
crystalReportViewer.ViewTimeSelectionFormula = ""

编辑

现在我将水晶报告更新到服务包 8 (v. 13.0.8.1216)

链接http://scn.sap.com/docs/DOC-7824

但是仍然使用上述方法没有运气

编辑

我更新到 Crystal Report Service Pack 10 (v.13.0.10.1385) & VS 2013 (64Bit windows 8.1 update 1)

但仍然没有运气,使用上述方法

于 2013-11-12T10:28:44.257 回答
0

我在 C# VS2010 中收到了类似的错误代码。我在将参数字段添加到子报表时得到了它。这似乎发生在我将字段链接到主报告中的参数之前。在创建参数后设置链接似乎会使错误再次消失。

于 2015-08-27T19:27:54.867 回答
0

我知道这是一篇旧帖子,但我收到了这个错误,我的修复方法有所不同......

基本上,错误是对过时的 EF 公式的响应。我通过 Viewpoint 支持得到了以下答案.. OLD func。语法抛出错误:EFCityStateZip ({APPB.City},{APPB.State}, {APPB.Zip})

新功能 有效的语法: ({APPB.City}&', '&{APPB.State}&' '& {APPB.Zip})

于 2015-11-05T21:27:13.757 回答