在CRM 4.0 里用导入向导功能更新数据
很多人在问:怎样用CRM4.0的导入向导功能(Import Data)更新数据,而不是导入新的数据。
具体做法有2种方式如下:
第一种利用GUID的方式,比较麻烦做起来,也不通用:
1. 从CRM导出数据到[动态工作表] .xls
2. 用Excel打开这个xls文件,在最后一列和空白列之间可以看到有一列被“隐藏”了,比如下图,列E就是最后一列,跟着就是列G,我们可以知道列F被“隐藏了”。选中列E和G,右击鼠标,选择“显示”(Unhide)
3. 这个时候列F就显示出来了,可以看到是对应行记录的GUID,我们要做的是把这一列cut/insert到表的首列
4. 保存xls文件成csv文件,用导入向导功能导入的时候,就会出现更新选项。导入后,即完成了数据的更新,见下图的第一行:"Enrich data by updating existing records rather than creating new records."
5. 顺便说一句,很多人问这个自动匹配(Automatic)是怎么出来的?其实在CSV文件里,列名必须和Attributes的显示名称(Display Name)一样,就可以达到这个功能。比如,在CSV文件里是如下格式:
Account,Account Name
90B2C520-FE6D-DD11-A656-0003FF884968,Account1
91B2C520-FE6D-DD11-A656-0003FF884968,Account2
60019928-FE6D-DD11-A656-0003FF884968,Account3
61019928-FE6D-DD11-A656-0003FF884968,Account4
D01CBE2F-FE6D-DD11-A656-0003FF884968,Account5
我们可以看到:Account对应的是Guid,在attribute里accountid显示名称里就叫做Account;而Account Name也是name的显示名称。所以,如果这样设计导入文件,在执行到导入步骤的时候,系统就会自动辨认出这个文件是和实体Account相对应的,也就不用再作匹配了。
第二种方法就是用plugin的方式:
我这里就不写demo程序了,如果有人需要,可以留言给我.
我说一下大概思路
具体做法为:第一步:确认该实体中是否有用来标识为记录唯一性的字段,比如流水号啊,记录ID等等.
第二步:编写plugin程序(怎么写我就不多说了,如果有人不会,可以留言给我,也可以去戈雅论坛提问);
将编写好的dll注册为precreate;
然后制作你的CSV格式文件,注意一定要包含记录唯一性的字段,
然后通过向导导入就可以了(最好能用automaping导,这样方便,不用做映射)