printing - 如何在 netsuite 中打印不同的模板?
问题描述
我正在尝试找到正确的模板和 ID,以用于项目履行的高级 pdf 模板的热印。
热门打印网址是(id 加粗)https://system.na3.netsuite.com/app/accounting/print/hotprint.nl?regular=T&sethotprinter=T&id= 7600 &label=Packing%20Slip&printtype=packingslip&trantype=itemship&orgtrantype= TrnfrOrd&auxtrans=7605
出于某种原因,只有某些 id=# 似乎会影响结果,并且我必须为两个不同的模板工作的 id 与自定义交易表单 ID 或高级 pdf 脚本 ID 不匹配。(例如大多数 ids=template 1,而 168,4954,以及看似随机的其他 ids=template 2)我对 netsuite 如何解析热打印 url 感到非常困惑,因为它通常不包含 template= 部分,尽管我见过其他人将其用于发票打印网址。
解决方案
url 末尾的参数(后面的东西?
)被 Netsuite 用来控制为您打印 PDF 的网页所使用的设置。
在这种情况下,&id=#####
指的是您正在打印的文档的内部 id。您可以通过转到文档、右键单击、选择检查并nlapiGetRecordId()
在控制台中键入来查看此内容。当您单击打印时,您应该会在 之后看到相同的数字&id=#####
。
&template=###
指您正在打印的模板。如果您转到自定义 -> 表单 -> 高级 PDF/HTML 模板,您会注意到表格中的脚本 ID 字段。如果您将正确的脚本 ID 替换为 中的数字&template=###
,您会注意到您生成了相同的 PDF。此脚本 ID 与之前的编号相同。
更改这些数字时看到异常结果的原因是您将记录与不是为其构建的模板不匹配。所以它不会完全正确打印,但有时会执行。
无论如何,这种参数方案与 Suitelets 和 Restlets 的工作方式类似,所以将来你可能会再次遇到这种事情。
编辑:对于那些将来阅读本文的人,请阅读评论。
推荐阅读
- c# - 在网站中查找号码并显示
- bitlocker - 如何解锁我的位储物柜加密驱动器。
- arm - aarch64; Load-Acquire Exclusive vs Load Exclusive
- java - 什么会导致 for 循环在应该递增时递减?
- hibernate - JPA/Hibernate Query 无法识别命名参数
- ios - 如何在 UILabel 的文本下绘制东西?
- javascript - while 条件中的赋值检查什么?
- javascript - 如何修复我的 html/javascript 代码来为精灵表设置动画?
- angularjs - Angular json 查询 - 是否需要使用 cors?请让我知道,因为我是 Angular 的新手,我知之甚少
- c# - 每当我使用 C# 将数据保存到 SQL Server 数据库时,都会出现错误