itens de consulta CAML com as URLs fornecidas
-
03-07-2019 - |
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.
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.