2012-03-23 21 views
1

これは単純な要件です:ダイナミクス2011のアカウントに一連の文字列を追加したいのですが、その文字列は他のシステムの外部IDです。すべての文字列はすべてのエンティティで一意である必要があります。エンティティに一連の文字列を追加するにはどうすればよいですか?

これを行うための唯一の方法は、文字列をエンティティ(例: 'ExternalCode')として定義し、AccountとExternalCodeの間に1:N reslationshipを設定することです。また、エンティティとして定義すると、私は 'ExternalCode'に明示的にはない名前を付けていると主張します。

これを実装するにはどうすればよいですか?

はありがとう

ライアン

答えて

2

太りすぎて見えるかもしれませんが、エンティティはテーブルのように考えることができます。 MS SQLの中に2番目のテーブルを作成しますか?その場合、別のエンティティを作成する必要があります。 CRMは非常に最適化されているので、この追加のオーバーヘッドについては心配しません。

また、GUIDを他のシステムに持ち込むこともできます。

0

お使いのCRMシステムに入るこれらのユニークな参照がある方法。それぞれの外部システムからデータをインポートしていますか?もしそうなら、私は外部システムで参照が一意であると仮定します。インポートしたら、これらの参照が重複していないことを確認しますか?

また、ここでは何文字と書いていますか?小さい数字の場合は、属性を定義して次のいずれかの方法で重複をチェックするだけです: -

1)一部のjavascriptを使用して、レコードがコミットされる前に外部参照番号の一意性を確認します。 (しかし、これは十分ではありませんが、レコードはシステム内でプログラム的にも作成されます)。

2)同じユニークな参照番号と一致する他のレコードをシステムに再度照会し、それに応じて一致のイベントを処理するためのプレ作成時に起動するプラグイン。

しかし、それらの数が多い場合は、あなたが言うように別のエンティティを定義することが理にかなっていて、上のように、プラグインを介してエンティティと新しい「参照レコード」を関連付けることができますレコードがすでに存在するかどうかを確認し、例外を処理するか、既存のレコードが適切であればそれを単に関連付けるかのいずれかを行います。

重複が見つかった場合や、システムでこれらのレコードがどのように作成されるのか(たとえば、UI経由で、プログラムによって、または潜在的に両方で)などがキーと思います。

さらに詳しい情報がありましたら、もう少しお手伝いしてください。

関連する問題