エンティティ名に 山括弧 < や > (不等号記号ともいいますね) を含めないほうがよいかもしんないというメモです。

しあわせかもしんない理由 その1 エンティティ名に山括弧が含まれていると、 リスト表示された エンティティレコードを選択して、重複データの検出の選択されたレコードを選択しすると重複データ検出処理が失敗します。

例えば、 下図のように、エンティティ名が <特殊>商品マスター というエンティティレコードのリストから、レコードを選択して状態で、 グリッドのメニュー その他の操作や → 重複データの検出 → 選択されたレコード で重複データの検出を行おうとした場合。

メニューを選択すると 重複データの確認画面が表示されます。 確認画面のジョブの名前に既定でエンティティ名が付与されます。このとき、山括弧が含まれていると &gt; と &lt; にエスケープしてくれません。括弧をなくすか、 自分で、 &lt; と &gt; に置き換える必要があります。

置き換えないで OK ボタンを押すと 下図のエラーダイアログが表示されます。 ちなみに、インポートウィザードでも同じように既定でインポート名にエンティティ名が含まれます。この場合は、空気を呼んで、<> 山括弧をエスケープ済みでインポート名にエンティティ名を含めてくれます。重複データの検出では空気を読んでくれません。悲しいです。

シアワセかもしんないその2 UrlScan で リクエスト URL に <> が含まれるのを禁止していた場合エンティティフォームの印刷ができない

セキュリティがしっかりしている環境では UrlScan を動作させているかもしれません。 UrlScan で < > が URL の文字列に含まれる場合、Reject する設定にしていると、エンティティ名に山括弧の含まれるエンティティフォームのフォームメニューから印刷を行おうとすると印刷ができません。URLエンコードの有無にかかわらずUrlScan はがんばってくれます。

幸せかもしんないその3  Bulk Data Export Tool が落ちる

CodePlex に公開されているエンティティレコードをエクスポートしてくれるツール CRM 4.0 Bulk Data Export Toolですが、エンティティ名をファイル名としてレコードのエクスポートを行います。なので、エンティティ名にファイル禁止文字である山括弧が含まれていると落ちます。ソースの修正方法と紹介は[Dynamics CRM] MSCRM 4.0 Bulk Data Export Tool を使えるようにする を参照してください。

幸せかもしんないその4 ワークフローのプロパティの更新がうまくいかない

ワークフローのデザイン時、動的に値を設定するエンティティの表示名に 山括弧が含まれていると動的な値のあとに文字列を設定できません。プロパティに動的値のあとに固定文字列などを設定して、保存しようとエラーが発生したり、再度開くと動的な値の後ろに追加した文字列がなくなってしまいます。

以上独り言でした。