我很难获得在SS2中呈现的语句,我发现答案是SS1并且在某个时候没有使用它,但它似乎在ss2中不起作用。我正在使用SS2 render.statement方法,但我得到一个“error.SuiteScriptError”,“name”:“UNEXPECTED_ERROR”,“message”:null,“stack”:[“renderStatement(N / render.js)”I目前尚不清楚其中的一些论点究竟是什么。我认为是实体ID是客户ID,printMode是pdf枚举,formId我不知道,它说它想要一个数字,但我没有看到列表中的表单旁边的内部ID,就像NetSuite中的其他对象一样,我有InternalIds。 StartDate是您想要开始提取交易的日期吗?发言日期?今天的日期? OpentransactionOnly true。对此有任何帮助表示赞赏。
感谢
答案 0 :(得分:3)
此API调用中的许多参数都模仿了“打印个人声明”中的UI选项。页。我已经复制了一些字段级别的帮助,以帮助解释每个设置。
entityId - 客户的内部ID。 注意 :过去我遇到过使用parseInt(customer)
解决的错误。
printMode - 用于呈现此语句的打印模式(render.PrintMode.HTML
或render.PrintMode.PDF
)
formId - 用于打印语句的表单的内部ID。请关闭此选项以使用默认语句表单。
startDate - 如果您选择输入日期,则这是语句中显示的最早交易的日期。如果您选择记录输入日期,则客户历史记录中的所有交易都会显示在对帐单上。
statementDate - 声明日期。此字段中的日期是用于计算年龄的日期以及声明表单上显示的日期。
openTransactionsOnly - 选择此选项以仅在语句中包含打开的事务。如果您输入了开始日期,则会显示该开始日期的打开交易。如果您尚未输入开始日期,则会显示所有未结交易。 “仅显示打开事务处理”选项对于截至当前日期打印的语句最有用。如果您选择仅显示打开交易并使用当前日期之外的日期,则可能存在余额差异。
这是一段代码段。它使用moment.js来计算上个月第一天和最后一天的日期。
var startDate = format.format({
value: moment().subtract(1, 'months').startOf('month').toDate(),
type: format.Type.DATE
});
var statementDate = format.format({
value: moment().subtract(1, 'months').endOf('month').toDate(),
type: format.Type.DATE
});
var statement = render.statement({
entityId: parseInt(customer),
printMode: render.PrintMode.PDF,
startDate: startDate,
statementDate: statementDate
});