Lookup colonna del sito non risparmiando / metadati archiviazione per i documenti di Office 2007?

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/2530

  •  16-10-2019
  •  | 
  •  

Domanda

Sto avendo questo problema in vari ambienti server.

Abbiamo una lista alla radice della raccolta siti. C'è una colonna sito creato come una ricerca multi-valore sul campo Titolo di quella lista. Questa colonna sito è utilizzato nelle raccolte documenti in siti secondari come un campo obbligatorio. Quando carichiamo tutto tranne che un documento di Office 2007, l'utente è presentato con metadati del documento fill-in dello schermo (EditForm.aspx? Mode = Upload), i riempimenti utente nei dati appropriati (tra cui la scelta di un valore di (s) per questo ricerca ), e clic "check-in" -. il documento viene archiviato come previsto, con il valore del campo di ricerca compilato

Con un documento di Office 2007, questo viene a mancare. I valori selezionati dall'utente per il campo di ricerca non sempre rendono al server - nessun errore sono gettati, ma il campo non viene salvato con il documento. Abbiamo un listener di eventi nelle librerie di documenti, e se controlliamo la SPListItem in entrata sul metodo listener di eventi prima di una singola linea del nostro codice è stato eseguito, si vede che il valore per il campo di ricerca è nullo.

C'è odore di un insetto di SharePoint per me? -, ma prima di andare chiamare Microsoft, qualcuno ha visto questo e ha lavorato intorno ad esso

Modifica l'unica voce che vedo nei registri SP tracce relative al problema:

CMS/Publishing/8ztg/Medium/Got List Item Version, but item was null
È stato utile?

Soluzione

Wound per dover aprire un ticket con Microsoft per questo, e ha trovato un bug nella documentazione MSDN per l'avvio.

Al fine di ottenere una ricerca multiselect, ci era stato impostando l'attributo "Mult" nel nostro campo di ricerca CAML su "true" nella XML siamo passati a SPFieldCollection.AddFieldAsXml . Tuttavia, anche se l'API getterà nessun errore e sembra funzionare nell'interfaccia utente, questo si scontra con quanto Office 2007 e 2010 documenti e le loro opere di integrazione di SharePoint.

Il modo ufficiale supportato per aggiungere un campo di ricerca multiselect è quello di utilizzare il tipo di campo LookupMulti nel campo CAML . In questo modo, e impostando l'attributo "Mult" a "true" dà il risultato che cercavo.

Il MSDN documentazione per "Mult "non è ancora stato aggiornato per la documentazione SP 2007 e può tranquillamente essere ignorata in quanto è completamente sbagliato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top