我们目前有一个系统中有联系人。它将映射到Dynamics中的联系实体。每个联系人都有一个地址历史记录(是的,其中一些是在过去20年中移动的)。
我们很快就会在Dynamics中导入旧系统,我想知道如何导入联系地址历史记录。假设我有用户' John' :
| Name | Address | LivedThereFrom | LivedThereTo |
-----------------------------------------------------
| John | 123 X road | 2005 | 2008 |
| John | 123 Y road | 2008 | 2010 |
| John | 123 Z road | 2010 | | ==> Current address
所以我将导入' John'然后(在地址上激活审核)从2005年到2008年导入他的地址,然后更新它的地址到' 123 Y road&#39 ;,然后最后更新到' 123 Z road'在审计中提供完整的历史记录。
问题如下:我如何标记'从2005年到2008年,2008年到2010年的那些广告,然后是当前的......我想到了使用' created_on'审计表中的字段对我有帮助,但似乎无法修改该数据(除了直接在数据库中输入并失去了对该产品的微软支持)。
由于
答案 0 :(得分:2)
如果客户坚持通过产品,那么另一个选择是多次导入地址。
设置
a)启用实体的审核。
b)添加新字段以存储首次使用地址的日期(地址开始日期)
导入强>
a)首先导入所有客户最旧的地址,将地址维护日期设置为LivedThereFrom日期
b)导出地址并使其可用于重新导入。
c)根据该客户的下一个可用LivedThereFrom更新电子表格中的valyues。提示:首先将导出的电子表格转换为XLSX。使用公式计算出要替换的公式(例如VLOOKUP)如果真的很大的电子表格,那么可能需要拆分才能在5MB限制下重新导入。可以在SQL中使用ROW_NUMBER函数来获取要从源系统更新的下一个地址的列表。
d)继续执行c)直到加载所有记录
在审核历史记录中,您将看到新地址在地址生成日期中变为活动状态的日期。
如果他们不介意直接数据库方法,我会直接进入审计表
祝你好运。答案 1 :(得分:0)
一种不涉及改变Dynamics处理联系地址或执行任何不受支持的内容的方式的方法是使自定义实体的工作是存储所有联系人的地址历史记录。它可以包含地址,联系人在那里生活的日期,以及(重要的)新地址实体(比如new_Address
)和Contact
实体之间的N:1或N:N关系将两者联系在一起。
缺点是一旦完成,您可能需要引入一些业务逻辑来将联系人的地址记录同步到这个新实体,这在Dynamics中肯定是可能的,并且可能在某种程度上是不可避免的。