AX & CrystalReport interface.

AX and CrystalReport interface.

From :http://www.qiuhao.com/forum-redirect-tid-13482-goto-lastpost.html#lastpost

void ViewCrystalReport()
{
Com comapp;
Com reporting;
str paramwhole;
str paramfilename;
str paramCond;
str ViewYesNo;
int ret;
COMVariant variant;
;
variant
= new COMvariant(COMVariantInOut::OUT,COMVariantType::VT_BOOL) ;
paramwhole
= this.args().parm();
comapp
= new COM("CrystalRuntime.Application.11");
ret
= strfind(paramwhole,"|",2,strlen(paramwhole));

paramfilename
= substr(paramwhole,2,ret-2) ;
ViewYesNo
= substr(paramwhole,1,1);
reporting
= comapp.openreport(paramfilename);
reporting.discardsaveddata();
reporting.readrecords();

paramcond
= substr(paramwhole,ret+1,strlen(paramwhole));

reporting.RecordSelectionFormula(paramCond);

if(ViewYesNo == 'N')
{
variant.boolean(
false);
reporting.PrintOut(variant);
}
else
{
ActiveX.ReportSource(reporting);
ActiveX.width(
1200);
ActiveX.height(
750);
ActiveX.DisplayToolbar(
true);
ActiveX.DisplayGroupTree(
false);
ActiveX.Refresh();
ActiveX.ViewReport();
ActiveX.Refresh();
}
}
posted @ 2011-04-01 11:16  Fandy Xie  Views(304)  Comments(0Edit  收藏  举报