Freemarker 语法网络套件

Freemarker Syntax Netsuite

我有一个问题想用 Netsuite 中的高级 PDF 模板解决。 这是问题的概要,下面是当前代码的基本概要。

我们有一组公司(假设他们的名字中都包含 Company ABC) 有时,我们会在未经批准的情况下收到该公司的订单。这导致 record.otherrefnumSC 100(或 SC100

开头

我想要模板中的以下场景,我需要一些关于如何正确构建它的帮助。我在订单中添加了一个自定义复选框 scoverride 所以基本上,我希望能够勾选此框,这将覆盖初始 IF 语句。

IF scoverride?string == "No" AND entity contains 'COMPANY ABC' AND otherrefnum contains 'SC100' THEN show table1

UNLESS scoverride?string == "YES" THEN show table2

IF实体不包含'COMPANY ABC'显示表2*

*问题是此复选框默认未选中,对于我们所有其他客户而言,这不是问题。这就是为什么我需要包含第三个参数

<#if record.entity?contains("Company ABC") && record.otherrefnum?contains("SC 100") || record.otherrefnum?contains("SC100")>

     <table id="table1">
     <tr><td>Shopping Cart Number is invalid.</td></tr>
     </table>

<#else>

    <table id="table2">
    <tr><td>${record.otherrefnum}</td></tr></table>

</#if>

提出您的要求的另一种方式是购物车编号无效,如果:

  1. 公司是"Company ABC"、
  2. 订单号匹配"SC100"或"SC 100"、
  3. 未设置覆盖标志

这将转换为以下代码:

<#if record.entity?contains("Company ABC") &&
     (record.otherrefnum?contains("SC 100") || record.otherrefnum?contains("SC100") ) &&
     record.custbody_scoverride != 'T'>

     <table id="table1">
     <tr><td>Shopping Cart Number is invalid.</td></tr>
     </table>

<#else>

    <table id="table2">
    <tr><td>${record.otherrefnum}</td></tr></table>

</#if>