我有一个应用程序,我每天运行以从外部源向CRM发送合同更新。我使用的过程是:
我的问题是:即使值没有改变,CRM中的所有字段都已更新?或者CRM是否足够智能,只能更新具有不同值的字段?
由于
答案 0 :(得分:2)
在幕后,我相信Microsoft CRM正在使用SQL更新来处理属性包中非空的所有属性。您还可以打开选项以覆盖空值。
这听起来像是一个典型的增量过程。我将就我认为使用Microsoft CRM看到的两种最佳方式提供建议 -
(效率最高)如果您可以将一些触发器/插件连接到外部源,以实时将更改传播到包含更改类型(插入/更新/删除)的临时数据库,则每晚进行同步处理表(标记具有状态的受影响记录)并将每行推入CRM。完成将更改推送到CRM后,它可以从登台数据库中删除所有已标记为已处理的增量行。
(如果实时推送不可用)如果源系统是所有数据的记录系统,则需要从Microsoft CRM读取所有值(可以直接执行此操作或将其加载到临时数据库中)想要在CRM上节省负担)。在执行读取操作时,您应该在记录上有一个ID,以便将它们追溯到源数据。将每个值与源数据库进行比较时,请将任何差异写入具有差异类型(插入/更新/删除)的登台表。构建delta登台数据库后,将所有这些记录以与第1部分相同的方式处理到CRM中。