我正在尝试将以下脚本上传到 NetSuite,以便将采购订单货币转换为美元。
我希望每当用户在采购订单中键入任何项目时,用美元金额更新自定义字段。
当我上传脚本时,我收到以下错误消息:
Fail to evaluate script: {"type":"error.SuiteScriptModuleLoaderError","name":"MODULE_DOES_NOT_EXIST","message":"Module does not exist: N/currentRecord.js","stack":[]}**
非常感谢一些指导。谢谢。
/**
*@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();
});
最佳答案
在用户事件中,您不需要currentRecord
模块。相反,您可以从 NetSuite 传递给您的事件处理函数的参数中检索上下文中的记录:
function beforeSubmit(context) {
var Transaction_Currency = context.newRecord.getValue({fieldId: "currency"});
var Tx_currency_total = context.newRecord.getValue({fieldId: "total"});
// etc
}
关于javascript - 将用户事件脚本上传到 NetSuite (SuiteScript 2.0) 时,N/currentRecord 模块不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45777423/