NetSuite 高级 PDF 模板 - Freemarker 语法

Posted

技术标签:

【中文标题】NetSuite 高级 PDF 模板 - Freemarker 语法【英文标题】:NetSuite Advanced PDF Template - Freemarker syntax 【发布时间】:2014-05-08 07:15:48 【问题描述】:

我有一个自定义正文字段 custbody_deposit_number,它可能有 2 个用逗号分隔的值。我需要了解内置的 freemarker ?split 的语法。这就是 freemarker 网站所说的关于 ?split 的内容:

<#list "someMOOtestMOOtext"?split("MOO") as x>
- $x
</#list> 

打印

一些 测试 文字

谁能提供有关如何在 ?split 语法中实现我的字段的帮助?

【问题讨论】:

【参考方案1】:

像这样:

<#list custbody_deposit_number?split(',') as x>
  - $x
</#list>

您可能还想通过$x?trim 或使用?split(r'\s*,\s*', 'r') 删除逗号周围的空格

【讨论】:

我当前的代码如下所示: $record.custbody_deposit_numbers 这会正确返回一个值。但有时我在这个领域有多个值。我尝试像这样使用上面的#list 代码: - $x #list> 我收到一个解析错误 - 我一定做错了什么,有什么想法吗? &lt;#list ...&gt; 中不需要$...。请参阅我之前的示例。【参考方案2】:

这就是我们最终解决这个问题的方法:

<#if record.custbody_deposit_numbers?has_content>
    <#list record.custbody_deposit_numbers?string?split(",") as x>
    <tr>
        <td align="center">$x</td>
        <td align="center">
            <#assign depositdate = record.custbody_deposit_dates?string?split(",")[x_index]>
            $depositdate
        </td>
        <td align="right">
            <#assign depositAmt = record.custbody_deposit_amount?string?split(",")[x_index]>
            <#assign depositAmt1 = depositAmt?number>
            $depositAmt1?string.currency
        </td>
    </tr>
</#list>

【讨论】:

以上是关于NetSuite 高级 PDF 模板 - Freemarker 语法的主要内容,如果未能解决你的问题,请参考以下文章

NetSuite 高级 PDF 模板 - Freemarker 语法

NetSuite:如何使用高级 PDF/HTML 模板在分组发票中引用自定义字段

通过 freemarker/高级 pdf 模板打印记录时,NetSuite 是不是会加载自定义子列表?

我的 NetSuite 高级 PDF 模板无法对交易表单数据进行分组

如何在 NetSuite 的高级 PDF 模板中插入自定义字段?

CSS 在 Netsuite 高级 PDF 模板中为部分表头添加额外的字母间距