If statement Freemarker语法Netsuite

If statement Freemarker语法Netsuite,if-statement,freemarker,netsuite,comparison-operators,If Statement,Freemarker,Netsuite,Comparison Operators,我试图用Netsuite中的高级PDF模板解决一个问题。 这里是问题的概要,下面是当前代码的基本概要 我们有一组公司(假设他们的名字中都包括公司ABC) 我们偶尔会收到这家公司的订单,但未经批准。这将产生记录。otherrefnum以SC100开头(或SC100) 我希望在模板中包含以下场景,我需要一些关于如何正确构造此场景的帮助。我在orderformscoverride中添加了一个自定义复选框,因此基本上,我希望能够勾选此复选框,它将覆盖inital IF语句 如果scoverride?st

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

我们有一组公司(假设他们的名字中都包括
公司ABC
) 我们偶尔会收到这家公司的订单,但未经批准。这将产生
记录。otherrefnum
SC100
开头(或
SC100

我希望在模板中包含以下场景,我需要一些关于如何正确构造此场景的帮助。我在orderform
scoverride
中添加了一个自定义复选框,因此基本上,我希望能够勾选此复选框,它将覆盖inital IF语句

如果scoverride?string==“No”且实体包含“COMPANY ABC”,而otherrefnum包含“SC100”,则显示表1

除非scoverride?字符串==“是”,否则显示表2

如果实体不包含“公司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>

购物车号码无效。
${record.otherrefnum}

另一种表达需求的方式是,如果出现以下情况,则购物车编号无效:

  • 该公司是“ABC公司”、
  • 订单号与“SC100”或“SC100”匹配,
  • 未设置覆盖标志
  • 这将转化为以下代码:

    <#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>
    
    
    购物车号码无效。
    ${record.otherrefnum}
    
    谢谢Michool,它似乎在按我的要求工作。虽然我不得不使用
    和&record.custbodyscoverride?string==“No”
    而不是
    record.custbody\u scoverride!='T'
    @SimonG很高兴听到它工作了!自定义字段是否定义为复选框类型,因为根据我的经验,该字段类型通常包含“T”或“F”?在任何情况下,使用
    record.custbodyscoverride?string!=“是”
    将空值视为“否”