我继承了 MS CRM 3.0 的实现,其中每个联系人都分配给特定的“分销商”。不幸的是,分销商并未被定义为任何类型的实体。相反,修改了联系表格以包含包含分销商名称和地址的额外字段。
到目前为止,每次经销商地址发生变化,或经销商的邮政编码区域被修改时,外部定制应用程序和数据库都会拉取并修改每个联系人以反映这些变化。
我对 MS CRM 完全陌生,我很想知道是否有人有想法可以让我添加分销商,这样他们的名称/地址可以在 CRM 中的一个地方进行修改,并且可以链接到个人联系人。
想法?
我继承了 MS CRM 3.0 的实现,其中每个联系人都分配给特定的“分销商”。不幸的是,分销商并未被定义为任何类型的实体。相反,修改了联系表格以包含包含分销商名称和地址的额外字段。
到目前为止,每次经销商地址发生变化,或经销商的邮政编码区域被修改时,外部定制应用程序和数据库都会拉取并修改每个联系人以反映这些变化。
我对 MS CRM 完全陌生,我很想知道是否有人有想法可以让我添加分销商,这样他们的名称/地址可以在 CRM 中的一个地方进行修改,并且可以链接到个人联系人。
想法?
不幸的是,消除这种混乱的唯一方法是进行大量的数据清理和迁移。我会尝试使用现有的帐户实体并简单地放置一个“类型”字段以将其标记为经销商。通过这样做,您可以获得很多开箱即用的功能。
无论您选择哪个选项,无论是开箱即用实体还是新实体,您都需要使用 Scribe 或 DTS for SQL 等数据迁移包将数据从联系人移动到新实体。
老实说,我不认为要解决这种情况需要大量的代码。如果你能给你基本的想法,我会伪代码 - 我认为从长远来看,这可能最终成为最好的长期解决方案。
首先创建一个 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);
}