检索工作流程过程所需的组件

时间:2014-02-03 20:43:30

标签: c# dynamics-crm-2011

我一直在尝试使用CRM SDK检索特定工作流程流程的“必需组件”列表。我可以检索所需的工作流实体,但据我所知,该对象中没有引用所需的组件。

使用与RetrieveRequiredComponentsRequest相同的id会运行,但会返回EntityCollection,结果为0条记录。这完全不正确,因为实际上有必要的组件。

Guid workflowId = WORKFLOW_GUID;
RetrieveRequiredComponentsRequest request = new RetrieveRequiredComponentsRequest();
request.ObjectId = workflowId; // confirmed correct id as the correct entity can be retrieved
RetrieveRequiredComponentsResponse response = (RetrieveRequiredComponentsResponse)service.Execute(request);
EntityCollection results = (EntityCollection)response.Results["EntityCollection"]; // the only key in Results was "EntityCollection"
foreach (var item in results.Entities) // okay, then what are their names?
{    
    Console.WriteLine("LogicalName: {0}", item.LogicalName); // prints nothing at all! wat?
}
Console.WriteLine("Results count: {0}", results.Entities.Count); // is 0...

我很困惑,因为我知道我有工作流程的ID,因为我可以使用service.Retrieve正确地获取它。 RetrieveRequiredComponents[Request|Response] 是否正确用于获取工作流程过程依赖项?它当然适用于其他CRM对象。

编辑(由于上述代码错误的部分原因):RetrieveRequiredComponents查找解决方案组件,例如实体,选项集和网络资源,而不是单个属性解决方案组件,如实体的字段。这就解释了为什么我没有得到我想要的结果,但它没有解释为什么请求根本没有结果。我希望能回来几个实体。

0 个答案:

没有答案