这可以设置或覆盖自定义记录类型的 internalid 吗?internalid 是自行生成的,但我想尝试从 cvs 字段设置 inernalid 值。
4 回答
我不相信您可以覆盖任何记录实例的 internalid,即使是自定义的也是如此。但是,如果您想为记录指定一个“辅助”标识符,您可以使用我相信每条记录都有的 externalid 字段。
您不能覆盖记录的内部 ID。正如之前对您的问题的回复中提到的,您可以(并且应该)将 NetSuite 记录上的外部 ID 字段设置为等于正在导入的数据的主键。
在将来更新 NetSuite 数据的导入中,您只需将导入数据的键字段映射到 NetSuite 中的外部 ID 字段。您可以忽略这些未来导入的内部 ID 字段,因为 Netsuite 将根据外部 ID 匹配记录。
这是做到这一点的正确方法——我见过很多人们不理解外部 ID 概念的情况,并且由于不遵循这个简单的解决方案而造成了巨大的长期维护问题。
好的。鉴于您的反馈,为什么不在客户记录上创建另一个自定义字段来引用自定义记录中的查找值?
字段类型应与查找值的字段类型相同,未选中“存储值”复选框。在 Sourcing and Filtering 选项卡上,您指定要引用的自定义记录类型和字段。将其视为客户记录和自定义记录之间的某种 SQL 连接。
然后,您应该能够使用 2 个 getCurrentAttribute 标签做您想做的事情:
<%= getcurrentattribute('cusomter', 'custentity_mappingid')%>
<%= getcurrentattribute('cusomter', 'custentity_mappingvalue')%>
顺便说一句,您的自定义字段内部 ID 看起来有点奇怪。它们应分别以“custentity”和“custrecord”开头。我上面的代码反映了您通常对 NetSuite 的期望。
您可以设置ExternalId,如果您想获取记录,则可以使用callGetRecordByExternalId
.
public ReadResponse callGetRecordByExternalId(String externalId, RecordType recordType) throws RemoteException {
return this.callGetRecord(Utils.createRecordRefWithExternalId(externalId, recordType));
}