首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在两个现有的Salesforce对象上建立关系

在两个现有的Salesforce对象上建立关系
EN

Stack Overflow用户
提问于 2013-12-13 18:58:49
回答 1查看 2.3K关注 0票数 2

我有一个自定义对象在Salesforce,我需要建立一个主细节关系从帐户。账户是主,CompHist是细节。我遇到的问题是,我需要将关系设置为在对象中的自定义字段之外工作。示例:

1.)Account有一个名为CustomerId的自定义字段。

2.)CompHist还有名为CustomerId的自定义字段。

3.)我需要能够通过CustomerId字段将其链接在一起,以便生成报告。

大约有2,000条记录被插入到CompHist中,大约在每个月的第8天。这是在一个.NET应用程序中完成的,该应用程序在预定的时间启动,从数据库收集信息,然后通过SOAP将数据上传到salesforce。

也许我误解了Salesforce关系是如何运作的,因为我在销售人员开发方面还很新(几个月)。

谢谢,兰迪

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-15 09:29:07

有一种方法可以让它在没有触发器的情况下工作,这些触发器可以链接记录或预先查询SF来学习.NET中的帐户is,然后再按CompHistories。

设置

On Account:在CustomerId字段上设置“外部ID”复选框。我也建议设置“独特”。

在CompHist上:您需要做出决定,是否可以将它们移动,或者何时设置与帐户的关系--它将永远保持这样的状态。当您做出这个决定时,勾选/取消查找/ m-d表定义中的“可修复的主细节”。

如果您在这些细节上有一些Id,比如“行项目号”--请考虑创建一个Ext。Id。对他们也是。将来当最终用户对报告提出疑问时,您可能会节省一些时间,否则您将不得不进行某种“刷新”,并从.NET中推送所有行(将帮助您确定要插入的内容,以及要更新的内容)。

此时,考虑如何填充丢失的数据( Ext中的所有空值)是很有用的。Id)字段。

关系的实际建立

如果设置了外部ids,就很容易告诉salesforce为您找到链接。该操作称为upsert ( updateinsert之间的混合),可用于2种口味。

“基本”插入用于创建/更新解决方案;意思是“亲爱的Salesforce,请用MyId=1234保存此MyId=1234记录。我不知道数据库中的Id是什么,坦率地说,我不在乎,去找出这个吗?”

  • 如果没有这样的记录-1将被创建。
  • 如果有一个完全匹配-它将被更新。
  • 如果有超过一个发现- SF将不知道哪一个应该更新并向您抛出错误(这就是为什么标记为“唯一”是一个好主意。有可能你会很快发现错误)。

“高级”插入用于维护外键,建立查找。“亲爱的SF,请把这个CompHist连接到在我的数据库中标记为"ABZ123”的帐户上。我有没有说过我不关心您的in,也不想在我上传我的东西之前先查询您的数据库?“

  • 再次-完全匹配-如预期的工作。
  • 具有相同ext的0或2个帐户。id值=错误

码plz

我建议您先使用Data或类似的工具来掌握。关于到底发生了什么,如何映射字段,以及如何避免混淆(这2种不同的插入方式可以同时使用)。一旦您能够按您想要的方式推进这些更改,您就可以稍微修改集成了。

SOAP向上插入:upsert.htm (底部的C#示例)

REST:upsert.htm

如果您希望使用Salesforce Apex示例:Can I insert deserialized JSON SObjects from another Salesforce org into my org?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20573980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档