2017-08-20 14 views
2

購入注文通貨から米ドルへの通貨変換を行うために、以下のスクリプトをNetSuiteにアップロードしようとしています。ユーザイベントスクリプトをNetSuite(SuiteScript 2.0)にアップロードするときにN/currentRecordモジュールが存在しません

ユーザーが任意のアイテムを購入注文に入力するたびに、カスタムフィールドを米ドル金額で更新したいとします。

私はスクリプトをアップロードすると、私は次のエラーメッセージが表示されます。{ "タイプ": "error.SuiteScriptModuleLoaderError"、 "名": "MODULE_DOES_NOT_EXIST"、 "メッセージ" スクリプトを評価する

失敗: "モジュールが存在しません:N/currentRecord.js"、 "スタック":[]} **

いくつかのガイダンスをいただければ幸いです。ありがとうございました。

/** 
*@NApiVersion 2.x 
*@NModuleScope Public 
*@NScriptType UserEventScript 
*/ 

define(['N/currency', 'N/currentRecord'],function(currency, currentRecord) { 
     function POCurrencyConversion() { 
      var Fixed_Currency = 'USD'; 
      var Transaction_Currency = currentRecord.getValue('currency'); 
      var Tx_currency_total = currentRecord.getValue('total'); 
      var rate = currency.exchangeRate({ 
       source: Transaction_Currency, 
       target: Fixed_Currency 
      }); 
      var ConvertedAmount = Tx_currency_total * rate; 
      currentRecord.setValue('custbody_po_total_usd',ConvertedAmount) 
     } 
     POCurrencyConversion(); 
    }); 

答えて

2

ユーザーイベントでは、currentRecordモジュールは必要ありません。あなたがユーザーイベントスクリプトに「N/currentRecord」モジュールを使用することはできません

function beforeSubmit(context) { 
    var Transaction_Currency = context.newRecord.getValue({fieldId: "currency"}); 
    var Tx_currency_total = context.newRecord.getValue({fieldId: "total"}); 
    // etc 
} 
0

:むしろ、あなたはネットスイートは、イベントハンドラ関数に渡すパラメータの文脈でレコードを取得することができます。 このモジュールはクライアントスクリプトでサポートされています。 代わりに、context.newRecordを使用することができます。

関連する問題