我正在使用此代码将水晶报表生成为pdf。一直在工作。但是突然我遇到了这个问题。
我正在使用C#net,SAP
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load("F:\\Crystal Reports\\SYSPEX_INVOICE.rpt");
new TableLogOnInfos();
TableLogOnInfo crtableLogoninfo;
var crConnectionInfo = new ConnectionInfo();
ParameterFieldDefinitions crParameterFieldDefinitions;
ParameterFieldDefinition crParameterFieldDefinition;
ParameterValues crParameterValues = new ParameterValues();
ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue();
crParameterDiscreteValue.Value = Convert.ToString(DocEntry);
crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields;
crParameterFieldDefinition = crParameterFieldDefinitions["@DOCENTRY"];
crParameterValues = crParameterFieldDefinition.CurrentValues;
crParameterValues.Clear();
crParameterValues.Add(crParameterDiscreteValue);
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
crConnectionInfo.ServerName = "SYSPEXSAP03";
crConnectionInfo.DatabaseName = "SYSPEX_LIVE";
crConnectionInfo.UserID = "sa";
crConnectionInfo.Password = "Password1111";
var crTables = cryRpt.Database.Tables;
foreach (Table crTable in crTables)
{
crtableLogoninfo = crTable.LogOnInfo;
crtableLogoninfo.ConnectionInfo = crConnectionInfo;
crTable.ApplyLogOnInfo(crtableLogoninfo);
}
ExportOptions CrExportOptions;
DiskFileDestinationOptions CrDiskFileDestinationOptions = new DiskFileDestinationOptions();
PdfRtfWordFormatOptions CrFormatTypeOptions = new PdfRtfWordFormatOptions();
CrDiskFileDestinationOptions.DiskFileName = "F:\\eInvoice\\65ST\\" + DocNum + ".pdf";
CrExportOptions = cryRpt.ExportOptions;
{
CrExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
CrExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
CrExportOptions.DestinationOptions = CrDiskFileDestinationOptions;
CrExportOptions.FormatOptions = CrFormatTypeOptions;
}
cryRpt.Export();
// Email Part
无法将类型为“ CrystalDecisions.Shared.ParameterDiscreteValue”的对象转换为类型为“ CrystalDecisions.Shared.ParameterValue”的对象。
在这行代码crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);