列表与LT;>在自定义工作流的参数?

时间:2014-11-05 16:15:41

标签: c# .net dynamics-crm-2011 workflow

我正在尝试让以下自定义工作流根据以下标准检索Contacts

[Input("Retrieve customers whose renewal date is lesser or equal than today + X days")]
public InArgument<int> Days { get; set; }

[Input("For which service?")]
public InArgument<string> Service { get; set; }

我希望它返回以下内容:

[Output("Customers up for renewal")]
public OutArgument<List<Contact>> Customers{ get; set; }

我的想法是,另一个工作流程步骤将循环显示此工作流程返回的内容(Customers)。

但是当我注册程序集时,由于以下步骤,上面的步骤无法注册:

The type OutArgument`1 of the property Customers is not supported

支持哪种类型的参数? MSDN没有告诉我太多,我的概念是返回列表有问题,还是工作流程一次只能处理一条记录?

感谢。

2 个答案:

答案 0 :(得分:2)

自定义工作流活动只能将OutArgument用作一组类型,并且没有类型(例如EntityCollection)将多个项目作为单个OutArgument返回

因为您想要返回Contact列表,所以您可以使用静态营销列表作为解决方法。

在自定义工作流程活动中,您可以创建新的市场营销列表并将联系人作为列表的成员(市场营销列表只能用于联系人,帐户或潜在客户),并将列表的ID作为{{1}返回}:

EntityReference

答案 1 :(得分:0)

我找到了属性here支持的类型列表。我想我必须重新调整我的工作流程,以便内部处理Customers列表,因为此列表不会成为您可以向其他工作流程步骤公开的内容。