TypeError: Невозможно вызвать метод "split" из неопределенного в SuiteScript - PullRequest
0 голосов
/ 05 марта 2020

Я новичок в создании сценариев и пытаюсь создать сценарий в Netsuite, который бы просматривал строки в заказе на продажу и проверял, есть ли пункт скидки. Если есть элемент скидки, то скрипт просматривает элемент непосредственно перед ним, принимает значение для класса поля и обновляет класс элемента скидки. Я получаю Cannot вызвать метод "split" из undefined как ошибку, и я не уверен, почему.

/**
 * @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
    }
})

Ответы [ 3 ]

1 голос
/ 06 марта 2020

Обнаружив это на днях, я только что подал заявку в службу поддержки NetSuite, так как не смог найти обходной путь.

1 голос
/ 05 марта 2020

Попробуйте удалить запись скрипта и воссоздать ее. В Slack недавно появились сообщения об этой ошибке, и несколько раз помогло воссоздание записи скрипта.

0 голосов
/ 06 марта 2020

Вы используете currentRecord.getCurrentSublistValue неправильно. getCurrentSublistValue не имеет свойства строки и используется в динамических c записях после record.selectLine

В контексте пользовательских событий вы должны вызывать currentRecord.getSublistValue

...