工作流触发条件可能只是一个表示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 个字符的版本。