工作流程觸發條件可以是一個簡單的公式,說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行處理。由於在Apex中,您通常會看到完整的18個字符的ID,但工作流程使用15個字符的版本,因此ID被裁減爲15個字符。