流程:使用新类型变量?

时间:2018-03-13 10:52:22

标签: salesforce flow

我有一个简单的新类X,它包含一些外部系统标注的结果。 在流程中,我需要一个X类型的变量。有没有办法在流中声明该新类型的变量?

我的新课程是:

public class FooCalloutResult {
    public Boolean success;
    public Map<Id, Boolean> results;
    public List<String> messages;

    public FooCalloutResult() {
        success = false;
        results = new Map<Id, Boolean>();
        messages = new List<String>();      
    }
}

1 个答案:

答案 0 :(得分:1)

如果要从apex类中获取流中的某些数据,则需要使用Process Invocable方法 - 这可以通过添加@InvocableMethod注释来完成。

示例:

global class lookUpAccountAnnotation {

   @InvocableMethod
   public static List<String> getAccountIds(List<String> names) {

      List<Id> accountIds = new List<Id>();
      List<Account> accounts = [SELECT Id FROM Account WHERE Name in :names];
      for (Account account : accounts) {
         accountIds.add(account.Id);
      }
      return accountIds;
   }
}

使用此注释,该类将出现在Flow中可用元素的列表中,您需要将输入和输出放入其中。

根据您要执行的操作类型,您可能需要使用Process.plugin接口。请查看此文章,了解哪个选项支持哪种数据来决定您的需求 - https://help.salesforce.com/articleView?id=vpm_designer_elements_apex.htm&type=5