NetSuite:在 SuiteScript 中取消订单
NetSuite: canceling an order in SuiteScript
在 NetSuite 中,有一个方便的按钮可以取消 salesorder
。我们正在尝试在 RESTlet 中复制该点击的行为。我们尝试了以下方法:
var order = nlapiLoadRecord('salesorder', 802);
order.setFieldText('orderstatus', 'Cancelled');
nlapiSubmitRecord(order);
但是我们收到一条错误消息,提示我们需要为字段 Status
输入一个值。我们还尝试了以下方法:
nlapiVoidTransaction('salesorder', 802);
但这给了我们一个无效的记录类型错误。任何想法或帮助将不胜感激。
您应该使用以下代码和订单状态代码通过 SuiteScript 进行设置 -
nlapiSubmitField('salesorder',soID,'orderstatus','C',false);
我有一个开放的增强请求(#275848)。根据 NetSuite 支持,无法通过 SuiteScript 或 Workflow 取消销售订单。
怎么样:
nlapiRequestURL('/app/accounting/transactions/salesordermanager.nl?type=cancel&id=' + nlapiGetRecordId());
想一想,不取消销售订单,你能不能把closed
字段设置成'T'。
正如 Netsuite 专家所说,您可以通过以下方式取消销售订单交易
关闭销售订单中的每个行项目。
for(var i = 1; i <= nlapiGetLineItemCount('item'); i++){
nlapiSetLineItemValue('item', 'isclosed', i, 'T');
}
这是用户事件脚本的示例。
可以使用 SuiteScript 2.0 关闭每行项目来关闭销售订单,如下所示:
orderRecord.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'isclosed',
value: true
});
在 NetSuite 中,有一个方便的按钮可以取消 salesorder
。我们正在尝试在 RESTlet 中复制该点击的行为。我们尝试了以下方法:
var order = nlapiLoadRecord('salesorder', 802);
order.setFieldText('orderstatus', 'Cancelled');
nlapiSubmitRecord(order);
但是我们收到一条错误消息,提示我们需要为字段 Status
输入一个值。我们还尝试了以下方法:
nlapiVoidTransaction('salesorder', 802);
但这给了我们一个无效的记录类型错误。任何想法或帮助将不胜感激。
您应该使用以下代码和订单状态代码通过 SuiteScript 进行设置 -
nlapiSubmitField('salesorder',soID,'orderstatus','C',false);
我有一个开放的增强请求(#275848)。根据 NetSuite 支持,无法通过 SuiteScript 或 Workflow 取消销售订单。
怎么样:
nlapiRequestURL('/app/accounting/transactions/salesordermanager.nl?type=cancel&id=' + nlapiGetRecordId());
想一想,不取消销售订单,你能不能把closed
字段设置成'T'。
正如 Netsuite 专家所说,您可以通过以下方式取消销售订单交易 关闭销售订单中的每个行项目。
for(var i = 1; i <= nlapiGetLineItemCount('item'); i++){
nlapiSetLineItemValue('item', 'isclosed', i, 'T');
}
这是用户事件脚本的示例。
可以使用 SuiteScript 2.0 关闭每行项目来关闭销售订单,如下所示:
orderRecord.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'isclosed',
value: true
});