eclipse birt経験の蓄積
1663 ワード
一.レポートの動的クエリー
1.フロント提出部
2.レポート・セクション
(1)レポート・デザイナのReport paramentersにパラメータを新規作成する.
パラメータ名はurlから渡されたパラメータと一致します.ついでにIs Requiredオプションを外します.
(2)デザイナパネルでData Setを選択しScriptをクリック
before openパネルでパラメータを取得し、where条件をスペルします.
以上の方式は簡単にデザイナで処理します.後でBirt APIを使って処理してみます.
二.表見本の設定
1.フロント提出部
var url= 'frameset?__report=fa/detailSaleOnPassReport.rptdesign';
var fbegdate = queryTBar.find('name', 'fbegdate')[0].getValue();
var fenddate = queryTBar.find('name', 'fenddate')[0].getValue();
if( !Ext.isEmpty(fbegdate)){
src = src + '&fbegdate=' + Ext.util.Format.date(fbegdate, 'Y-m-d');
}
if( !Ext.isEmpty(fenddate)){
src = src + '&fenddate=' + Ext.util.Format.date(fenddate, 'Y-m-d');
}
window.location = url
2.レポート・セクション
(1)レポート・デザイナのReport paramentersにパラメータを新規作成する.
パラメータ名はurlから渡されたパラメータと一致します.ついでにIs Requiredオプションを外します.
(2)デザイナパネルでData Setを選択しScriptをクリック
before openパネルでパラメータを取得し、where条件をスペルします.
var where_sql = "1=1";
var fbegdate = reportContext.getParameterValue("fbegdate");
var fenddate = reportContext.getParameterValue("fenddate");
if(fbegdate!=null && fbegdate!=""){
where_sql += " and a.fbilldate >= to_date('"+fbegdate+" 00:00:00','yyyy-mm-dd hh24:mi:ss') ";
}
if(fenddate!=null && fenddate!=""){
where_sql += " and a.fbilldate <= to_date('"+fenddate+" 23:59:59','yyyy-mm-dd hh24:mi:ss') ";
}
var tmp_sql = this.queryText.replace("1=1",where_sql);
this.queryText = tmp_sql;
以上の方式は簡単にデザイナで処理します.後でBirt APIを使って処理してみます.
二.表見本の設定