在Netsuite suitescript中将商品添加到销售订单

时间:2013-03-11 20:11:42

标签: javascript netsuite

我正在试图找出一个新的销售订单背后的代码,该订单有一个名为“修复”的项目,并添加了第二个项目“修复费用 “在用户提交之前。我有点失落,欢迎任何帮助。我希望这个脚本在Javascript中,我会将它附加到Netsuite中的销售订单表单中运行。

2 个答案:

答案 0 :(得分:3)

以下是一个示例解决方案:

我们仍然会假设项目内部ID为Repair = 100且Repair Cost = 200

function recalc(type)
{
    if(type == 'item')
    {
        var itemId = nlapiGetCurrentLineItemValue('item', 'item'); //Get the Item ID
        if(itemId == 100) //Repair Cost
        {
                //Insert item
                nlapiSelectNewLineItem('item');
                nlapiSetCurrentLineItemValue('item', 'item', 200); //Repair Cost
                nlapiSetCurrentLineItemValue('item', 'quantity', 1);
                nlapiSetCurrentLineItemValue('item', 'amount', '0.00');
                nlapiCommitLineItem('item');
        }
    }
    return true;
}

将其部署为客户端代码,并确保该函数为Recalc。

要详细了解客户端脚本:https://system.na1.netsuite.com/help/helpcenter/en_US/Output/Help/SuiteFlex/SuiteScript/SSScriptTypes_ClientScripts.html#1016773

答案 1 :(得分:1)

您需要做的第一件事是获取项目“修复”和“修复费用”的内部ID。

在这个例子中,我们假设内部id为Repair = 100,Repair Cost = 200

这是代码:

function afterSubmit(type)
{
    if(type == 'create' || type == 'edit')
    {
        var record = nlapiLoadRecord(nlapiGetRecordType(), nlapiGetRecordId()); //Load the record

        //Loop to all sublist item
        var count = record.getLineItemCount('item');
        for(var i = 1; i <= count; i++)
        {
            var item = record.getLineItemValue('item', 'item', i); //This will return the internal id of the item
            if(item == 100) //Item is equal to 100; insert one item
            {
                record.insertLineItem('item', i);
                record.setLineItemValue('item', 'item', i, 200); //Repair Cost internal id
                record.setLineItemValue('item', 'quantity', i, 1); //You should put some quantity; depending on your account setup all required fields should be set here.
            }
        }

        //Submit the changes
        nlapiSubmitRecord(record, true);
    }
}

要了解套接字API以及此Netsuite帮助指南中公布的销售订单字段,请执行以下操作:

https://system.netsuite.com/help/helpcenter/en_US/RecordsBrowser/2012_2/Records/salesorder.html