首页 > 解决方案 > 如何使用 Suitescript 2.0 获取 Netsuite 中已删除记录的 ID?

问题描述

我可以使用下面的脚本从 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?

标签: netsuitesuitescript2.0restlet-2.0

解决方案


该信息在内部搜索中不可用。

不过,您可以通过几种不同的方式获得。

它在 SuiteTalk 中使用 getDeleted 操作可用

它可通过使用 SuiteConnect(ODBC、JDBC 或 ADO.net)的外部数据库查询获得

如果你可以从现在开始,一个简单的 hack 如下:

创建在创建记录时运行的提交后用户事件脚本。如果记录没有外部 ID,则将命名空间的网络套件内部 ID 推送到该字段中。我发现在您的外部 ID 前加上来源系统通常是一个好主意。

现在您可以从外部 id 派生您的内部 id。如果您也有实际的 externalids 但可能适合您的用例,这将无济于事。

您还可以相当轻松地自行创建并创建一个提交后用户事件脚本,该脚本使用已删除记录的类型和 internalid 填充自定义记录。我一般都是这样走的。特别是如果您从删除数据中驱动 Netsuite 帐户中的其他套件脚本或工作流

最后,虽然我已经很多年没有这样做了,但是从 SuiteScript 运行 SuiteTalk 查询是完全可能的。您只需保存凭据(不是明文)并构造适当的 SOAP 消息。


推荐阅读