NetSuite:取消SuiteScript中的订单

时间:2016-03-28 01:38:55

标签: netsuite suitescript

在NetSuite中,有一个方便的按钮可以取消salesorder。我们正在尝试在RESTlet中复制该单击的行为。我们尝试了以下方法:

var order = nlapiLoadRecord('salesorder', 802);
order.setFieldText('orderstatus', 'Cancelled');
nlapiSubmitRecord(order);

但我们收到错误消息,说我们需要输入字段Status的值。我们还尝试了以下方法:

nlapiVoidTransaction('salesorder', 802);

但这给了我们一个无效的记录类型错误。任何想法或帮助将不胜感激。

6 个答案:

答案 0 :(得分:3)

我有一个开放的增强请求(#275848)。根据NetSuite的支持,无法通过SuiteScript或Workflow取消销售订单。

答案 1 :(得分:1)

怎么样:

nlapiRequestURL('/app/accounting/transactions/salesordermanager.nl?type=cancel&id=' + nlapiGetRecordId());

答案 2 :(得分:0)

您应该使用以下代码和订单状态代码通过SuiteScript设置 -

nlapiSubmitField('salesorder',soID,'orderstatus','C',false);

答案 3 :(得分:0)

只是想一想,不是取消销售订单,而是将closed字段设置为' T'。

答案 4 :(得分:0)

可以通过使用SuiteScript 2.0关闭商品的每一行来关闭销售订单,如下所示:

orderRecord.setCurrentSublistValue({
                            sublistId: 'item',
                            fieldId: 'isclosed',
                            value: true
                        });

答案 5 :(得分:-1)

正如Netsuite Expert所说,您可以取消销售订单交易 关闭销售订单中的每个订单项。

for(var i = 1; i <= nlapiGetLineItemCount('item'); i++){
    nlapiSetLineItemValue('item', 'isclosed', i, 'T');
}

这是用户事件脚本的示例。