SuiteScript 2 может отправлять отчеты в формате PDF

Мне трудно получить оператор для рендеринга в SS2, я нашел ответ SS1 и не использовал его когда-то назад, но, похоже, он не работает в SS2. Я использую метод SS2 render.statement, но получаю ошибку «error.SuiteScriptError», «name»: «UNEXPECTED_ERROR», «message»: null, «stack»: [»renderStatement (N/render.js)» неясно, каковы некоторые из аргументов на самом деле. Я думаю, что entityid - это идентификатор клиента, printMode - это перечисление pdf, formId я понятия не имею, он говорит, что ему нужен номер, но я не вижу внутренних идентификаторов рядом с формами в списке, как другие объекты в NetSuite, У меня есть InternalIds. StartDate — это дата, с которой вы хотите начать получать транзакции? Дата заявления? Сегодняшняя дата? OpentransactionOnly true. Любая помощь в этом приветствуется.

Благодарность


person jk121960    schedule 30.04.2017    source источник


Ответы (1)


Многие параметры в этом вызове API имитируют параметры пользовательского интерфейса на странице «Печать отдельного заявления». Я скопировал часть справки на уровне поля, чтобы помочь объяснить каждую настройку.

  • entityId - внутренний идентификатор клиента. ПРИМЕЧАНИЕ. В прошлом у меня были ошибки, которые можно было решить с помощью parseInt(customer).

  • printMode — режим печати для отображения этого оператора (либо render.PrintMode.HTML, либо render.PrintMode.PDF).

  • formId — внутренний идентификатор формы, используемой для печати выписки. Оставьте этот параметр выключенным, чтобы использовать форму выписки по умолчанию.

  • 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
});
person michoel    schedule 01.05.2017
comment
Отлично, именно то, что я искал, большое спасибо, отличный ответ - person jk121960; 01.05.2017