SuiteScript 2可以发送pdf语句

时间:2017-04-30 23:35:44

标签: netsuite suitescript

我很难获得在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。对此有任何帮助表示赞赏。

感谢

1 个答案:

答案 0 :(得分:3)

此API调用中的许多参数都模仿了“打印个人声明”中的UI选项。页。我已经复制了一些字段级别的帮助,以帮助解释每个设置。

  • entityId - 客户的内部ID。 注意 :过去我遇到过使用parseInt(customer)解决的错误。

  • printMode - 用于呈现此语句的打印模式(render.PrintMode.HTMLrender.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
});