2011-06-20 7 views
2

タイトルのとおり、メンバーをリストから除外する必要があります。私は先進的なfindを使ってXMLクエリを試してみましたが、進歩はそれほどありませんでした。Dynamics CRM 4および2011のリストからメンバーを除外します

私がしようとしているのは、ユーザーが契約を具体的に受け入れたメンバーとそのメンバーのみ、またはそのアクションを処理するための2番目のオプションになることを望んでいるかどうかに基づいてリストにアクションを処理することです彼らが合意したか否かにかかわらず、契約を特に断っていないすべての人に

私が必要とするのは、契約を辞退し、リストから他の人を選んだ人を探すことです。メンバーが契約を辞退すると、それを反映するためにエンティティが作成されます。これは合意に同意する人にとってはうまくいく。しかし、私は、このエンティティが関連付けられていないすべての人を選択するのに問題があります。

私はSQLでこれを達成するために...それはあまりにも混乱はありません

答えて

2

を願って、あなたは通常、LEFT OUTERは契約を持つ人々をまとめると、null以外の契約に皆をフィルタリングするために参加します。

このはDynamics CRMでは不可能だと私は信じられません。

エクスポート/インポートによってXMLクエリを手動で編集する必要がありますが、外部結合を行うことは可能です。しかし、<filter>句の<linked-entity>の中からFetchXMLが項目を参照することができないため、外部結合は無意味です。 <link-entity>の中に<filter>がある場合、これは結合のON句に変換されます。これは外部結合のWHERE句には当てはまりません。

これはDynamics CRMからの衝撃的なものです。

この記事の下部にある謎めいたメモがこれを説明しようとします:http://msdn.microsoft.com/en-us/library/ms936574.aspx

0

まあ、彼らはリストからメンバーを除外するための方法を含んでいないだろう、なぜそれが私の心をboggles最初の...オフ..私が見ていない理由がありますか?私はそこにあるとは想像できませんが、私はまだほとんど知りません...

私はいくつかの再設計の後にこの作業をしました。私たちは人々の全リストをつかみ、拒否した人たちとアウト・ター・ジョイントし、辞退した日を追加します。

declinedNode = entityNode.GetChildNode("link-entity", "link-entity[@name='xx_decline_{0}']".FormatWith(memberType)); 
declinedNode.SetAttribute("name", "xx_decline_{0}".FormatWith(memberType)); 
declinedNode.SetAttribute("from", "xx_parent_{0}id".FormatWith(memberType)); 
declinedNode.SetAttribute("to", "{0}id".FormatWith(memberType)); 
declinedNode.SetAttribute("link-type", "outer"); 
declinedNode.SetAttribute("alias", "declined"); 

var declinedDateNode = fetchXmlDoc.CreateNode(XmlNodeType.Element, "attribute", string.Empty); 
declinedDateNode .SetAttribute("name", "xx_declineddate"); 
declinedNode.AppendChild(declinedDateNode); 

そして、サーバ側は、すでに私たちはちょうどそれが減少した日付の値を持っていたならば、それは我々がそれを無視するという条件をつけ、リスト内のすべてのメンバーをループされました。

関連する問題