使用Suite Script 2.0在销售订单中添加新订单项

时间:2018-12-11 17:46:35

标签: netsuite

我想根据我选择的特定库存项目在销售订单中添加新的行项目。应该在新订单项中加载现有的项目记录详细信息。为此,我使用了下面的代码,但是它不起作用;

function recalc(type)
{
    var itemId = nlapiGetCurrentLineItemValue('item', 'item'); //Get the Item ID
    if(itemId == 16340) //Repair Cost
    {
        alert ("Hi");
        //Insert item
        nlapiSelectNewLineItem('item');
        nlapiSetCurrentLineItemValue('item', 'item', 330); //Repair Cost
        nlapiSetCurrentLineItemValue('item', 'quantity', 1);
        nlapiSetCurrentLineItemValue('item', 'amount', '0.00');
        nlapiCommitLineItem('item');

    }
    return true;
}

有人可以帮忙重写SS 2.0中的代码。

1 个答案:

答案 0 :(得分:0)

您可以参考SuiteScript 1.0 to SuiteScript 2.0 API Map来了解NetSuite SuiteScript 1到2 API。 对于您的问题,您可以使用以下

function recalc(type) {
    currentRecord.selectLine({ sublistId: 'item', line: LINE_NO });

    var itemId = currentRecord.getCurrentSublistValue({ sublistId: 'item', fieldId: 'item' }); // Get the Item ID

    if (itemId == 16340) {//Repair Cost
        // Insert item
        currentRecord.selectNewLine({ sublistId: 'item' });

        currentRecord.setCurrentSublistValue({ sublistId: 'item', fieldId: 'item', value: 330 });//Repair Cost
        currentRecord.setCurrentSublistValue({ sublistId: 'item', fieldId: 'quantity', value: 1 });//Repair Cost
        currentRecord.setCurrentSublistValue({ sublistId: 'item', fieldId: 'amount', value: '0.00' });//Repair Cost

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

    return true;
}