Microsoft Dynamics CRM在后台运行脚本(或类似的东西)

时间:2017-01-20 20:58:02

标签: javascript dynamics-crm workflow microsoft-dynamics dynamics-crm-online

我写了一个脚本,它添加了字段A和字段B的值。然后将结果写入字段C.

我现在的问题是,因为我正在使用脚本,所以只有在表单打开时它才会运行。但是,无论表单是否打开,我都需要在字段A或字段B更改时运行它。例如,如果工作流在后台更改了字段A的值,我还需要脚本在后台计算字段C的新值。

我知道脚本只能在表单上运行。这就是为什么我在寻找脚本的替代品。我知道我通常可以通过使用工作流来解决这个问题,但是我无法通过工作流访问字段A(它是一个计算字段)。

还有其他可能吗?

3 个答案:

答案 0 :(得分:2)

我发现对于自定义计算,以下方法是有效的,并且不需要太多努力来实现和维护:

  • 创建一个ACTION(让我们称之为new_action),无需任何步骤
  • 创建一个PLUGIN,它可以完成您想要的数学运算,并将其注册到new_action消息
  • 确定所涉及的所有简单字段
  • 为找到字段的每个实体创建工作流程,将其设置为在您在该实体中标识的简单字段的更新时运行
  • 工作流程应该都是相同的,唯一的步骤是EXECUTE ACTION - > new_action

最终结果就是这种行为:

数学变化涉及的简单字段 - >工作流程开始 - >行动开始 - >插件做数学

注意:我通常会对动作和插件接收的数据进行Unbound和“手工制作”操作,但我忽略了这方面因为方法本身保持不变。

答案 1 :(得分:0)

使用CRM插件。它适用于服务器端,因此只要字段值发生变化(用户界面,工作流,系统进程,CRM API调用等),它就会运行。

详细信息:https://msdn.microsoft.com/en-us/library/gg328263.aspx

答案 2 :(得分:0)

1.创建一个过滤属性为A和B的更新消息插件, 这将仅在您的表单更新时触发,并且仅在该表单上的属性A和B已更改时才会触发。 2.在你的插件中写下你的逻辑 3.根据A和B上的更改频率选择异步和同步,理想情况下,我将使用同步,以便我的C值得到更新并始终保持同步w.r.t A和B.