2

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

我回到基础并创建了一个独特的文本字段。我尝试使用默认值,但我写的所有内容都是错误的-_-。我试过Contact__r.Email & "-" & Program__r.Name但无济于事。

我尝试了带有字段更新的工作流规则,但我的字段更新从未运行。(是的,我确实激活了工作流规则)而且我不知道在我的规则代码中写什么。

4

1 回答 1

3

工作流触发条件可能只是一个表示true. 或者使用“每次插入记录”。这还取决于您的主详细信息是否设置一次,仅此而已,或者它们将是“可重新设置的”(我认为是在 Summer '12 中引入的选项)。也许张贴您的射击条件的屏幕截图/文字描述?另外-您的唯一字段是否设置为“区分大小写”?

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

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

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 个字符的版本。

于 2013-06-12T19:19:54.940 回答