Поле идентификатора, выбрасывающее INVALID_FLD_VALUE в SuiteScript - PullRequest
0 голосов
/ 20 мая 2019

При создании нового заказа на продажу в Suitescript и установке значения подсписка для товара выдается ошибка INVALID_FLD_VALUE.

Значение, которое я передаю, является внутренним идентификатором элемента, я пробовал использовать несколько внутренних идентификаторов элементов, как с кавычками, так и без них, и получаю ту же ошибку.Код ниже

/**
 * @NApiVersion 2.0
 * @NScriptType Restlet
 * @NModuleScope SameAccount
 */
define(['N/record'], function (r) {
    function get(context) {
        try {
            // Create new record type of SALES_ORDER
            var salesOrder = r.create({
                type: r.Type.SALES_ORDER,
                isDynamic: false,
                defaultValues: null
            })

            // CREATE AN ITEM AND SET VALUES
            salesOrder.insertLine({
                sublistId: 'item',
                line: 0
            });


            // Item Intetrnal ID
            salesOrder.setSublistValue({
                sublistId: 'item',
                fieldId: 'item',
                line: 0,
                value: '15'
            });

            // Quantity
            salesOrder.setSublistValue({
                sublistId: 'item',
                fieldId: 'quantity',
                line: 0,
                value: 4
            });


            salesOrder.save();

            return JSON.stringify('Sales Order Created');
        }
        catch (err) {
            log.audit({
                title:'Error',
                details: err
            })

            return JSON.stringify(err);
        }
    }
    return {
        get: get
    }
})

Я видел учебники, написанные с этим кодом, почти строка за строкой, из-за чего меня интересует, связано ли это с функцией или настройкой в ​​NetSuite, которую нужно включать / выключать.Любая обратная связь с благодарностью.

1 Ответ

0 голосов
/ 22 мая 2019

Ошибка была вызвана тем, что я не устанавливал поле «сущность» перед тем, как приступить к добавлению элементов подсписка.Таким образом, ошибка фактически не была результатом значения идентификатора элемента.

Код, который работает:

var salesOrder = r.create({
                type: r.Type.SALES_ORDER,
                isDynamic: true,
                defaultValues: Date.now().toString
            }).setValue({
                fieldId: "entity",
                value: customer
            })                                                              

            salesOrder.selectNewLine({ sublistId: "item" });

            salesOrder.setCurrentSublistValue({
                sublistId: "item",
                fieldId: "item",
                value: itemId
            });
            salesOrder.setCurrentSublistValue({
                sublistId: "item",
                fieldId: "quantity",
                value: 5
            });
            salesOrder.commitLine({ sublistId: "item" });

            salesOrder.save({
                enableSourcing: true,
                ignoreMandatoryFields: true
            })
...