Domanda

In SP2007 / MOSS ho bisogno di eseguire una query CAML su un singolo elenco in questo modo:

<Where>
    <Or>
        <Eq>
            <FieldRef Name='URL' />
            <Value Type='URL'>/path/item1.aspx</Value>
        </Eq>
        <Eq>
            <FieldRef Name='URL' />
            <Value Type='URL'>/path/item4.aspx</Value>
        </Eq>
        <Eq>
            <FieldRef Name='URL' />
            <Value Type='URL'>/path/item7.aspx</Value>
        </Eq>
    </Or>
</Where>

Il risultato pratico di questo sarebbe che ho un SPListItemCollection degli articoli per i quali avevo gli URL.

Tuttavia, visualizzo un errore 'Uno o più tipi di campo non sono installati correttamente. Vai alla pagina delle impostazioni dell'elenco per eliminare questi campi. "

Tutti gli elementi nell'elenco sono dello stesso tipo di contenuto. L'unico errore rilevante nei registri SP mostra lo stesso messaggio.

La risposta non ha risolto questo problema specifico, ma alla fine è stata corretta (oppure è necessario annidare). Il problema era che il mio campo Tipo valore avrebbe dovuto essere FileRef.

È stato utile?

Soluzione

Questo errore è quasi sempre dovuto al fatto che la tua query CAML non è corretta. Hai provato a formattarlo in questo modo:

<Where>
    <Or>
        <Eq>
            <FieldRef Name='URL' />
            <Value Type='URL'>/path/item1.aspx</Value>
        </Eq>
        <Or>
            <Eq>
                <FieldRef Name='URL' />
                <Value Type='URL'>/path/item4.aspx</Value>
            </Eq>
            <Eq>
                <FieldRef Name='URL' />
                <Value Type='URL'>/path/item7.aspx</Value>
            </Eq>
        </Or>
    </Or>
</Where>

Sono abbastanza sicuro che puoi avere solo due componenti in un ramo Or o And.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top