首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Salesforce Junction对象

Salesforce Junction对象
EN

Stack Overflow用户
提问于 2013-06-13 02:11:35
回答 1查看 1.6K关注 0票数 2

对于所有的销售专家,我需要一些帮助。我有我的联系人和一个名为programs的自定义对象。我创建了一个连接对象,用来掌握与联系人和程序的详细关系。我希望避免将相同的联系人与相同的程序相关联。我尝试了触发器,但我无法创建测试部分来在沙箱之外使用它。

我回到了基础知识,创建了一个独特的文本字段。我试着使用默认值,但是我写的所有东西都是错误的- -_-。我试过Contact__r.Email & "-" & Program__r.Name,但没有用。

我尝试使用字段更新的工作流规则,但是我的字段更新从不运行。(是的,我激活了工作流规则)并且我不知道在我的规则代码中写些什么。

EN

回答 1

Stack Overflow用户

发布于 2013-06-13 03:19:55

工作流触发条件可以是一个简单的公式,上面写着true。或者使用“每次插入记录”。这也取决于你的主细节是否设置了一次,就这样,或者它们将是“可修复的”(我想是在‘12年夏天引入的选项)。也许发布一个屏幕截图/文本描述你的触发条件?还有-你唯一的字段设置为“区分大小写”吗?

至于填充唯一字段的公式-类似于Contact__c + ' ' + Program__c (或字段的任何API名称)的公式应该是可以的。不要使用Contact__r.Email等,因为它们不必是唯一的……

您必须以某种方式填写所有现有记录的唯一性标准(也许这就是您声称它不起作用的原因?)。如果您可以使用Apex进行数据修复-类似这样的东西应该可以帮助您入门。

代码语言:javascript
复制
List<Junction__c> junctions = [SELECT Contact__c, Program__c 
FROM Junction__c 
WHERE Unique_Text_Field__c = null 
LIMIT 10000];

for(Junction__c j : junctions){
   String key = String.valueOf(j.Contact__c).left(15) + ' ' + String.valueOf(j.Program__c).left(15);
   j.Unique_Text_Field__c = key;
}

update junctions;

继续重新运行它,直到它开始显示0行已处理。Id被减少到15个字符,因为在Apex中,您通常会看到完整的18个字符的Id,但工作流使用15个字符的版本。

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

https://stackoverflow.com/questions/17072403

复制
相关文章

相似问题

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