[英]NetSuite: canceling an order in SuiteScript
在NetSuite中,有一個方便的按鈕來取消salesorder
。 我們正在嘗試在RESTlet中復制該單擊的行為。 我們嘗試了以下方法:
var order = nlapiLoadRecord('salesorder', 802);
order.setFieldText('orderstatus', 'Cancelled');
nlapiSubmitRecord(order);
但我們得到一個錯誤,說我們需要為字段Status
輸入一個值。 我們還嘗試了以下方法:
nlapiVoidTransaction('salesorder', 802);
但這給了我們一個無效的記錄類型錯誤。 任何想法或幫助將不勝感激。
我有一個開放的增強請求(#275848)。 根據NetSuite支持,無法通過SuiteScript或Workflow取消銷售訂單。
怎么樣:
nlapiRequestURL('/app/accounting/transactions/salesordermanager.nl?type=cancel&id=' + nlapiGetRecordId());
您應該使用以下代碼和訂單狀態代碼通過SuiteScript進行設置 -
nlapiSubmitField('salesorder',soID,'orderstatus','C',false);
只是一個想法,而不是取消銷售訂單,你不能只是將closed
字段設置為'T'。
orderRecord.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'isclosed',
value: true
});
正如Netsuite Expert所說,您可以通過關閉銷售訂單中的每個行項目來取消銷售訂單交易。
for(var i = 1; i <= nlapiGetLineItemCount('item'); i++){
nlapiSetLineItemValue('item', 'isclosed', i, 'T');
}
這是用戶事件腳本的示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.