簡體   English   中英

如何使用 Suitescript 2.0 在 Netsuite 中獲取已刪除記錄的 ID?

[英]How to get id of deleted records in Netsuite using Suitescript 2.0?

我可以使用以下腳本從 Netsuite 中刪除記錄。 但我無法獲得身份證。

var customSearch = search.create({
     type: "deletedrecord",
     columns: ["context", "deletedby", "deleteddate", "externalid", "name"],
     filters: [
         ["recordtype", "is", "customer"]
     ]
});
var resultSet = customSearch.run().getRange({
    start: 0,
    end: 5
});

如何使用 Suitescript 2.0 從 Netsuite 中獲取已刪除記錄的唯一 ID?

該信息在內部搜索中不可用。

不過,您可以通過幾種不同的方式獲得。

它在 SuiteTalk 中使用 getDeleted 操作可用

它可以通過使用 SuiteConnect(ODBC、JDBC 或 ADO.net)的外部數據庫查詢獲得

如果你可以從現在開始,一個簡單的黑客如下:

創建一個在創建記錄時運行的提交后用戶事件腳本。 如果記錄沒有外部 id,則將命名空間的 netsuite 內部 id 推送到該字段中。 我發現用原始系統作為外部 ID 的前綴通常是個好主意。

現在您可以從外部 id 派生您的內部 id。 如果您也有實際的 externalid,但可能適合您的用例,這無濟於事。

您還可以相當輕松地推出自己的並創建提交后用戶事件腳本,該腳本使用已刪除記錄的類型和內部 ID 填充自定義記錄。 我一般都是這么走的。 特別是如果您從刪除數據中驅動 Netsuite 帳戶中的其他套件腳本或工作流

最后,雖然我已經很多年沒有這樣做了,但很有可能從 SuiteScript 運行 SuiteTalk 查詢。 您只需要保存憑證(不是明文)並構造適當的 SOAP 消息。

Suite Answer Id: 69458 建議以下操作有效:

var deletedRecords = search.create({
    type: "deletedrecord",
    filters:[
        ["deleteddate","within","today"]
    ],
    columns:[
        search.createColumn({name: "externalid"}),
        search.createColumn({name: "deleteddate"}),
        search.createColumn({name: "deletedby"}),
        search.createColumn({name: "context"}),
        search.createColumn({name: "name"})
    ]
});

var searchResultCount = deletedRecords.runPaged().count;
log.debug("deletedRecords result count",searchResultCount);

deletedRecords.run().each(function(result){
    // .run().each has a limit of 4,000 results
    return true;
});

但是,根據2020.2 記錄瀏覽器,只有“externalid”可用。 有時在我的系統中外部和內部 ID 是相同的; 不確定您對 NetSuite 的具體設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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