netsuite - 如何使用 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?
解决方案
该信息在内部搜索中不可用。
不过,您可以通过几种不同的方式获得。
它在 SuiteTalk 中使用 getDeleted 操作可用
它可通过使用 SuiteConnect(ODBC、JDBC 或 ADO.net)的外部数据库查询获得
如果你可以从现在开始,一个简单的 hack 如下:
创建在创建记录时运行的提交后用户事件脚本。如果记录没有外部 ID,则将命名空间的网络套件内部 ID 推送到该字段中。我发现在您的外部 ID 前加上来源系统通常是一个好主意。
现在您可以从外部 id 派生您的内部 id。如果您也有实际的 externalids 但可能适合您的用例,这将无济于事。
您还可以相当轻松地自行创建并创建一个提交后用户事件脚本,该脚本使用已删除记录的类型和 internalid 填充自定义记录。我一般都是这样走的。特别是如果您从删除数据中驱动 Netsuite 帐户中的其他套件脚本或工作流
最后,虽然我已经很多年没有这样做了,但是从 SuiteScript 运行 SuiteTalk 查询是完全可能的。您只需保存凭据(不是明文)并构造适当的 SOAP 消息。
推荐阅读
- amazon-web-services - 基于 Apache Ignite AWS ELB 的发现 - LoadBalancerNotFoundException
- tfs - TFS Build 2018 with TFS 2015 Server,有可能吗?
- r - 在一张图上处理 2 个数据集时,如何在 ggplot 上获得图例?
- javascript - 检查元素是否包含特定的数据集项
- javascript - 为什么我不断收到“找不到模块 'socket.io'”?
- laravel - v-on:click 不使用数据表
- extjs - ExtJS -- grid rowwidget 插件在滚动时创建小部件
- ios - @interface 中的 Objective-c 特定 iOS 版本
- django - 在 django 模板文件中设置一个变量,并在迭代后更新它
- c# - 在 C# 中检查按钮颜色