Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

【Dynamics CRM】【7.1 新機能】代替キー設定時の注意事項

Dynamics CRM 7.1から代替キーという機能が追加されてました。

詳しくは過去記事で紹介しています。

kageura.hatenadiary.jp

ここを実装していくにあたり、いくつか注意すべき点を見つけましたので、記録しておきたいと思います。

自動的に重複がチェックされる

代替キーはその性質上、かならず対象のフィールドデータが一意でなければいけません。

例えば、以下のように取引先企業の企業名を対象とした代替キーを作成します。

f:id:sugimomoto:20150729125044p:plain

その後、企業名にすでに存在する企業名を登録しようとすると、以下の様なエラーが表示され登録が完全にできない状態になります。 (もちろん、重複ルールは外しています)

f:id:sugimomoto:20150729125126p:plain

Dynamics CRMの機能でもよく利用されている重複ルールはそこまでの強制力がありませんでしたが、今回の代替キーで強制的に一意の情報にするように、ある意味設定ができます。 (プログラムからももちろん、同じようにはじかれます)

代替キー設定前に重複データがある場合はどうなるか

では、代替キーを設定する前に、すでに重複データが存在した場合どうなるのか。

試してみました。

なんと代替キーのレコードは作成できるのですが、アクティブ化で失敗してしまいました。

f:id:sugimomoto:20150729125448p:plain

ある意味正しい動作といえますが、すでに本番稼働していて、その環境のフィールドを対象とする場合は注意が必要ですね。