使用Crystal运行时间13.0.20的记录选择公式的问题

2020-09-24 12:30发布

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

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


嗨,

我正在尝试使用.net Framework 4.6.2上的Crystal运行时版本13.0.20从打印预览选项访问报告,但它给我以下错误:

{" The缺少的。 FM_Kind} = 1 \ r'\ n缺少)。\ n详细信息:errorKind"}

当我从记录选择公式中删除注释行时,它的运行正常:


({Form.FM_Kind} = 1

//和{Form.FM_ID} = 21436

//

类代码:

//加载报告mainreportdoc = new ReportDocument(); mainreportdoc.Load(reportobject.ReportPath); //设置主选择公式reportobject.Finalize_MainSelectionFormula(); 如果(mainreportdoc.RecordSelectionFormula.Length> 0){mainreportdoc.RecordSelectionFormula ="(" + mainreportdoc.DataDefinition.RecordSelectionFormulaRaw +")"; 如果(reportobject.MainSelectionFormula!= null && reportobject.MainSelectionFormula!="")mainreportdoc.RecordSelectionFormula = mainreportdoc.DataDefinition.RecordSelectionFormulaRaw +"和" + reportobject.MainSelectionFormula; }

对此有什么建议吗?

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

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


嗨,

我正在尝试使用.net Framework 4.6.2上的Crystal运行时版本13.0.20从打印预览选项访问报告,但它给我以下错误:

{" The缺少的。 FM_Kind} = 1 \ r'\ n缺少)。\ n详细信息:errorKind"}

当我从记录选择公式中删除注释行时,它的运行正常:


({Form.FM_Kind} = 1

//和{Form.FM_ID} = 21436

//

类代码:

//加载报告mainreportdoc = new ReportDocument(); mainreportdoc.Load(reportobject.ReportPath); //设置主选择公式reportobject.Finalize_MainSelectionFormula(); 如果(mainreportdoc.RecordSelectionFormula.Length> 0){mainreportdoc.RecordSelectionFormula ="(" + mainreportdoc.DataDefinition.RecordSelectionFormulaRaw +")"; 如果(reportobject.MainSelectionFormula!= null && reportobject.MainSelectionFormula!="")mainreportdoc.RecordSelectionFormula = mainreportdoc.DataDefinition.RecordSelectionFormulaRaw +"和" + reportobject.MainSelectionFormula; }

对此有什么建议吗?

付费偷看设置
发送
3条回答
吹牛啤
1楼 · 2020-09-24 12:55.采纳回答

我不知道,这行是做什么的

3.reportobject.Finalize_MainSelectionFormula();?

Don

shere_lin
2楼-- · 2020-09-24 13:05

嗨Sakshi,

可能是因为您用注释破坏了公式文本。

但是我使用SP 22对其进行了测试,对我来说效果很好。

可能是您正在使用的代码,请尝试以下操作:

//包含注释的记录选择公式只能通过RAS
//rpt.RecordSelectionFormula ="如果不是非null({CUSTOMER.Customer Credit ID}),则{CUSTOMER.Customer Credit ID} = {% test} else true";
CrystalDecisions.ReportAppServer.DataDefModel.ISCRFilter myRecordSelectionWithComments; CrystalDecisions.ReportAppServer.DataDefModel .;
myRecordSelectionWithComments = rptClientDoc.DataDefController.DataDefinition.RecordFilter;
if(myRecordSelectionWithComments.FreeEditingText!= null)
{
//myRecordSelectionWithComments.FreeEditingText = rptClientDoc.DataDefController。 .GetFormulaText();
btnRecordSelectionForm.Text =" \ n带注释:\ n" + myRecordSelectionWithComments.FreeEditingText.ToString();
btnRecordSelectionForm.Update();
btnRecordSelectionForm.AppendText(" \ n \ n ");
btnRecordSelectionForm.Update();
btnRecordSelectionForm.AppendText(" \ n \ n没有注释:\ n" + rpt.RecordSelectionFormula.ToString());
btnRecordSelectionForm.Update();
>//myRecordSelectionWithComments.FreeEditingText =" {TStat.TArt_Cod} = \" A823/001 \"";
////rpt.RecordSelectionFormula =" {TStat.TArt_Cod} = \" A823/001 \"";
//IsRpt = false;
}
else
btnRecordSelectionForm.Text ="无记录选择公式";

hongfeng1314
3楼-- · 2020-09-24 13:10

嗨唐,

感谢您的帮助和建议。 我在这里有另一个查询与上述线程有关。 在执行下面的代码记录时,选择公式的值总是在跳入下一个代码行后消失。

我正在检查在代码行4中记录选择公式的长度,然后跳到If条件内部。 当我来到代码行8时,它没有显示Record选择公式的任何值,但是我可以看到RecordSelectionFormulaRaw和reportobject.MainSelectionFormula的值。

为什么在代码行:4之后该值消失了?

记录选择公式:({Form.FM_Kind} = 1)

代码类:

//加载报告

1.mainreportdoc = new ReportDocument();

2.mainreportdoc.Load(reportobject.ReportPath);

//设置主选择公式

3.reportobject.Finalize_MainSelectionFormula();

4.if(mainreportdoc.RecordSelectionFormula.Length> 0)

5. {

6.mainreportdoc.DataDefinition.RecordSelectionFormula ="(" + mainreportdoc.DataDefinition.RecordSelectionFormulaRaw +")";

7.if(reportobject.MainSelectionFormula!= null && reportobject.MainSelectionFormula!="")

8.mainreportdoc.RecordSelectionFormula = mainreportdoc.DataDefinition.RecordSelectionFormulaRaw +"和" + reportobject.MainSelectionFormula; }

谢谢

Sakshi

一周热门 更多>