ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
SuiteWorldまであと41日となりました。以下の最新情報をご確認ください。
アジェンダビルダー公開
SuiteWorld On Airの登録受付開始
新しいNetSuite Prompt Studioコンテスト
その他の最新情報も!
詳細はこのスレッドでご確認ください!
SuiteScript 1.0経由で既存のカスタムアドバンスPDF/HTMLテンプレートをSuiteletのコンテキストレスパンスとして使用する
適用
製品: NetSuite 2023.1
シナリオ
SuiteScript 1.0にて、setTemplate(template) のメソッドはテンプレートの未加工の文字列のみ返されるため、パラメータとしてアドバンスPDFテンプレートのIDは使用できません。一方でSuiteScript 2.0にて、setTemplateById(options) のメソッドでパラメータとしてアドバンスPDFテンプレートのIDは渡せます。
解決策
SuiteScript 1.0にて、既存のアドバンスPDFテンプレートを使用または参照するには、テンプレートファイルをダウンロードして、ファイルキャビネットにアップロードします。その後、ファイルをロードして、未加工の文字列の値を取得します。
- 既存のカスタムアドバンスPDF/HTMLテンプレートへ移動します。 (カスタマイゼーション > フォーム > アドバンスPDF/HTMLテンプレート)
- 対象テンプレートを編集します。
- アクション > テンプレートをダウンロード にマウス・ポインタを重ねます。
- ファイルキャビネットにダウンロードしたテンプレートファイルをアップロードします。
Suiteletスクリプト
var record = nlapiLoadRecord('salesorder', 'レコードの内部ID'); var renderer = nlapiCreateTemplateRenderer(); var getFile = nlapiLoadFile('テンプレートファイルの内部ID'); var file = getFile.getValue(); renderer.setTemplate(file); renderer.addRecord('record', record); var xml = renderer.renderToString(); var PDFfile = nlapiXMLToPDF(xml); response.setContentType('PDF','PRINT.pdf'); response.write(PDFfile.getValue());
免責事項
ここに記載されているサンプルコードは、法律で認められている最大限の範囲で、いかなる種類の保証もなく、「現状のまま」で提供されています。Oracle+NetSuite社は、開発者がそれぞれの開発プラットフォームにサンプルコードを実装したり、独自の Web サーバー構成を使用したりする際に、個々の成功を保証するものではありません。
Oracle + NetSuite社は、サンプルコードに関連するデータまたは情報の使用、使用結果、正確性、適時性または完全性に関して、いかなる保証も行わず、表明もしません。Oracle + NetSuite社は、明示的にも黙示的にもすべての保証を放棄し、特に、商品性、特定目的への適合性、およびコード、またはそれに関連するサービスやソフトウェアに関連する保証を放棄します。
Oracle + NetSuite社は、本サンプルコードに関連してお客様または他者が行った行為に起因するいかなる種類の直接的、間接的または結果的な損害または費用についても責任を負いません。