业务流程在 Dynamics CRM 2015 中消失

本文关键字:消失 2015 CRM Dynamics 业务流程 | 更新日期: 2023-09-27 18:30:21

我在案例实体中有BPF(基于默认的"电话到案例流程")。当我通过 C# 代码解决或取消案例时 - BPF 从特定案例表单中消失,这会导致表单中的 JS 错误。当我从CRM解决或取消案例时 - BPF正常显示。

我的解决案例代码:

      Entity incidentResolution = new Entity("incidentresolution");
      incidentResolution.Attributes["incidentid"] = new EntityReference("incident", caseID);
      if (!string.IsNullOrEmpty(resolution))
      {
        incidentResolution.Attributes["subject"] = resolution;
      }
      if (!string.IsNullOrEmpty(description))
      {
        incidentResolution.Attributes["description"] = description;
      }
      CloseIncidentRequest closeIncidentRequest = new CloseIncidentRequest
      {
        IncidentResolution = incidentResolution,
        Status = new OptionSetValue(1000)
      };
      crmService.Execute(closeIncidentRequest);

这是我取消情况的代码:

      SetStateRequest setState = new SetStateRequest();
      setState.EntityMoniker = new EntityReference();
      setState.EntityMoniker.Id = caseID;
      setState.EntityMoniker.LogicalName = "incident";
      setState.State = new OptionSetValue(2);
      setState.Status = new OptionSetValue(2000);
      crmService.Execute(setState);

在这种情况下,我可以为 BPF 显示做点什么吗?

业务流程在 Dynamics CRM 2015 中消失

业务流程

(BPF)通过两个字段针对CRM实体进行管理 processidstageid.您必须找到适当的阶段ID和过程ID,它们由CRM放置在案例记录中。

从crm中查找阶段ID和进程ID解决或取消案例,并在数据库中查询这两个字段。

因此,在Cancelling/Resolving Case之前,您必须更新案例。

Entity caseEntity = new Entity("incident");
caseEntity.Id=caseID
caseEntity["processid"]= new Guid("ABC") //the processid from DB
caseEntity["stageid"]=new Guid("DEF") //the stageid from DB
crmService.Update(caseEntity);