我有一个简单的新类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>();
}
}
答案 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