Вы не можете запустить процесс слияния через SuiteTalk.
Существует несколько способов достижения вашей цели. На мой взгляд, самым простым было бы создать пользовательское поле для клиента, которое указывает «слияние на master», а затем запустить сценарий расписания, чтобы проверить клиентов со значениями в этом поле и запустить процесс слияния для мастер-процесса.
Так в основном:
- создать пользовательское поле, которое содержит ссылку на основной запись
- обновления, поля на к-быть-объединенным дубликат через SuiteTalk
- создать запланированный скрипт, который проверяет заполнение этого поля; при обнаружении сценария будет задано слияние
Для этого вам не нужно включать обнаружение дубликатов в вашей учетной записи Netsuite. Механизм слияния доступен через список номеров. Функция ниже берет внутренний идентификатор ведущей и дублирующей записи и устанавливает задание слияния:
function queueMerge(masterId, mergeId) {
try {
var manager = nlapiGetJobManager('DUPLICATERECORDS');
var dupeJob = manager.createJobRequest();
dupeJob.setEntityType(dupeJob.ENTITY_CUSTOMER);
dupeJob.setMasterSelectionMode(dupeJob.MASTERSELECTIONMODE_SELECT_BY_ID);
dupeJob.setMasterId(masterId);
dupeJob.setOperation(dupeJob.OPERATION_MERGE);
dupeJob.setRecords([masterId, mergeId]);
var jobId = manager.submit(dupeJob);
nlapiLogExecution("DEBUG", "setup merge for " + mergeId + " with " + jobId);
} catch (e) {
nlapiLogExecution("ERROR", "on merge for " + mergeId, e);
}
}