微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Suitescript 2.0获取Netsuite中已删除记录的ID?

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

我可以使用以下脚本从Netsuite中删除记录。 但我无法获得ID。

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?

解决方法

内部搜索无法获得该信息。

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

使用getDeleted操作在SuiteTalk中可用

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

如果您可以立即开始,请按以下步骤操作:

创建在创建记录时运行的“提交后用户事件”脚本。如果记录没有外部ID,则将命名空间的netsuite内部ID推入该字段。我发现通常最好将外部ID加上来源系统。

现在,您可以从外部ID派生内部ID。如果您也有实际的外部标识,但可能适合您的用例,则无济于事。

您还可以相当容易地滚动自己的脚本,并创建一个提交后用户事件脚本,该脚本将使用已删除记录的类型和内部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 Records Browser 只有“externalid”可用。有时在我的系统中外部和内部 ID 是相同的;不确定您对 NetSuite 的具体设置。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。