2014-10-09 152 views
0

我是一名OFBIZ和BIRT新手,我試圖修改現有報告「付款報告」,但我無法獲得任何數據。我想是因爲我得到的錯誤,BIRT報告修改

The following items have errors: 

ReportDesign (id = 1): 
+ An exception occurred during processing. Please see the following message for  details: 
A BIRT exception occurred. See next exception for more information. 
Invalid javascript expression: measure["amount"] (Element ID:1) 
+ Can not find the prepared query o[email protected]a91e3d. (Element ID:1) 

這是在ofbiz腳本「開放」:

payments = null; 
userLogin = null; 
parameters = null; 
try { 
    userLogin = delegator.findByPrimaryKey("UserLogin",UtilMisc.toMap("userLoginId","admin")); 
} catch(e) { 
     Debug.logError(e,""); 
} 
input = FastMap.newInstance(); 
inputFields = FastMap.newInstance(); 
if(params!=null){ 
    inputFields.put("partyIdTo", params["partyIdTo"]); 
    inputFields.put("paymentId", params["paymentId"]); 
    inputFields.put("paymentTypeId", params["paymentTypeId"]); 
    inputFields.put("paymentId_op", params["paymentId_op"]); 
    inputFields.put("paymentRefNum_ic", params["paymentRefNum_ic"]); 
    inputFields.put("noConditionFind", params["noConditionFind"]); 
    inputFields.put("partyIdFrom", params["partyIdFrom"]); 
    inputFields.put("paymentRefNum_op", params["paymentRefNum_op"]); 
    inputFields.put("amount", params["amount"]); 
    inputFields.put("statusId", params["statusId"]); 
    inputFields.put("paymentGatewayResponseId", params["paymentGatewayResponseId"]); 
    inputFields.put("paymentId_ic", params["paymentId_ic"]); 
    inputFields.put("paymentRefNum", params["paymentRefNum"]); 
    inputFields.put("comments_ic", params["comments_ic"]); 
    inputFields.put("comments_op", params["comments_op"]); 
    inputFields.put("comments", params["comments"]); 
} 
input.put("userLogin",userLogin); 
input.put("inputFields",inputFields); 
input.put("entityName","PaymentAndType"); 
input.put("orderBy","effectiveDate DESC"); 
//input.put("viewIndex", 0); 
//input.put("viewSize", 20); 
try { 
    result = dispatcher.runSync("performFind", input); 
    payments = result.get("listIt"); 
} catch (e) { 
    Debug.logError(e, module); 
} 

我已經修改了Entityengine.xml並得到了德比OFBiz的架構到Oracle 。
我試着修改腳本文件,但經過一些修改(ofbiz數據源是不可編輯的,我用eclipse編輯.rptdesign文件)我得到這個錯誤。 (「支付報告」內置於:「Eclipse BIRT Designer版本2.5.1.v20090903」 但我使用:「Eclipse BIRT Designer版本4.3.1.v201309091055」所以當保存並運行這個,我得到錯誤)

org.eclipse.birt.report.engine.api.EngineException: The design file <stream> has error and can not be run. 

因爲我發現,這發生在版本不兼容,所以我怎麼能改變這個文件並獲取數據? 。我做錯了什麼?謝謝並且對於糟糕的英語和缺乏信息感到抱歉。

回答

0

在BIRT Designer中,嘗試對rptdesign文件進行一個簡單的更改(例如更新描述),然後保存(而不是同時運行)。這應該將文件更新到最新版本的BIRT Designer。然後再次運行它以查看EngineException是否消失。

+0

嗨@ user3660637 - 邑我嘗試慢慢修改它與兩個版本,幾乎沒有修改它是好的。但幾乎一個配置文件將在那裏,我得到錯誤'org.eclipse.birt.report.engine.api.EngineException:設計文件有錯誤,無法運行.'。所以有什麼提示?並抱歉遲到重播。 – Archangle 2014-10-14 04:11:21

0

BIRT向後兼容,因此早期版本報告(2.5)將在BIRT的新版本(4.3)上運行。我看到你說你已經試圖保存報告,但報告仍然列爲2.5版本,這意味着它不保存你的更改。如果報告正在更新,它會更新到您正在構建的新版本(4.3)。

很可能在現有報告中有一個錯誤被2.5忽略,但不會在4.3中運行。

最簡單的解決方案(最適合您的教育)是從零開始重建4.3中的報告。在構建時測試它,確保它以最簡單的形式運行。在構建時,您會發現並糾正2.5中允許的設計缺陷,因爲您正在使用4.3構建,所以您不會創建缺陷/錯誤。

+0

嗨,詹姆斯,真的非常感謝您的輸入。我已嘗試使用這兩個版本。如果我用4.3重建它,我得到'org.eclipse.birt.report.engine.api.EngineException:設計文件有錯誤,無法運行。' – Archangle 2014-10-14 03:36:29

+0

嗨,@詹姆斯 - 真的感謝您的輸入。我有嘗試兩種版本到目前爲止。如果我用4.3重建它,我得到'org.eclipse.birt.report.engine.api.EngineException:設計文件有錯誤,無法運行.',如果我用2.5構建它,我得到驅動程序的classdif錯誤( birt EngineException)。 – Archangle 2014-10-14 03:43:14

+0

@Archangle從你在答案中的評論,它聽起來像你在錯誤中構建。不知道這裏有人能幫助你解決你的問題。 – 2014-10-14 18:50:09