【发布时间】:2023-03-30 22:55:01
【问题描述】:
希望您能提供帮助。我目前正在开发一个高级 PDF 模板,该模板根据在销售订单的多选字段中选择的值过滤项目表。
这是我的尝试,不断抛出意外错误:
参考代码中的黄色高亮部分。删除这些后一切正常。
如果我理解正确,多选值返回一个数组;因此理论上我应该能够使用“#LIST”指令。
为了简要解释代码,我试图:
- 循环在多选字段中找到的每个值。
- 将此值与第二个循环中的每个列字段进行比较。
- 如果两个值都匹配,则打印该行,否则跳过。
非常感谢任何想法或建议。
非常感谢!
【问题讨论】:
-
请始终包含异常消息!
-
不幸的是,错误是“意外错误”!
-
呃。如果您看不到实际的错误消息,则很难使用模板。你确定你不能从任何地方得到它吗?就像您可以访问日志一样?无论如何……一个肮脏的把戏。将您的模板放入此
<#attempt>... your template here ...<#recover>FAILED:<pre>${.error}</pre></#attempt>。然后模板的输出将包含错误消息。 -
抱歉耽搁了。不幸的是,即使使用您分享的技巧,在单击工单上的打印按钮时,我仍然会收到“意外错误”。您知道如何检查多选字段是否确实被识别为“序列”,以便可以在 指令中正确使用它吗?
-
#attempt 不起作用可能意味着模板有一些语法错误,因此甚至无法开始执行。你可以在try.freemarker.apache.org 上试试吗?测试某个东西是否是一个序列:
${something?is_sequence?c}。 (或者你可能真的想要${something?is_enumerable?c}。)
标签: netsuite freemarker suitescript suitescript2.0