Dynamics crm 2011 CRM executionContext到工作流实体

Dynamics crm 2011 CRM executionContext到工作流实体,dynamics-crm-2011,dynamics-crm,microsoft-dynamics,Dynamics Crm 2011,Dynamics Crm,Microsoft Dynamics,从CRM自定义工作流中,我需要从executionContext获取实际的“工作流”实体。我正在尝试检索存储在“流程”UI下的WorkflowId和工作流名称 有人愿意分享一个示例查询吗 谢谢 Richard我假设您引用的是触发工作流的记录(即,如果您将其设置为在创建帐户时触发,则您需要触发工作流的帐户记录) 有几个选项(包括使用输入参数)。在这里,我将使用WorkflowContext获取主实体Id public String GetRecordIdFromRecordThatTriggere

从CRM自定义工作流中,我需要从executionContext获取实际的“工作流”实体。我正在尝试检索存储在“流程”UI下的WorkflowId和工作流名称

有人愿意分享一个示例查询吗

谢谢


Richard

我假设您引用的是触发工作流的记录(即,如果您将其设置为在创建帐户时触发,则您需要触发工作流的帐户记录)

有几个选项(包括使用输入参数)。在这里,我将使用WorkflowContext获取主实体Id

public String GetRecordIdFromRecordThatTriggeredWorkflow(CodeActivityContext executionContext)
    {
        String someString = string.Empty;
        try
        {
            //Set up the workflow context 
            IWorkflowContext workFlowContext = executionContext.GetExtension<IWorkflowContext>();

            someString = workFlowContext.PrimaryEntityId.ToString();
            return someString;
        }
        catch (Exception ex)
        {
            throw new InvalidPluginExecutionException("Error occured in GetFeeWaiverId Method:" + ex.Message);
        }
    }
公共字符串GetRecordIdFromRecordThatTriggeredWorkflow(CodeActivityContext executionContext)
{
String someString=String.Empty;
尝试
{
//设置工作流上下文
IWorkflowContext workFlowContext=executionContext.GetExtension();
someString=workFlowContext.PrimaryEntityId.ToString();
返回sometstring;
}
捕获(例外情况除外)
{
抛出新的InvalidPlugineExecutionException(“GetFeeForceGrid方法中发生错误:“+ex.Message”);
}
}
希望有帮助

编辑:
这里有一个链接,其中包含您要查找的查询

不,我想访问工作流实体,而不是触发工作流的实体。谢谢。我已经通过工作流名称进行了查询,但我不想在代码中硬编码工作流名称。这个链接看起来很有希望,但我需要转到WorkflowInstanceID->asyncoperation(系统作业)->工作流