我想知道Dynamics CRM工作流在超时/自动取消之前会处于“等待”状态多长时间?
我有一个“续订”机会的工作流,步骤如下:"Wait‘s’s date >= 3个月a Date“。然后,更新记录。我担心如果工作流处于“等待”状态太长时间,它会自动取消。这会是一个问题吗?如果是,哪种更好的方式来处理"Renewal Opportunities",这样Opportunity名称就会在"Renewal Date“字段中的日期前3个月更新为"Renewal”一词?
谢谢!
发布于 2019-07-13 05:59:40
它将无限期地等待。但是..。作为编写了依赖于等待工作流的产品的人,我可以说可能会有问题。也许最突出的是工作流在其触发日期之前被取消的风险-不是“自动”的,而是由用户或用户定义的过程取消的。
一个客户端具有定期取消等待工作流的例程。这一直破坏了一切,直到我们将他们的调度从工作流转移到一个在线调度程序。
一般来说,依靠几个月后计划好的等待工作流是可以的,但谨慎的做法是有一种机制来确认它们正在运行,并在它们不运行时进行恢复。
发布于 2019-07-15 00:02:22
Aron很好地回答了你问题的第一部分。
如果是,哪种更好的方式来处理"Renewal Opportunities",这样Opportunity名称就会在"Renewal Date“字段中的日期前3个月更新为"Renewal”一词?
1)创建一个过程:
通常,手动过程比开发自动化更具成本效益和可靠性。
如果续订不需要在确切日期进行,这是一个很好的选择。
2)让外部应用程序启动工作流:
您可以编写一个轻量级的计划应用程序来执行此操作。如果您采用这种方法,我建议您尽可能多地保留CRM中的配置,方法是让应用程序在CRM视图的结果上执行,并启动工作流来执行续订操作。这样,当您的企业决定更改其规则(例如,不同的续订期限)时,您只需更新视图条件或工作流即可。
如果您有内部开发能力,并且有许多这样的工作流可以利用您的计划应用程序来处理,那么这是一个很好的选择。
3)使用插件启动工作流:
这是我个人的喜好。与选项2相同,不同之处在于您不使用计划的控制台应用程序,而是让CRM托管和计划作业。创建自定义计划任务实体,并设置一个等待一段时间(例如24小时)的工作流,然后创建计划任务记录。添加插件逻辑,它在计划任务记录的创建时触发,执行与选项2相同的操作。
这比#2更好,有几个原因:
其他想法:
我不会对上述选项是否比等待工作流程“更好”做出判断,它们都有不同的优点和缺点。异步服务比历史上可靠得多,但我个人仍然试图避免使用等待时间较长的工作流,主要是出于系统复杂性和性能方面的原因。如果您需要自动化,并且没有内部开发人员,那么您最好的选择可能是设置等待工作流。
https://stackoverflow.com/questions/57013229
复制相似问题