TypeError:无法调用SuiteScript中未定义的方法“ split”

问题描述 投票:0回答:3

我不熟悉脚本编写,我正在尝试在Netsuite中创建一个脚本,该脚本将查看销售订单中的各行,并验证是否有折扣商品。如果存在折扣项目,则脚本将在它之前查看该项目,获取字段类的值并更新折扣项目的类。我收到无法将未定义的方法“ split”调用为错误,并且不确定原因。

/**
 * @NApiVersion 2.x
 * @NScriptType UserEventScript
 * @NModuleScope SameAccount
 */
define(["N/record"], function (r){
    function afterSubmitUpdateDiscountClass(context) {

        var currentRecord = context.currentRecord;
        var numLines = currentRecord.getLineCount({
            sublistId: 'item'});

        for(var i=0; i < numLines; i++) {
            var currentItemType = currentRecord.getCurrentSublistValue ({
                sublistID: 'item',
                fieldID: 'itemType',
                line: i});

            if (currentItemType == 'discountitem') {
                var newClass = currentRecord.getCurrentSublistValue ({
                    sublistID : 'item',
                    fieldID: 'class',
                    line: i-1});
                currentRecord.selectLine({
                    sublistID: 'item',
                    line: i })
                currentRecord.setCurrentSublistValue ({
                    sublistID : 'item',
                    fieldID: 'class',
                    value : newClass });

                currentRecord.commitLine({
                    sublistID: 'item' });

            }
        }
    }
    return {
        afterSubmit: afterSubmitUpdateDiscountClass
    }
})

javascript netsuite suitescript suitescript2.0
3个回答
0
投票

尝试删除脚本记录并重新创建。 Slack最近有关于该错误的报道,重新创建脚本记录对此有所帮助。


0
投票

前几天碰到过,由于找不到解决方法,我刚刚向NetSuite提交了支持案例。


0
投票

您使用的currentRecord.getCurrentSublistValue不正确。 getCurrentSublistValue没有line属性,在record.selectLine

之后用于动态记录。

在用户事件上下文中,您应该调用currentRecord.getSublistValue

© www.soinside.com 2019 - 2024. All rights reserved.