【问题标题】:Salesforce Junction ObjectsSalesforce 连接对象
【发布时间】:2013-06-12 18:11:34
【问题描述】:

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

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

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

【问题讨论】:

    标签: salesforce


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多