2017-08-20 20 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模块。

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

不能使用“N/currentRecord”模块中的用户事件脚本:相反,你可以在NetSuite的传递到你的事件处理函数检索从参数方面的记录。 客户端脚本支持此模块。而不是你可以使用context.newRecord。

相关问题