C# 是否可以从Dynamics CRM 2013中的代码更改工作流步骤属性
如果我从Dynamics CRM中代码中的模板创建工作流,是否可以更改工作流步骤属性的值 我有一个自定义的工作流步骤,它是工作流模板的一部分,但是对于我从中创建的每个工作流,我希望向该步骤传递不同的值 我正在从C#创建工作流,作为powershell cmdlet的一部分。我尝试过用xaml从头开始创建工作流,但它会导致更多的问题 我可以用下面的代码创建和检索工作流,但是我看不到任何东西可以指向我检索的工作流对象上的步骤C# 是否可以从Dynamics CRM 2013中的代码更改工作流步骤属性,c#,.net,powershell,dynamics-crm,C#,.net,Powershell,Dynamics Crm,如果我从Dynamics CRM中代码中的模板创建工作流,是否可以更改工作流步骤属性的值 我有一个自定义的工作流步骤,它是工作流模板的一部分,但是对于我从中创建的每个工作流,我希望向该步骤传递不同的值 我正在从C#创建工作流,作为powershell cmdlet的一部分。我尝试过用xaml从头开始创建工作流,但它会导致更多的问题 我可以用下面的代码创建和检索工作流,但是我看不到任何东西可以指向我检索的工作流对象上的步骤 using (var proxy = auth.GetOrganizati
using (var proxy = auth.GetOrganizationProxy())
{
// This statement is required to enable early-bound type support.
proxy.EnableProxyTypes();
OrganizationServiceContext _orgContext = new OrganizationServiceContext(proxy);
CreateWorkflowFromTemplateRequest request = new CreateWorkflowFromTemplateRequest()
{
WorkflowName = "(" + EntityLogicalName + ") Migrate Notes to SharePoint",
WorkflowTemplateId = new Guid(ProcessTemplateId)
};
var response = (CreateWorkflowFromTemplateResponse)proxy.Execute(request);
ColumnSet cols = new ColumnSet(true);
Workflow newWorkflow = (Workflow)proxy.Retrieve(Workflow.EntityLogicalName, response.Id, cols);
newWorkflow.PrimaryEntity = EntityLogicalName;
}
归档工作流XAML,然后使用此XAML从头开始创建新工作流(替换值)时,我遇到一个错误,CRM认为XAML是外部生成的,无法工作,不允许我删除工作流,因此无法运行 我的解决方案是创建一个工作流作为模板,然后在代码中,使用“CreateWorkflowFromTemplateRequest”从该模板创建一个工作流。这将生成一个与模板具有相同基本实体的工作流,“CreateWorkflowFromTemplateResponse”包含此工作流的ID 然后,我按ID查找此工作流,更改基本实体,替换其XAML属性中的值并将其保存为新工作流(使用新ID),然后删除从模板创建的原始工作流 导致我的代码基于模板创建了一个新的工作流,但涉及不同的实体 无法编辑现有工作流的实体,因此需要进行查找、更改和重新保存。我可能会按名称查找模板,对其进行修改,但我不确定CRM如何处理模板与工作流,并选择克隆从模板生成的实际工作流