1

SharePoint 2010 コンテンツ オーガナイザーを使用して、条件プロパティをプログラムで設定しています。

次の xml フラグメントの文字列表現を受け入れるのは、EcmDocumentRouterRule.ConditionsString プロパティです。

<Conditions><Condition Column='F38E4008-F1C7-476C-8FB1-17C0A363D16B|Crisp Name|Crisp Name' Operator='Equals' Value='quavers' /></Conditions>

「クリスプ名」という列を持つコンテンツ タイプがあります。その値が「quavers」の場合、何らかのアクションを実行する必要があります。問題は正しい演算子値を取得していると思いますが、どれを使用すればよいかわかりません。コンテンツ オーガナイザー ルールは正常に作成されますが、Sharepoint で編集しようとするとランタイム エラーが発生します。コードからこの条件を削除すると、期待どおりに SharePoint でルールを表示および編集できます。Equals を使用するには条件が必要です。'==' や 'Eq' を含むいくつかのバリエーションを試してみましたが、ここに何が欠けているのかわかりません。

これは非常に緊急の要件です。

4

4 に答える 4

1

次の構文を使用しましたが、正常に機能しました。

$spListItem["RoutingConditions"] ='<Conditions><Condition Column="9ce114d1-0f9d-4825-8a74-a9fc891723c2|ProjectId|Project Id" Operator="IsEqual" Value="123456" /></Conditions>'
于 2011-09-06T21:27:00.053 に答える
0

sなしで「等しい」を試しましたか?些細な提案かもしれませんが、よろしくお願いします。それはここでほのめかされているようですが、明示的には述べられていません:

http://msdn.microsoft.com/en-us/library/microsoft.office.recordsmanagement.recordsrepository.ecmdocumentrouterrule.aspx

プログラムでルール自体を作成していますか? 現時点でこれを実行しようとしていますが、それらはリストに正常に表示されますが、UI を介して再度保存した場合にのみ機能します。

于 2011-01-13T13:28:36.643 に答える
0

それを見つけたら、「IsEqual」が必要です。説明されているように、powershell を使用してリスト項目にアクセスすることでこれを行いました。

$web = get-spweb(weburl); $list = $web.lists["コンテンツ オーガナイザー ルール"]; $list.items[0] >> c:\arule.txt

その後、ファイルで条件を確認できます。

于 2011-01-13T14:18:23.887 に答える
0

参照用に知っておくと便利な willfg に感謝します。しかし、もう一度やり直した後、新しいコンテンツ タイプ、新しい列を持つ新しいサイト コレクションで、私の問題は列の機能 ID の大文字と小文字の区別に関係していることが判明しました。小文字にする必要があります。「Equal」と「IsEqual」を試してみましたが、どちらも条件を正しく追加しました。どちらの場合も、UI を介してルールを表示および編集できました。お時間をいただきありがとうございます。

于 2011-01-13T19:58:57.833 に答える