軽くググってもみつからなかったので、備忘です。
事象
エンティティにBPFを設定して、レコードを新規作成し保存しようとすると、キャプチャのエラーが発生します。
ログをダウンロードするとこんな感じ。
at Microsoft.OData.UriParser.ODataPathParser.CreateDynamicPathSegment(ODataPathSegment previous, String identifier, String parenthesisExpression)
at Microsoft.OData.UriParser.ODataPathParser.CreateFirstSegment(String segmentText)
at Microsoft.OData.UriParser.ODataPathParser.ParsePath(ICollection1 segments) at Microsoft.OData.UriParser.ODataPathFactory.BindPath(ICollection
1 segments, ODataUriParserConfiguration configuration)
at Microsoft.OData.UriParser.ODataUriParser.Initialize()
at System.Web.OData.Routing.DefaultODataPathHandler.Parse(String serviceRoot, String odataPath, IServiceProvider requestContainer, Boolean template)
at System.Web.OData.Routing.DefaultODataPathHandler.Parse(String serviceRoot, String odataPath, IServiceProvider requestContainer)
at Microsoft.Crm.Extensibility.ODataV4.Routing.CrmODataPathHandler.<>c__DisplayClass1_0.b__0()
おそらく原因
BPFをつくるときに、スキーマ名に大文字が混ざっているのが原因のようです。
カスタマイゼーションのクラシック画面で確認すると、スキーマ名が全部小文字になっています。
どこかの設定に大文字のスキーマ名が残っているが、スキーマ名が全部小文字なので、BPFのエンティティが見つからないっぽい。
解決策
解決策といえるかどうかわかりませんが、スキーマ名をすべて小文字にして、BPFをつくりなおしましょう。
「右下に変更があり保存されていない」のメッセージが消えているので、保存できています。