我需要将数据加载到两个对象中。我可以使用数据加载器将数据加载到一个对象中。第二个对象与第一个对象具有主从关系,因此我需要在 CSV 文件中具有第一个对象的记录的唯一记录 ID。如何将这些记录 ID 添加到我的 CSV 文件中?
2 回答
您可以在初始上传后下载“主”记录并执行一些类似于(名称-> ID)的映射。在 Excel 中,这可以通过 VLOOKUP 来实现。生成“详细”对象的新列表后,上传它们应该没有问题。Apex Data Loader 创建的成功日志文件中也提供映射“ID->上传的记录”。
但更好的方法是大声说“搞砸 Salesforce ID,我不需要臭 ID” :) 想想你的“主人”是否有一些独特的领域。它甚至可以是您从现有系统导入 Salesforce 的“ID”。在 Salesforce 中创建此字段(如果您尚未创建)并将其标记为“外部 ID”。之后,您将能够使用此外部 ID 而不是普通的 Salesforce ID 作为在源和目标之间建立链接的一种方式。在伪代码中:
使用正常的 Salesforce ID,您必须
INSERT INTO detail_object (Name, SomeValue, master_ID) VALUES ("foo", "bar", [some valid salesforce id])
使用外部 ID,您可以轻松地告诉销售人员完成所有繁重的工作
INSERT INTO detail_object (Name, SomeValue, master_ID) VALUES ("foo", "bar", (SELECT Id from master_object where some_field_marked_as_external_id = "123")
如果可以的话,请查看Data Loader 用户指南以快速入门并使用外部 ID(也许在免费的开发者版中?)。它使用起来比描述它更容易。
如果您使用的是 Apex 数据加载器,那么您必须做 3 件事:
1:插入主记录。这会给他们ID
2:再次导出这些主记录,包括它们的 ID,并将其集成到您的详细信息数据中。VLOOKUP 对这类事情最有用。
或者,如果只有一个主记录,则更简单,只需将 ID 从 URL 中复制出来,并将其添加到电子表格中的每个详细记录中。
3:然后插入带有主ID的详细记录