在 SuiteScript 1.0 中合并记录

Merge records in SuiteScript 1.0

如何在 SuiteScript 1.0 中合并 2 条记录?

例如;我想合并 2 个客户记录。原因是我们的 NetSuite 后端有许多客户尚未在我们的网站上注册。当他们注册时,NetSuite 会自动创建一个新客户,而不是合并现有客户。所以我想 merge/consolidate 那 2 条记录。

我找到了 nlapiMergeRecord(id, baseType, baseId, altType, altId, fields) 但是帮助文档说这个函数现在已被弃用...

THIS API HAS BEEN DEPRECATED

This API is deprecated as of NetSuite Version 2015 Release 1. This function will no longer be supported as of Version 2016 Release 1.

我不知道你在 SuiteScript 1.0 中是怎么做到的;您仍然可以尝试弃用 API。弃用并不一定意味着停用。

在 SuiteScript 2.0 中,您可以使用 N/task 模块启动 EntityDeduplicationTask,它为您提供与 UI.[=12= 中的重复数据删除操作类似的功能]

您可以合并、删除、创建父子或标记为不重复,并且您可以select根据特定条件使哪个记录成为主记录。

nlapiMergeRecord 实际上 does/did 与您正在寻找的东西完全不同。它用于将记录与模板合并以创建 "mail merge".

要在 SuteScript 1.0 中合并重复记录,您可以使用 Job Manager APIs

var manager = nlapiGetJobManager('DUPLICATERECORDS');
var mergeJobRequest = manager.createJobRequest();
mergeJobRequest.setEntityType(mergeJobRequest.ENTITY_LEAD);
mergeJobRequest.setMasterSelectionMode(mergeJobRequest.MASTERSELECTIONMODE_CREATED_
   EARLIEST);
mergeJobRequest.setRecords(duplicateRecords);
mergeJobRequest.setOperation(mergeJobRequest.OPERATION_MERGE);
jobId = manager.submit(mergeJobRequest);