Pergunta

Em SP2007 / MOSS I necessidade de executar uma consulta CAML contra uma única lista assim:

<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>

O resultado prático disso seria que eu tenho um SPListItemCollection dos itens para os quais tive a URLs.

No entanto, estou ficando um ou mais tipos de campo de um erro' não são instalados corretamente. Ir para a página da lista de configurações para excluir esses campos. '

Todos os itens na lista são do mesmo tipo de conteúdo. O erro relevante apenas nos shows registros SP a mesma mensagem.

A resposta não resolveu este problema específico, mas que acabam sendo correta (ou de ter que ser aninhados). O problema foi que o meu campo Valor tipo deveria ter sido fileref.

Foi útil?

Solução

Este erro é quase sempre porque sua consulta CAML é incorreta. Você já tentou formatá-lo como este:

<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>

Eu tenho certeza que você só pode ter dois componentes em um OR ou AND ramo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top