Constraint em dataset com dados externos

Bom dia a todos! Tenho um DS customizado, em que trago dados através de uma consulta SQL. Vi em outros tópicos, que para DS Customizado deve-se utilizar constraints para filtra-los, porém vi as implementações somente com dados fixos. No meu caso que monto o DS através de um select no banco, como devo preparar esse DS para receber as constraints ?

function createDataset(fields, constraints, sortFields) {
    var dataset = DatasetBuilder.newDataset();
    var result = "";

    //Cria as colunas
    dataset.addColumn("CODCFO");
    dataset.addColumn("NOME");
    dataset.addColumn("CGCCFO");

    log.info("depois de add coluna"); 

  //consumo servico ws
       var wsrmlibpag = ServiceManager.getService("wsteste");
       var serviceHelper = wsrmlibpag.getBean();
       var serviceLocator = serviceHelper.instantiate("br.com.totvs.ServiceWSECMLocator");
       var service = serviceLocator.getServiceWSECMSoap();

       try { 

      result = service.selecionaCfo("SELECT CODCFO, NOME = REPLACE(NOME,'&','E'), CGCCFO FROM FCFO WHERE ATIVO = 1");

       } catch(erro) { 
           log.info("erro do TRY"); 
          log.error(erro);
       }

       if (result == ""){
           log.info("result esta em branco");
             throw "Falha na conexão com serviço RM";
       }else{
           log.info("entrei dentro do else para popular o dataset");

           var NewDataSet = new XML(result);
                   for (var index in NewDataSet.Table) {
                        var element = NewDataSet.Table[index];
                        dataset.addRow(new Array(element.ElementName.toString(), element.ElementName2.toString(), element.ElementName3.toString()));
                   }
       }

       log.info("antes do return");
       return dataset;
}

Outra dúvida é quanto a passagem da constraint via campo de formulário. Nesse caso, eu pegar o valor de um campo zoom de coligada por exemplo e ele trazer somente os fornecedores da coligada selecionada. Como é feita essa passagem da constraint para esse Dataset ?

Agradeço desde já.

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags datasets webservice zoom ou faça a sua própria pergunta.