N/currentRecord 将用户事件脚本上传到 NetSuite (SuiteScript 2.0) 时模块不存在

N/currentRecord module does not exist when uploading User Event script to NetSuite (SuiteScript 2.0)

我正在尝试将以下脚本上传到 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
}

您不能在用户事件脚本中使用 "N/currentRecord" 模块。 客户端脚本支持此模块。 相反,您可以使用 context.newRecord.