我一直在努力尝试在 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>
它不会显示过期值(此时只是用于测试的静态值),而是显示“空”。无论到期日期值是否可用,每一行的整个列都将显示为好像该字段为空一样。所以,我不知道这是否相关。
我已经对此进行了一段时间的研究,到目前为止还没有找到任何有用的搜索。