SuiteScript 2.0 - 定价矩阵 - 将价格水平设置为空

时间:2017-06-27 02:46:44

标签: matrix mapreduce netsuite suitescript

我正在尝试使用mapreduce脚本来获取我的项目输入并打开项目记录,选择基本价格,将所有值设置为空或空白,然后在另一个定义的价格水平上重复。我被困在第一级,基本价格。它抛出以下代码: USER_ERROR“,”message“:”请输入缺失的价格以下是我的代码。我错过了什么或者说不正确?

function(email, error, record, runtime, search, log) {
function nullPricing(itemId, itemType){
    try{
        log.audit({title:"nullPricing"});
        var itemRecord = record.load({
            "type": record.Type.INVENTORY_ITEM,
            "id": itemId,
            "isDynamic": true
        });

        var priceId;
        var currencyId = 1;
        priceId = 'price1';
        log.debug("Currency:", priceId);

        //var priceId = price1;
        var basePrice = 1000;
        //log.debug("Base Price:", basePrice);
        //log.debug("Details:","itemId = " + itemId);

        columnCount = itemRecord.getMatrixHeaderCount(priceId, 'price');
        //log.debug("Matrix Count:", columnCount);

        for (var cnt=1; cnt<=columnCount; cnt++)
            {
            itemRecord.selectLine(priceId, 1);
            itemRecord.setCurrentMatrixSublistValue(priceId, 'price', cnt, basePrice);
            itemRecord.commitLine(priceId);
            }


        itemRecord.save();
    }catch(exception){
        log.debug("nullPricing Error Message:",exception);
    }
}

function getInputData() {
    try{
        log.debug("Get Input", "Initiated");
        //Item Search
        var itemSearch = search.load({
            id: 'customsearch_bwd_null_pricing'
        });

        log.debug("itemSearch", itemSearch);


        log.debug("GetInputData", "Completed");

        return itemSearch;
    }catch(exception){
        log.debug("GetInputDate Error Message:",exception);
    }
}


function map(context) {
    try{
        var searchResult = JSON.parse(context.value);
            log.debug("searchResult", searchResult);
        var itemId = searchResult.id;
            log.debug("itemId", itemId);
        var itemType = searchResult.recordType;
            log.debug("itemType", itemType);

            //Call the function
        nullPricing(itemId, itemType);

    }catch(exception){
        log.debug("Map Error Message:",exception);
    }
}

预先感谢您的协助!

布拉德

1 个答案:

答案 0 :(得分:0)

价格水平矩阵的问题是矩阵0:0的位置是 基本价格:数量0 如果您尝试向QTY1输入值,NetSuite需要输入该价格水平的数量。

此代码适用于我的动态记录:

&#13;
&#13;
myRecord.selectLine({
    sublistId: 'price',
    line: 0
});
    						
myRecord.setCurrentMatrixSublistValue({
	    sublistId: 'price',
	    fieldId: 'price',
	    column: 0,
	    value: basePrice,
	    ignoreFieldChange: true,
	    fireSlavingSync: true
});
myRecord.commitLine({
   sublistId: 'price'
});
&#13;
&#13;
&#13;

祝你好运。