Suitescript 2.0 установка купонов и партнерских кодов

Мы создали скрипт suitescript 2.0 в нашей среде netsuite. Мы используем RESTlet для доступа к нему.

Наш скрипт создает заказ на продажу с различными полями. Он работает нормально, но мы не можем установить код купона или код партнера, мы получаем одинаковую ошибку для обоих. Мы используем Internal ID и также попробовали сам код купона.

Любая идея?

Ошибка:

{
    "type":"error.SuiteScriptError",
    "name":"INVALID_FLD_VALUE",
    "message":"You have entered an Invalid Field Value 18 for the following field: couponcode",
    "stack":[
        "<anonymous>(N/record/recordService.js)",
        "setSalesOrderData(adhoc$-1$debugger.user:71)",
        "saveSaleOrder(adhoc$-1$debugger.user:17)",
        "<anonymous>(adhoc$-1$debugger.user:107)",
        "<anonymous>(adhoc$-1$debugger.user:6)"
        ],
    "cause":{
        "type":"internal error",
        "code":"INVALID_FLD_VALUE",
        "details":"You have entered an Invalid Field Value 18 for the following field: couponcode",
        "userEvent":null,
        "stackTrace":[
            "<anonymous>(N/record/recordService.js)",
            "setSalesOrderData(adhoc$-1$debugger.user:71)",
            "saveSaleOrder(adhoc$-1$debugger.user:17)",
            "<anonymous>(adhoc$-1$debugger.user:107)",
            "<anonymous>(adhoc$-1$debugger.user:6)"
        ],
        "notifyOff":false},"id":"","notifyOff":false
    }
}

Код RESTlet:

var objRecord = record.create({
    type: record.Type.SALES_ORDER,
    isDynamic: true
});

/* add other values.....*/

objRecord.setValue({ fieldId: 'couponcode', value: 538 });

var recordId = objRecord.save({
    enableSourcing: false,
    ignoreMandatoryFields: false
});

2 ответа

Эти коды купона вы пытаетесь установить коды одноразового использования? Или они связаны с рекламой?

Какой внутренний идентификатор вы используете в couponcode поле?

Можете ли вы также поделиться соответствующими частями своего кода RESTlet?

Я протестировал следующее в консоли (т. Е. В клиентском скрипте) для заказа на продажу и, похоже, установил соответствующий промо-код и код купона:

require(["N/currentRecord"], function(c) { 
    c.get().setValue({
        "fieldId": "couponcode",
        "value": 1
    });
});

где 1 является внутренним идентификатором Акции. Если я использую внутренний идентификатор, не связанный с рекламой, я не получаю сообщение об ошибке, но в обоих полях ничего не заполняется.

Мы наконец-то получили рабочий код от службы поддержки Netsuite, так как в этой теме так мало помощи, я делюсь ею здесь. Мы взяли то, что нам было нужно, в наш собственный скрипт, но этот основной тоже работает,

От агента поддержки netsuite:

Я создал простой код SuiteScript 2.0 для ввода значений в поле "Партнер" (идентификатор: "партнер") и код купона (идентификатор: "код купона"). Оба поля являются выпадающими, а не полиселектными. Поле Код купона зависит от поля Акция, поэтому мы должны ввести значение в поле "промокод" вместо "код купона".

/**
 *@NApiVersion 2.x
 *@NScriptType usereventscript
 */

define(['N/record'],
    function(record) {

        function AfterSubmit(context) {


            var result = record.load({
                type: 'salesorder',
                id: 71040,
                isDynamic: true
            });

            result.setValue ({
                fieldId : 'partner',
                value : 45140
            });
            result.setValue ({
                fieldId : 'couponcode',
                value : 'AMARILLO16'
            }); 
            result.save({
                enableSourcing : false,
                ignoreMandatoryFields : true
            });
            return true;
        }

        return {
            afterSubmit: AfterSubmit
        };
});

Мы должны были сделать одну модификацию, чтобы она работала на нас:

 result.setValue ({
            fieldId : 'partner',
            value : 45140
        });
        result.setText ({
            fieldId : 'couponcode',
            text : 'AMARILLO16'
        }); 
        result.save({
            enableSourcing : false,
            ignoreMandatoryFields : true
        });
Другие вопросы по тегам