我正在同步Dynamics CRM 365和QuickBooks Desktop之间的帐户和联系信息。
我在CRM中尝试做的是有一个名为“自上次QB同步后更新地址”的复选框。它被锁定,因此用户无法触摸它,并且应在用户更新特定字段时自动检查:公司名称,地址,电话,电子邮件。
尝试使用业务规则执行此操作,但显然似乎不可能。是处理这个问题的最佳方式(网络资源,业务流程等)?
Pre-update plugin将是您最好的选择。如果更改了这四个属性中的任何一个,请编写一个C#插件来设置目标实体中的checkbox(bool)属性。
将目标实体注册为Contact,即使您可以在Plugin步骤的过滤属性中过滤这四个属性。
这避免了显式记录更新,插件只有在更新了这四个字段中的任何一个时才会触发,并且该标志将作为附加属性设置在同一个DB事务中。
您还可以创建一个在更新某些属性时触发的工作流程流程,这更符合MSFT建议的使用自定义策略,缺点是您必须为每个实体创建一个工作流程
希望它有助于 - M.Acosta.D
我最终做的是创建一个Web资源并将其分配给我想要监视更改的字段的OnChange
事件:
function fieldChanged() {
Xrm.Page.getAttribute("new_updatessincelastqbsync").setValue(true);
}
address1_composite
有点棘手,因为它没有检测到OnChange
事件。必须将包含复合的字段添加为隐藏字段,并将web资源添加到OnChange
事件中。现在它正在100%工作。