使用PowerShell的Crystal Reports-如何将powershell变量传递到CR参数字段?

2020-09-09 16:07发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

只是弄湿我的脚,所以请忍受我。 我在自动执行Crystal报表时遇到一些问题。 我想将powershell变量传递到Crystal Report参数中,然后将信息输出为CSV。 在此代码段中,我只想传递日期信息-我现在对该变量进行了硬编码,但它们的格式与Crystal Report参数相同。

我正在使用PowerShell 5运行Crystal Report 2013-数据库连接为OLE DB(ADO)

 [reflection.assembly] :: LoadWithPartialName('CrystalDecisions.Shared')
 [reflection.assembly] :: LoadWithPartialName('CrystalDecisions.CrystalReports.Engine')

 $ report =新对象CrystalDecisions.CrystalReports.Engine.ReportDocument
 $ report.Load(" C:\ CR_test \ CVC-Report-Monthly.rpt")$ report.SetDatabaseLogon('account_name','password')

 $ report.SetParameterValue('FromDate','13/12/2018')
 $ report.SetParameterValue('ToDate','13/12/2019')

 $ report.ExportToDisk(" Excel"," C:\ CR_test \ cvc.xls")
 $ report.close()
 

对于不带任何参数的报告,我导出时没有问题,因为我只是省略了设置参数值,而直接进入exportodisk方法,但是对于那些要传递参数的人,我得到了

使用" 2"个参数调用" exportToDisk"的异常:"缺少参数值"

任何提示将不胜感激! 谢谢您的时间!

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

只是弄湿我的脚,所以请忍受我。 我在自动执行Crystal报表时遇到一些问题。 我想将powershell变量传递到Crystal Report参数中,然后将信息输出为CSV。 在此代码段中,我只想传递日期信息-我现在对该变量进行了硬编码,但它们的格式与Crystal Report参数相同。

我正在使用PowerShell 5运行Crystal Report 2013-数据库连接为OLE DB(ADO)

 [reflection.assembly] :: LoadWithPartialName('CrystalDecisions.Shared')
 [reflection.assembly] :: LoadWithPartialName('CrystalDecisions.CrystalReports.Engine')

 $ report =新对象CrystalDecisions.CrystalReports.Engine.ReportDocument
 $ report.Load(" C:\ CR_test \ CVC-Report-Monthly.rpt")$ report.SetDatabaseLogon('account_name','password')

 $ report.SetParameterValue('FromDate','13/12/2018')
 $ report.SetParameterValue('ToDate','13/12/2019')

 $ report.ExportToDisk(" Excel"," C:\ CR_test \ cvc.xls")
 $ report.close()
 

对于不带任何参数的报告,我导出时没有问题,因为我只是省略了设置参数值,而直接进入exportodisk方法,但是对于那些要传递参数的人,我得到了

使用" 2"个参数调用" exportToDisk"的异常:"缺少参数值"

任何提示将不胜感激! 谢谢您的时间!

付费偷看设置
发送
3条回答
大道至简
1楼-- · 2020-09-09 16:47

从正在加载的程序集中,您似乎还安装了Crystal for Visual Studio SDK。 如果没有,那么您将需要安装一个运行时程序才能做到这一点。

我使用SDK的经验是,您不能只在报告中设置参数值 与SetParameterValue()。 相反,您必须从报表中获取参数对象并以这种方式进行设置。 此处提供示例.NET代码以及该过程的说明: https://blogs.sap.com/2016/02/17/how-to-parameters-in-crystal-reports-for-visual-studio-net/。 您必须对其进行转换,以便可以通过PowerShell遵循该过程,这可能或不可能。

-Dell

落灬小鱼
2楼-- · 2020-09-09 16:37

FYI,我们没有 支持使用Power Shell,如果您发现问题并且可以在.NET应用程序中进行复制,那么我们可以调查一下...

N-Moskvin
3楼-- · 2020-09-09 16:54

嗨,大家好,

感谢您的评论。

Dell-我已经安装了运行时。 通过调整子报表如何处理Crystal报表中的参数,我能够使我的代码正常工作。 链接参数后(因为我只使用了from和to date字段),一切正常。

Don-是的,远射。

一周热门 更多>