ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
Join us for complimentary one-day events around the world and step into a future fueled by AI and limitless potential. Explore new breakthroughs, sharpen your skills, and connect with experts who are shaping what’s next. Experience bold keynotes, interactive learning, and connections that span the global NetSuite community. Discover what's next at SuiteConnect Tour 2026.
We’re excited to announce that the 2025 Community Recap is now available! This special recap highlights the amazing contributions and achievements of our members over the year and celebrates the collective success of our community.
Check your personalized recap to see the impact you made in 2025 and how your efforts helped shape our community’s growth and success.
View Your 2025 Community Recap
Thank you to everyone for your passion, collaboration, and support. Here’s to building an even stronger community together in the year ahead!
Season’s greetings to you and yours! As we head into the holidays (December 24 – January 4), we want to take a moment to celebrate the incredible strength and collaboration within our community. Even during the break, you can continue to benefit from connecting with peers, searching related threads, posting your questions, and marking helpful replies as “Accepted” in the Support Community.
Please note our dedicated team will be on reduced coverage during this time, and regular responsiveness will resume on January 5. Wishing you a joyful and restful holiday season!
-The NetSuite Support Community Team
SuiteScript 2.0でRESTletの応答としてPDFファイルを出力する
適用
製品: NetSuite 2024.2
シナリオ
統合のためNetSuiteのファイルキャビネットからPDFファイルをRESTLetレスポンスとして返したい
解決策
RESTLetのレスポンスはJSONオブジェクトタイプなので、pdfファイルを直接返すことはできません。回避策としては、N/fileモジュールのfile.getContents();メソッドを使用することができます。このメソッドは、pdfをBASE64エンコードに自動的に変換し、サードパーティのアプリケーションが文字列をデコードして再びpdfフォーマットに変換します。
RESTlet script:
/**
* @NApiVersion 2.x
* @NScriptType Restlet
* @NModuleScope SameAccount
*/
define(['N/file'], function(file) {
function post(dataIn) {
if(dataIn){
var recFile = file.load({ id : dataIn.id });
if (recFile.size < 10485760){
return recFile.getContents();
});
} else {
return 'File more than 10MB'; }
}
}
return { post : post }; }
);
- 上記のコードをコピーし、javascriptファイルとして保存
- NetSuite上で、カスタマイズ>スクリプト>スクリプト>新規に移動
- スクリプトファイルフィールドの横にある”+”ボタンをクリック。新しく保存したjavascriptファイルを探します。
- スクリプトレコードの作成をクリック
- スクリプトレコードのページで、スクリプトレコードの名前を入力。
- 保存&デプロイをクリック
- スクリプトのデプロイメントページで、保存をクリック
RESTletをPOSTman経由でPOSTメソッドで実行し、ペイロードとして以下のJSONを指定します。
JSON Body:
{"id":"123"}
Note: "123" is the internal id of the pdf file in the file cabinet in NetSuite.
注:Postmanを使ったRESTletの設定と実行の手順については、参照記事50998 Hello World RESTletを参照してください。
免責事項
ここに記載されているサンプルコードは、法律で認められている最大限の範囲で、いかなる種類の保証もなく、「現状のまま」で提供されています。Oracle+NetSuite社は、開発者がそれぞれの開発プラットフォームにサンプルコードを実装したり、独自の Web サーバー構成を使用したりする際に、個々の成功を保証するものではありません。
Oracle + NetSuite社は、サンプルコードに関連するデータまたは情報の使用、使用結果、正確性、適時性または完全性に関して、いかなる保証も行わず、表明もしません。Oracle + NetSuite社は、明示的にも黙示的にもすべての保証を放棄し、特に、商品性、特定目的への適合性、およびコード、またはそれに関連するサービスやソフトウェアに関連する保証を放棄します。
Oracle + NetSuite社は、本サンプルコードに関連してお客様または他者が行った行為に起因するいかなる種類の直接的、間接的または結果的な損害または費用についても責任を負いません。