2016-11-23 91 views
2

我有一個問題,我試圖用Netsuite中的高級PDF模板來解決。 下面是問題的概要,下面是當前代碼的基本概述。Freemarker Syntax Netsuite

我們有一羣公司(假設他們都包含Company ABC的名字) 偶爾我們會收到這家公司的訂單,但他們沒有被批准。這導致record.otherrefnum下手SC 100(或SC100

我想在模板下面的情景,我需要一些幫助,如何正確結構這一點。我已經爲訂單添加了一個自定義複選框scoverride因此基本上,我希望能夠選中此框,以覆蓋原始IF語句。

IF scoverride?字符串== 「否」,實體包含 'ABC公司' AND otherrefnum包含 'SC100' 然後顯示table1的

除非scoverride?字符串== 「是」,則顯示錶2

IF實體不包含「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> 

回答

2

把你的要求的另一種方式是,車號碼是無效的,如果:

  1. 公司是「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> 
+1

感謝michoel。雖然我不得不使用'&& record.custbodyscoverride?string ==「No」'而不是'record.custbody_scoverride!='T'' –

+1

@SimonG很高興聽到它的工作!自定義字段是否定義爲複選框類型,因爲根據我的經驗,字段類型通常包含'T'或'F'?無論如何,使用'record.custbodyscoverride?string!=「Yes」'來處理空值比如'No' – michoel