0

いくつかのサーバー環境でこの問題が発生しています。

サイト コレクションのルートにリストがあります。そのリストの [タイトル] フィールドで複数値ルックアップとして作成されたサイト列があります。このサイト列は、サブサイトのドキュメント ライブラリで必須フィールドとして使用されます。Office 2007 ドキュメント以外のものをアップロードすると、ドキュメント メタデータ入力画面 (EditForm.aspx?Mode=Upload) が表示され、ユーザーは適切なデータを入力します (このルックアップの値の選択を含む)。 )、[チェックイン] をクリックすると、ルックアップ フィールドの値が入力された状態で、ドキュメントが期待どおりにチェックインされます。

Office 2007 ドキュメントでは、これは失敗します。ユーザーがルックアップ フィールドに選択した値がサーバーに送信されることはありません。エラーはスローされませんが、フィールドはドキュメントと共に保存されません。これらのドキュメント ライブラリにはイベント リスナーがあり、コードの 1 行が実行される前にイベント リスナー メソッドで着信 SPListItem を調べると、ルックアップ フィールドの値が null であることがわかります。

私には SharePoint のバグのようなにおいがしますが、Microsoft に電話する前に、これを見て回避策を講じた人はいますか?

編集:問題に関連するSPトレースログに表示される唯一のエントリ:

CMS/Publishing/8ztg/Medium/Got List Item Version, but item was null
4

1 に答える 1

1

これについてはMicrosoftでチケットを開く必要があり、MSDNドキュメントにバグが見つかりました。

複数選択ルックアップを取得するために、 SPFieldCollection.AddFieldAsXmlに渡したXMLでルックアップフィールドCAMLの「Mult」属性を「true」に設定していました。ただし、APIはエラーをスローせず、UIで機能しているように見えますが、これはOffice2007および2010ドキュメントとそれらのSharePoint統合の機能と衝突します。

複数選択ルックアップフィールドを追加するための公式のサポートされている方法は、フィールドCAMLでLookupMultiフィールドタイプを使用することです。これを実行し、「Mult」属性を「true」に設定すると、探していた結果が得られます。

「Mult」のMSDNドキュメントは、SP 2007ドキュメント用にまだ更新されておらず、完全に間違っているため、無視しても問題ありません。

于 2010-05-28T01:49:37.073 に答える