【发布时间】:2019-10-07 03:05:28
【问题描述】:
我一直在努力尝试在 NetSuite 中的报表高级 PDF 模板中添加“开放天数”列和“逾期天数”列。但是,在处理源自 NetSuite 记录的日期值时,我一直遇到问题。试图操纵日期值不断导致未指定的错误。我有点困惑,我现在能不能完成这项工作。
例如,如果我将以下内容应用于模板,则可以格式化输入到模板中的任何日期和日期/时间值:
<#setting date_format="dd-MM-yyyy">
<#setting datetime_format="dd-MM-yyyy hh:mm a">
但是,如果我尝试将值用作日期/日期时间对象,则会出错。因此尝试执行以下操作失败:
<#assign d2 = line.duedate?long>
虽然这有效:
<#assign d1 = .now?date?long>
此外,尝试假设该值实际上是传入的字符串并转换为日期/日期时间也会失败。执行以下操作会导致错误:
<#assign d2 = line.datecol?date("M/d/yyyy")> // format used by default in NetSuite date output
另一件毫无意义的事情是检查到期日并仅在有到期日时才显示值(防止显示实际上不是发票的报表条目的数据)。因此,即使在完成的 PDF 中设置并显示了截止日期,以下内容也无法显示正确的结果:
<#if line.duedate?has_content>${daysoverdue}<#else>empty</#if>
它不会显示过期值(此时只是用于测试的静态值),而是显示“空”。无论到期日期值是否可用,每一行的整个列都将显示为好像该字段为空一样。所以,我不知道这是否相关。
我已经研究了一段时间,到目前为止还没有找到任何有用的搜索。
【问题讨论】:
标签: xml netsuite freemarker bfo