-
您绝对可以编写一个用户事件脚本,将任何记录的内部id填充到其外部id字段中。“externald”字段通过SuiteScript或csv导入公开
-
内部id是一个唯一的自动生成的数字,用于标识唯一的NetSuite记录,因此如果发生删除/停用,序列将发生变化。例如,如果系统中存在内部id为1、2和3的记录,并且2被删除,则系统中保留的id为1和3。用户无法更改这些内部Id,因为它们是系统生成的。因此,如果您想遵循特定的约定,就不能对它们进行专门定制(根据开发人员的喜好)。
-
外部Id应包含一个值,该值在多个集成系统中应是唯一的。例如SFDC(Salesforce)。建议的方法是编写一个提交后的用户事件脚本,在所有集成记录上填充外部ID,并在两个系统中保持同步
以下是SuiteScript 2.0中的一个示例代码,它填充了子公司、帐户和部门的外部ID:
var recordType = context.newRecord.type;
log.debug({ title: 'Record Type', details: recordType })
var recordId = context.newRecord.id;
log.debug({ title: 'Record ID', details: recordId })
var rec = record.load({
type: recordType,
id: recordId
});
//Setting External ID on subsidiary
if (recordType == record.Type.SUBSIDIARY)
{
var subExID
=rec.setValue('externalid'(rec.getValue('tranprefix').substring(0, 3)))
log.debug({ title: 'TranPrefix', details: subExID })
}
//Setting External ID on account
if (recordType == record.Type.ACCOUNT)
{
var accExID = rec.setValue('externalid',
rec.getValue('acctnumber'))
log.debug({ title: 'External ID', details: accExID })
}
//Setting External ID on department
if (recordType == record.Type.DEPARTMENT)
{
var deptExID = rec.setValue('externalid', rec.getValue('custrecord_dept_code'))
log.debug({ title: 'External ID', details: deptExID })
}
如果这有帮助,请告诉我!!!