2015-04-07 41 views
1

我正在使用NetSuite高級HTML編輯器進行自定義語句。我試圖檢查該報表是否有未結餘額或是否已經支付。下面是我在寫什麼:如何將記錄值與NetSuite advance中的整數進行比較PDF/XML

<#if record.amountremaining > 0 >${record.duedate}</#if><#if record.amountremaining = 0 >PAID IN FULL</#if>` 

的錯誤我得到這個這個:

模板不能因下列錯誤保存: 錯誤上線132,在模板列184。期望在這裏布爾(真/假)表達式。表達式record.amount保留 不計算爲真/假。它是 的一個實例com.netledger.templates.model.EmptyModel 唯一合法的比較是在兩個數字,兩個字符串或兩個日期之間。左手操作數是一個 com.netledger.templates.model.EmptyModel。右手操作數是一個 freemarker.template.SimpleNumber。

有誰知道爲什麼amountremaining不會是一個整數,如何讓它成爲一個整數?

回答

0

我相信這是因爲你的第一次比較;而不是解釋amountremaining > 0中的>爲「大於」,Freemarker將其解釋爲#if標記的關閉。從http://freemarker.org/docs/dgui_template_exp.html#dgui_template_exp_arit

>>和>有問題。 FreeMarker將>字符解釋爲FTL標籤的結尾字符。爲了防止這種情況,您可以使用lt而不是<,而不是< =,而不是>和gte而不是> =,就像在< #if x gt y>中一樣。另一個將表達式放入括號中的技巧,如< #if(x> y)>,但它被認爲不太優雅。

進行文檔中提到的任何更正應該可以解決您的問題。

相關問題