簡體   English   中英

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);

但這給了我們一個無效的記錄類型錯誤。 任何想法或幫助將不勝感激。

我有一個開放的增強請求(#275848)。 根據NetSuite支持,無法通過SuiteScript或Workflow取消銷售訂單。

怎么樣:

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

您應該使用以下代碼和訂單狀態代碼通過SuiteScript進行設置 -

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

只是一個想法,而不是取消銷售訂單,你不能只是將closed字段設置為'T'。

可以使用SuiteScript 2.0關閉每行項目來關閉銷售訂單,如下所示:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM