如果更新了特定字段,则复选框= true

时间:2019-02-19 21:16:57

标签: dynamics-crm crm microsoft-dynamics dynamics-crm-online dynamics-365

我正在Dynamics CRM 365和QuickBooks Desktop之间同步帐户和联系信息。

我要在CRM中尝试做的事情是有一个名为“自上次QB同步以来已更新地址”的复选框。它已锁定,因此用户无法触摸它,并且在用户更新特定字段(公司名称,地址,电话,电子邮件)时应自动进行检查。

尝试使用业务规则执行此操作,但显然似乎不可能。将是处理此问题的最佳方法(Web资源,业务流程等)吗?

3 个答案:

答案 0 :(得分:2)

Pre-update plugin将是您最好的选择。如果这四个属性中的任何一个已更改,请编写一个C#插件以在目标实体中设置复选框(布尔)属性。

将目标实体注册为联系人,即使您可以在“插件”步骤的过滤属性中过滤这四个属性。

这避免了显式的记录更新,并且插件仅在更新了这四个字段中的任何一个时才触发,并且标志将在同一数据库事务中设置为附加属性。

答案 1 :(得分:0)

您还可以创建一个工作流流程,该流程将在某些属性更新时触发,这更符合MSFT建议的使用自定义策略,缺点是您必须为每个实体创建一个工作流< / p>

希望它-M.Acosta.D

答案 2 :(得分:0)

我最终要做的是创建一个Web资源并将其分配给我要监视更改的字段的OnChange事件:

function fieldChanged() {
  Xrm.Page.getAttribute("new_updatessincelastqbsync").setValue(true);
}

address1_composite有点棘手,因为它没有检测到OnChange事件。必须将包含复合内容的字段添加为隐藏字段,然后将Web资源添加到OnChange事件中。现在它可以100%工作了。