在Netsuite PDF / HTML模板上使用数字范围的IF语句

时间:2017-03-01 23:51:40

标签: pdf if-statement freemarker netsuite bfo

我需要指定默认送货方式,因为在Netsuite的报名表中没有提供。由于各种原因,我必须在PDF / HTML模板中执行此操作。 这是我到目前为止的代码,但它似乎没有用;

<#function toNumber val>
<#if val?has_content && val?length gt 0 >
<#return val?html?replace('[^0-9.]','','r')?number >
<#else><#return 0 ></#if></#function>

<#if record.shipmethod?has_content>

${record.shipmethod}  <!-- if a courier is selected -->

<#else>               <!-- else -->
<#list 2000..2560 as pcx>  <!-- Sydney Metro postcodes -->
<#if toNumber(record.shipzip)==pcx> 

Courier1              <!-- Standard Sydney Metro Courier -->

<#else>               <!-- else -->

Courier2              <!-- Standard Interstate Courier -->

</#if></#list></#if>

1 个答案:

答案 0 :(得分:1)

你的循环每次运行时都要打印一些东西(即560行)!您应该使用lte(小于或等于)和gte(大于或等于){{3来测试邮政编码是否在所需范围内,而不是遍历数字。 }}:

<#function toNumber val>
<#if val?has_content && val?length gt 0 >
<#return val?html?replace('[^0-9.]','','r')?number >
<#else><#return 0 ></#if></#function>

<#assign zip = toNumber(record.shipzip)>

<#if record.shipmethod?has_content>
  ${record.shipmethod}
<#elseif zip gte 2000 && zip lte 2560 >
  Courier 1
<#else>
  Courier 2
</#if>