Frage

Ich habe dieses Problem auf mehrere Server-Umgebungen.

Wir haben eine Liste auf der Websitesammlungs Wurzel. Es ist eine Website, Spalte als Mehrwert-Lookup auf der Liste der Titelfeld erstellt. Diese Seite wird in Spalte Dokumentbibliotheken in subsites als erforderliches Feld verwendet. Wenn wir etwas hochladen, aber ein Office 2007-Dokument, wird der Benutzer mit dem Dokument-Metadaten Fill-in-Bildschirm (EditForm.aspx? Mode = Upload) dargestellt, der Benutzer füllt die entsprechenden Daten (einschließlich Wert Kommissionierung (e) für diesen Nachschlag ) und Klicks „Check-in.“ - das Dokument in wie erwartet aktiviert, mit dem Wert des Lookup-Feld ausgefüllt

Mit einem Office 2007-Dokument, versagen diese. Die Benutzer ausgewählten Werte für das Nachschlag-Feld nicht immer an den Server machen es - keine Fehler geworfen, aber das Feld ist nicht mit dem Dokument gespeichert. Wir haben einen Ereignis-Listener auf diesen Dokumentbibliotheken, und wenn wir die eingehenden SPListItem auf der Ereignis-Listener-Methode, bevor eine einzige Zeile unseres Codes überprüfen ausgeführt wird, sehen wir, dass der Wert für das Nachschlag-Feld null ist.

Es riecht wie ein Sharepoint-Bug zu mir - aber bevor ich Microsoft gehen ruft, hat jemand gesehen, diese & gearbeitet um es

Edit: der einzige Eintrag ich in den SP-Trace-Protokolle sehen das Problem im Zusammenhang:

CMS/Publishing/8ztg/Medium/Got List Item Version, but item was null
War es hilfreich?

Lösung

Wund zu müssen für diesen einen ein Ticket mit Microsoft öffnen und fand einen Fehler in der MSDN-Dokumentation zu booten.

Um eine Mehrfachauswahl Nachschlag zu bekommen, die wir in der XML hatten die „Mult“ -Attribut in unserem Nachschlag-Feld CAML auf „true“ setzen wir bestehen auf SPFieldCollection.AddFieldAsXml . Doch obwohl die API keine Fehler werfen und zur Arbeit in der Benutzeroberfläche erscheinen, diese Auseinandersetzungen mit, wie Office 2007 und 2010-Dokumente und ihre Sharepoint-Integration funktioniert.

Der offizielle unterstützte Weg, um ein Mehrfachauswahl Nachschlag-Feld hinzuzufügen, ist den LookupMulti Feldtyp in dem Feld CAML . Dadurch und das „Mult“ Attribut auf „true“ -Einstellung das Ergebnis gibt, denn ich war auf der Suche.

Die MSDN-Dokumentation für „Mult "hat nach wie vor für die SP 2007-Dokumentation nicht aktualisiert und kann ignoriert werden, da es völlig falsch ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top