Программные инструменты, которые я использую:
- Eclipse
- i - net очистить отчет
Фон:
- необходимо создать параметр и сеанс в Eclipse
- параметр в Eclipse должен ссылаться на отчет Crystal
- параметр = фильтр
Проблема:
- Отчеты могут быть сгенерированы, но не отфильтрованы в соответствии с ключом данных в параметре. Есть решения, как это сделать?
Ниже приведено мое кодирование для метода запуска в параметре:
method run()
debug "start of run::MXQCParameter"
create object ExtendedQueryBean in vEQB
create object GenericBean in vUserDataBean
//Whatever input entered in the interface session will be store in here
//vUserDataBean will contain multiple values
set vUserDataBean to results of invoke toGenericBean on me
set vCompanyCode to vUserDataBean CompanyCode as String
set vHeaderLine to vUserDataBean HeaderLine as BigDecimal
set vProductionOrderCode to vUserDataBean ProductionOrderCode as String
set my ExtQueryBean to vEQB
invoke setUserData on vEQB using vUserDataBean as parameters
//establish a link to the class
create session MXQCSession in vMXQCSession
//Get result based on the query and store in vEQB bean
set vEQB to results of invoke queryforQC on vMXQCSession using vUserDataBean as parameter
//remove link
remove session vMXQCSession
//store data in extquerybean
create object GenericBean in vPrintParameter
create object ABSBatchReport in vReport
invoke setCode on vReport using my ReportsReportCode as parameter
invoke setQB on vReport using vEQB as parameter
set my ABSReport to vReport
set my NextAction to "doPrint"
set my ReportContext to "3"
//interface session
set my XmlFile to "com/mxm/rep/MXQCParameter.xml"
end
Ниже приведено мое кодирование для queryforQ C method в сеансе:
method queryforQC(GenericBean aParameterGB)returning ExtendedQueryBean
//clear query
extquery clear
//Declare Variable
debug "aParameterGB" + aParameterGB
set vCompanyCode to aParameterGB CompanyCode as String
set vHeaderLine to aParameterGB QualityDocNo as BigDecimal
set vProductionOrderCode to aParameterGB Code as String
//execute
debug "vCompanyCode:::::::::::" + vCompanyCode
debug "vHeaderLine:::::::::::" + vHeaderLine
if not vHeaderLine isvoid then
extquery where CompanyCode = vCompanyCode
extquery where and HeaderLine = vHeaderLine
extquery where and ProductionOrderCode = vProductionOrderCode
endif
//return query result
extquery return
end