0

私は MS CRM 3.0 の実装を継承しており、個々の連絡先がそれぞれ特定の「販売業者」に割り当てられています。残念ながら、ディストリビューターはいかなる種類のエンティティとしても定義されていません。代わりに、連絡先フォームが変更され、ディストリビューターの名前と住所を含む追加のフィールドが含まれるようになりました。

これまで、ディストリビューターの住所が変更されたり、ディストリビューターの郵便番号ベースの地域が変更されたりするたびに、外部のカスタム アプリとデータベースがすべての連絡先を取得して変更し、これらの変更を反映していました。

私は MS CRM にまったく慣れていないので、CRM 内から名前/アドレスを 1 か所で変更できるような方法でディストリビューターを追加できるようなアイデアを誰かが持っているかどうかを知りたいと思っています。個々の連絡先にリンクされます。

アイデア?

4

2 に答える 2

1

残念ながら、この混乱を元に戻す唯一の方法は、データのクリーンアップと移行という大規模な作業を伴うことです。既存のアカウント エンティティを使用して、単に「タイプ」フィールドを配置してディストリビューターとしてマークすることを試みます。そうすることで、すぐに使用できる多くの優れた機能を利用できます。

すぐに使用できるエンティティであるか新しいエンティティであるかに関係なく、どちらのオプションを選択しても、Scribe や DTS for SQL などのデータ移行パッケージを使用して、連絡先から新しいエンティティにデータを移動する必要があります。

于 2009-11-03T07:32:01.583 に答える
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);
}
于 2009-11-04T22:55:20.583 に答える