ディスカッション
NetSuiteの保存検索やレポートをマスターするための究極のガイドである分析センターを使用して、データの力を最大限に活用しましょう。複雑さを単純化し、組織の真の可能性を解き放ちます。今すぐ分析センターに参加して、新たな高みを目指しましょう!
New AI Community Guidelines. Please review and follow them to ensure AI use stays safe, accurate, and compliant.
Update: Narrative Insights has been restored and is now available.
Narrative Insights is Temporarily Unavailable due to an Infrastructure Issue. Learn how This Impacts Your Account and What to Expect While the Feature is Disabled.
Narrative Insights is Temporarily Unavailable due to an Infrastructure Issue. Learn how This Impacts Your Account and What to Expect While the Feature is Disabled.
ドキュメントのファイルキャビネットに保存したイメージのURLを持続的に取得するサンプルのSuiteScript
適用
製品: NetSuite 2023.1
シナリオ
SuiteScript 2.0を介して、ファイルキャビネットに保存したイメージのURLを持続的に取得します。
解決策
Sandbox 2.0にて、hのパラメータによってイメージのURLは本番環境と異なります。
このhのパラメータは環境によって異なるため、特殊なパラメータです。Sandboxをリフレシュすると、hパラメータは変わるので、URLは壊れます。
例:
このhのパラメータは環境によって異なるため、特殊なパラメータです。Sandboxをリフレシュすると、hパラメータは変わるので、URLは壊れます。
例:
本番環境: /core/media/media.nl?id={image_id}&c={account_id}&h=****************3a4d
Sandbox: /core/media/media.nl?id={image_id}&c={account_id}&h=****************2a1b
Sandbox: /core/media/media.nl?id={image_id}&c={account_id}&h=****************2a1b
以下のAPIを介して、持続的にURLを取得できます。
例:
var imgURL = file.load({ id: imageID }).url;
注:imageIDはドキュメント > ファイルキャビネット のイメージファイルの内部IDです。
注:アクセスするには、クライアントスクリプトではなく、サーバーサイドのスクリプトで行えます。
注:アクセスするには、クライアントスクリプトではなく、サーバーサイドのスクリプトで行えます。
然し、クライアントスクリプトの使用が必要な場合、以下の対策が参考できます。このサンプルでは、持続的なURLは顧客レコードに置いてあります。
- カスタマイゼーション > リスト、レコード、およびフィールド > エンティティフィールド > 新規作成 にてカスタムフィールドを作成します
- ラベル:ラベルを入力します
- ID: ID を入力します
例:imgURL - 種類:自由型式テキストを選択します
- 値を保存:マークします
- 次に適用のサブリストを押下します
- 顧客:マークします
- 表示のサブリストを押下します
- 表示タイプ:非表示を選択します
- 保存を押下します
- カスタムエンティティフィールドのIDを書き留めます
例:custentity_imgurl - ユーザーイベントスクリプトを作成して、ロード前の機能に以下のサンプルコードを追加します。
/** * NApiVersion 2.x * NScriptType UserEventScript */ define(['N/file', 'N/record'], function(file, rec) { function beforeLoad(context) { var imageID = 1384; //ファイルキャビネットのサンプルのイメージファイルの内部ID var imgURL = file.load({ id: imageID }).url; var thisRec = context.newRecord; thisRec.setValue({ fieldId: 'custentity_imgurl', value: imgURL }); } return { beforeLoad: beforeLoad }; });
スクリプトデプロイメントとクライアントスクリプトの設定は以下の通りにします。
- スクリプトのデプロイメントレコードを編集します
- 次に適用:顧客を選択します
- ステータス:リリース済を選択します
- 保存を押下します
- クライアントスクリプトに以下のコードを追加します。
var img = thisRec.getValue('custentity_imgurl
タグ付けされた:
0