2017-04-30 1 views
0

SS2でレンダリングする文を取得するのに苦労しています。答えはSS1であり、使用されていませんでしたが、ss2では動作しません。私はSS2のrender.statementメソッドを使用していますが、 "error.SuiteScriptError"、 "name": "UNEXPECTED_ERROR"、 "message":null、 "stack":["renderStatement(N/render.js)"議論のいくつかが実際に何であるか不明確です。私が考えているエンティティidは、顧客ID、printModeはPDF形式の列挙型、私は分かりませんが、それは数字がほしいと言っていますが、私はNetSuiteの他のオブジェクトのように、私はInternalIdsをオンにしています。 StartDateは、トランザクションを引き出す前の日付です。ステートメントの日付?今日の日付? OpentransactionOnly trueです。これに関する助けに感謝します。SuiteScript 2がpdfステートメントを送ることができます

おかげ

答えて

2

このAPI呼び出しのパラメータの多くは、「個別の声明を印刷」のページ上のUIオプションを模倣します。そこにあるフィールドレベルのヘルプをコピーして、各設定の説明に役立てました。

  • を実体識別子 - 顧客の内部IDを。 :私は過去にエラーがあり、これはparseInt(customer)を使って解決しました。

  • 印刷モード - (render.PrintMode.HTML又はrender.PrintMode.PDFいずれか)にこの文をレンダリングする印刷モード

  • をフォームID - 文を印刷するために使用するフォームの内部IDを。デフォルトのステートメントフォームを使用するには、このオプションをオフのままにします。

  • startDate - 日付の入力を選択した場合、これは明細書に表示される最も古い取引の日付です。注記を選択すると、日付を入力すると、顧客の履歴にあるすべてのトランザクションが明細書に表示されます。

  • statementDate - Statement date。このフィールドの日付は、エージングの計算に使用される日付とステートメントフォームに表示される日付です。

  • openTransactionsOnly - このオプションを選択すると、開いているトランザクションのみを文に含めることができます。開始日を入力した場合、その開始日の未処理トランザクションが表示されます。開始日を入力していない場合は、開いている取引がすべて表示されます。 Show Only Open Transactionオプションは、現在の今日の日付に印刷されたステートメントに最も役立ちます。未処理トランザクションのみを表示し、今日の日付以外の日付を使用している場合、残高の不一致が発生する可能性があります。

ここにコードスニペットがあります。前月の最初と最後の日付の計算には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 
}); 
+0

私は非常に感謝していました – jk121960

関連する問題