Salesforce:我可以将任务的完成与字段更新联系起来吗?



我想看看当有人完成相关任务时,是否有可能在机会中更新一个字段(一个复选框被选中为true)。有办法做到这一点吗?

我不认为这可以用跨对象工作流完成,因为TaskWhatId字段是一个"多态键"。如果我是对的,你必须在Task上使用触发器。

正如Jeremy所说,您将需要一个触发器,代码将看起来像这样(我没有检查字段名等,所以将其视为几乎真正的伪代码)!

trigger TaskAfterInsertUpdate on Task (after update, after insert)
{
    list<opportunity> liOpportunities = new list<opportunity>();
    list<id> liIDs = new list<id>();
    for(Task sTask : trigger.new)
    {
        if(sTask.Status == 'Complete' && ('' + sTask.WhatId).startsWith('006'))
        {
            liIDs.add(sTask.WhatId);
        }
    }
    for(Opportunity sOppty : [select Id, CheckBoxField__c from Opportunity where Id in : liIDS])
    {
        sOppty.CheckBoxField__c = true;
        liOpportunities.add(sOppty);
    }
    update liOpportunities;
}

希望这是一些帮助!

最新更新