none
CAML Query Dinâmica com SPServices RRS feed

  • Pergunta

  • Olá!

    Estou desenvolvendo uma aplicação web utilizando o SPservices para interação com as listas do Sharepoint.

    Minha dúvida é em como criar uma Caml Query dinâmica utilizando as condições And e Or.

    A condição abaixo me atende, funciona perfeitamente

    //Variáveis para motagem da Query
    var consultaInicio  = "<Query><OrderBy><FieldRef Name='ID' Ascending='TRUE'/></OrderBy><Where>";
    var consultaFim     = "</Where></Query>";  
    var consultaFiltros = "";  
    var consultaAnd     = "";
    
    //Registros com ID maior ou igual ao parametro
    consultaFiltros += "<Geq><FieldRef Name='ID' /><Value Type='Number'>" + min_id + "</Value></Geq>"; 
    
    //Registros com ID menor ou igual ao parametro
    consultaAnd     += "<And>";
    consultaFiltros += "<Leq><FieldRef Name='ID' /><Value Type='Number'>" + max_id + "</Value></Leq></And>"; 
    
    //Somente registros com GAP
    consultaAnd     += "<And>";
    consultaFiltros += "<Eq><FieldRef Name='NIVEL_REAL' /><Value Type='Text'>5</Value></Eq></And>";
    
    consultaAnd     += "<And>";
    consultaFiltros += "<Eq><FieldRef Name='PILAR' /><Value Type='Text'>" + pilar + "</Value></Eq></And>"; 
    
    consultaAnd     += "<And>";
    consultaFiltros += "<Eq><FieldRef Name='COMPETENCIA_x003a_ID' /><Value Type='Text'>" + arr_competencia_temp[0] + "</Value></Eq>"; 
    
    //Monta a query de public_consulta
    public_consulta = consultaInicio + consultaAnd + consultaFiltros + consultaFim;

    O problema é em acrescentar a esta Caml Query uma condição de Or para a FieldRef "COMPETENCIA_X003a_ID".

    No filtro do formulário de pesquisa, o usuário pode selecionar mais de uma "COMPETENCIA".

    Poderiam me ajudar?

    Existe uma outra forma de realizar a consulta?

    quinta-feira, 12 de julho de 2018 15:44

Todas as Respostas

  • Olá,

    Existem programas como o CamlDesigner2013 que podem te ajudar.

    Sugiro utilizar de programas como este para simular as Queries.

    Tendo feito isto, lhe ajudará com a criação do algoritmo para criação dinâmica da query.

    No teu caso eu iria testando as query no camlDesigner a fim de entender a estrutura. Após ver como funciona a estrutura da query, ficará fácil fazer o algoritmo para o sistema.

    Abs


    [Este fórum já foi muito bom, saudades.]


    • Editado TI DEV segunda-feira, 16 de julho de 2018 21:31
    segunda-feira, 16 de julho de 2018 19:01