Office 2007ドキュメント用にメタデータを保存/保存しないルックアップサイト列?

StackOverflow https://stackoverflow.com/questions/2722099

質問

私はいくつかのサーバー環境でこの問題を抱えています。

サイトコレクションルートにリストがあります。そのリストのタイトルフィールドにマルチ値の検索として作成されたサイト列があります。このサイト列は、必要なフィールドとしてサブサイトのドキュメントライブラリで使用されます。 Office 2007ドキュメント以外の何かをアップロードすると、ユーザーにはドキュメントメタデータフィルイン画面(editform.aspx?モード=アップロード)が表示されます。 )、およびクリック「チェックイン」 - 見た目のフィールドの値が記入された状態で、ドキュメントが予想どおりにチェックインされます。

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

それは私にとってSharePointのバグのような匂いがします - しかし、私がMicrosoftに電話する前に、誰かがこれを見て、それを回避しましたか?

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

CMS/Publishing/8ztg/Medium/Got List Item Version, but item was null
役に立ちましたか?

解決

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

マルチセレクトルックアップを取得するために、ルックアップフィールドCAMLの「マルチ」属性をXMLの「True」に設定していました。 spfieldCollection.AddfieldAsxml. 。ただし、APIはエラーを投げかけず、UIで機能しているように見えますが、これはOffice 2007&2010ドキュメントとそのSharePoint統合の仕組みと衝突します。

マルチセレクトルックアップフィールドを追加する公式のサポートされている方法は、lookupmultiフィールドタイプを使用することです。 フィールドカム. 。これを行い、「mult」属性を「真」に設定すると、私が探していた結果が得られます。

MSDNドキュメント 「Mult」は、SP 2007ドキュメントのためにまだ更新されておらず、完全に間違っているため無視することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top