在Microsoft Dynamics CRM 3.0中重新处理分发服务器/客户纠缠

时间:2009-11-02 21:51:38

标签: dynamics-crm dynamics-crm-3

我继承了MS CRM 3.0的一个实现,其中每个联系人都分配给一个特定的“分发者”。不幸的是,分销商并未被定义为任何类型的实体。相反,联系表单已修改为包含包含分发服务器名称和地址的额外字段。

到目前为止,每次更改分销商地址或修改分销商的基于邮政编码的区域时,都会撤消并修改每个联系人的外部自定义应用和数据库,以反映这些变化。

我对MS CRM完全陌生,我很想知道是否有人的想法允许我添加分销商,以便在一个地方可以从CRM中修改他们的名称/地址,这可以与个人联系人联系起来。

想法?

2 个答案:

答案 0 :(得分:1)

不幸的是,撤消这种混乱的唯一方法是进行大量的数据清理和迁移。我会尝试使用现有的帐户实体,只需放置一个“类型”字段,将其标记为分销商。这样做可以获得很多开箱即用的功能。

无论您选择哪种选项,无论是开箱即用的实体还是新的实体,您都需要使用数据迁移包(如Scribe或DTS for SQL)将数据从联系人移动到新实体。

答案 1 :(得分:1)

说实话,我认为解开这种情况并不是一大堆代码。我会伪代码,如果你能给你基本的想法 - 我认为从长远来看,这可能最终成为最好的长期解决方案。

首先创建一个Distributor自定义实体。根据需要在联系人/帐户之间创建关系。然后使用下面的伪代码 - 填写特定于您的情况的东西。运行。然后你可以删除那些不必要的属性,你应该好好去。

CRmService s = GetMyService();
BusinessEntityCollection objects_to_clean = s.RetrieveMultiple(...some query to get them all...);

foreach (BusinessEntity be in objects_to_clean.BusinessEntities)
{
   DistributorEntity de = new DistributorEntity;
     //set all necessary fields here... 
     de.field = be.field;
     Guid distributorguid = s.Create(de);
     be.distributorid =  distributorguid ;
     s.Update(be);
}