1

我们目前有一个系统,其中包含联系人。它将映射到 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 路”,最后将其更新为“123 Z 路”以获得完整的历史记录在审计中可用。

问题如下:我如何“标记”那些从 2005 年到 2008 年、2008 年到 2010 年然后是“当前”的地址...我想使用审计表中的“created_on”字段来帮助我,但似乎无法修改该数据(除非直接进入数据库并失去 Microsoft 对产品的支持)。

谢谢

4

2 回答 2

2

如果客户坚持通过产品,那么另一种选择是多次导入地址。

设置

a) 打开实体的审计。

b) 添加一个新字段来存储地址首次使用的日期(地址开始日期)

进口

a) 首先导入所有客户最旧的地址,将地址开始日期设置为 LivedThereFrom 日期

b) 导出地址并使其可用于重新导入。

c) 根据该客户下一个可用的 LivedThereFrom 更新电子表格中的值。提示:首先将导出的电子表格转换为 XLSX。使用公式确定要替换的内容。(例如 VLOOKUP)如果电子表格非常大,则可能需要拆分以启用在 5MB 限制下重新导入。可以在 SQL 中使用 ROW_NUMBER 函数从源系统获取下一个要更新的地址列表。

d) 继续执行 c) 直到所有记录都加载完毕

在审核历史记录中,您将看到新地址生效的日期和地址开始日期。

如果他们不介意直接数据库方法,我会直接使用审计表

祝你好运。

于 2011-11-28T04:01:09.430 回答
0

一种不涉及更改 Dynamics 处理联系人地址的方式或执行任何不受支持的操作的方法是创建一个自定义实体,其工作是存储所有联系人的地址历史记录。它可能包含地址、该联系人居住在那里的日期,以及(重要的是)您的新地址实体(例如new_Address)和将Contact两者联系在一起的实体之间的 N:1 或 N:N 关系。

一个缺点是一旦完成,您可能必须引入一些业务逻辑来将联系人的地址记录同步到这个新实体,这在 Dynamics 中当然是可能的,并且在某种程度上可能是不可避免的。

于 2011-11-23T19:19:27.290 回答