Netsuite SuiteScript2可以发送pdf声明

Netsuite SuiteScript2可以发送pdf声明,netsuite,suitescript,Netsuite,Suitescript,我很难在SS2中得到一个要呈现的语句,我发现一个答案是SS1,以前没有使用过它,但它在SS2中似乎不起作用。我使用的是SS2 render.statement方法,但得到了一个“error.SuiteScriptError”、“name”:“意外的错误”、“message”:null、“stack”:[“renderStatement(N/render.js)”我不清楚某些参数实际上是什么。entityid我认为是客户id,printMode是pdf枚举,formId我不知道,它说它需要一个数字

我很难在SS2中得到一个要呈现的语句,我发现一个答案是SS1,以前没有使用过它,但它在SS2中似乎不起作用。我使用的是SS2 render.statement方法,但得到了一个“error.SuiteScriptError”、“name”:“意外的错误”、“message”:null、“stack”:[“renderStatement(N/render.js)”我不清楚某些参数实际上是什么。entityid我认为是客户id,printMode是pdf枚举,formId我不知道,它说它需要一个数字,但我没有看到列表中表单旁边的内部id,就像NetSuite中的其他对象一样,我打开了InternalID。StartDate是您想要开始之前的日期从?报表日期?今天日期?OpentransactionOnly true提取事务。在此方面的任何帮助都将不胜感激


谢谢

此API调用中的许多参数模拟了“打印单个语句”页面上的UI选项。我复制了其中的一些字段级帮助,以帮助解释每个设置

  • entityId-客户的内部ID。注意:我过去有过错误,这些错误通过使用
    parseInt(客户)
    解决

  • printMode-在中呈现此语句的打印模式(无论是
    render.printMode.HTML
    还是
    render.printMode.PDF

  • formId-用于打印语句的表单的内部ID。禁用此选项可使用默认语句表单

  • 开始日期-如果选择输入日期,这是对账单上显示的最早交易的日期。如果选择注明输入日期,则客户历史记录中的所有交易都会显示在对账单上

  • statementDate-报表日期。此字段中的日期是用于计算账龄的日期以及报表表单上显示的日期

  • openTransactionsOnly-选择此选项仅包括对账单的未结交易。如果您输入了开始日期,则会显示从该开始日期开始的未结交易。如果您未输入开始日期,则会显示所有未结交易。仅显示未结交易选项对于从开始打印的对账单最有用您当前的今天日期。如果您选择“仅显示未结交易”,并且使用的日期不是今天的日期,则可能存在余额差异

下面是一段代码片段。它使用计算上月第一天和最后一天的日期

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
});

太好了,正是我想要的,非常感谢,很棒的回答