我正在Dynamics CRM 365和QuickBooks Desktop之间同步帐户和联系信息。
我要在CRM中尝试做的事情是有一个名为“自上次QB同步以来已更新地址”的复选框。它已锁定,因此用户无法触摸它,并且在用户更新特定字段(公司名称,地址,电话,电子邮件)时应自动进行检查。
尝试使用业务规则执行此操作,但显然似乎不可能。将是处理此问题的最佳方法(Web资源,业务流程等)吗?
答案 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%工作了。