代码之家  ›  专栏  ›  技术社区  ›  Pritam Banerjee Ashish Karnavat

你能让id字段成为Netsuite中的外部id吗?

  •  0
  • Pritam Banerjee Ashish Karnavat  · 技术社区  · 3 年前

    我有一个netsuite对象上的id字段。我可以更改使用id列作为Netsuite中的外部id吗,就像在Salesforce中一样?

    0 回复  |  直到 3 年前
        1
  •  2
  •   Anuradha Sinha    3 年前
    • 您绝对可以编写一个用户事件脚本,将任何记录的内部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 })
                }
        
        

    如果这有帮助,请告诉我!!!