2017-09-06 10 views
0

私はNetSuiteにFreemarkerリストを持っています。購買発注の複数の明細が含まれており、は、インデックスを使用して特定の値にアクセスしたいと考えています。Freemarker(NetSuite Advanced PDF)のインデックスを使用して特定のリスト値にアクセスする

2行目の2番目のセル(デバッグ目的のみ)の下のコードで、目的の値を印刷しようとしました。

コードを処理しようとすると、特にエラーは発生しません。 NetSuiteは単に私がテンプレートを保存できないことを知らせてくれるので、どのように進むべきかわかりません。

<#if record.item?has_content> 
    <table class="itemtable" style="width: 100%;"><!-- start items --><#list record.item as item><#if item_index==0> 
    <thead> 
     <tr> 
     <th align="center" colspan="3">${[email protected]}</th> 
     <th colspan="12">${[email protected]}</th> 
     <th colspan="3">${[email protected]}</th> 
     <th align="right" colspan="4">${[email protected]}</th> 
     <th align="right" colspan="4">${[email protected]}</th> 
     </tr> 
    </thead> 
    </#if><tr class="${LineFormat(item.item, item_index)}"> 
     <td align="center" colspan="3" line-height="150%">${item.quantity}</td> 
     <td colspan="12"><span class="itemname">${item.item}</span><br />${item.description}}  ${item[item_index].rate}</td> 
     <td colspan="3">${item.options}</td> 
     <td align="right" colspan="4"><#if item.item?upper_case?contains("TAX")><#else>${item.rate}</#if></td> 
     <td align="right" colspan="4">${item.amount}</td> 
     </tr> 
     </#list><!-- end items --></table> 
    </#if> 
+0

"item"が各広告申込情報を表す場合、$ {item [item_index] .rate}で何をしようとしているのかわかりません あなたが探しているものは$ {item.rate}ではありませんか? – user3075978

答えて

0

最後に迷惑メール</#if>があります。

ところで(エラーメッセージは何かによって食べられる)、http://try.freemarker.org/でテンプレートの構文をチェックすることができます。 (何らかの評価エラーが発生した場合は、構文が正しいことが分かります。そうでなければ、その点に達しません)。

+0

申し訳ありませんが、私がここに貼り付けるのを忘れてしまった、最上部にあるif文がありませんでした。今すぐ追加しました。 –

+0

これは構文的に正しいです。なぜ問題はインデックスによるアクセスに関連していると思いますか? '$ {item [item_index] .rate}'を削除するとテンプレートが保存されますか?その部分は構文的には有効ですが、意味的には奇妙です( 'item'はすでに' item_index'番目の項目です)。その前に余分な '}'がありますが、それは間違いなく誤っていても有効です。 – ddekany

0

LineFormatが問題になる可能性があります。これはあなたのコードに表示されないカスタム関数のようです。 LineFormat関数を削除し、item_indexを単独で印刷してみてください。

関連する問題