Criar constraints

Bom dia!

Criei um dataset para que traga as informações do filho e preciso criar as contraints para que possa busca-los depois, porém não esta funcionando:

function createDataset(fields, constraints, sortFields) {

    var regiao;
    var estado;
    var cs;

    //criar constraints
    if(constraints != null){
        for (var i = 0; i < constraints.length; i++) {
            if (constraints[i].fieldName == "regiao") { 
                regiao = constraints[i].initialValue; 
            }else if (constraints[i].fieldName == "estado") { 
                estado = constraints[i].initialValue; 
            }else if (constraints[i].fieldName == "cs") { 
                cs = constraints[i].initialValue; 
            }
        }    
    }

    //Cria as colunas
    var dataset = DatasetBuilder.newDataset();
    dataset.addColumn("id");
    dataset.addColumn("regiao");
    dataset.addColumn("estado");
    dataset.addColumn("codigo");
    dataset.addColumn("cs");
    dataset.addColumn("representante");
    dataset.addColumn("ddd");
    dataset.addColumn("fone");
    dataset.addColumn("codcelular");
    dataset.addColumn("celular");
    dataset.addColumn("codempresa");
    dataset.addColumn("empresa");
    dataset.addColumn("codfax");
    dataset.addColumn("fax");
    dataset.addColumn("contato");
    dataset.addColumn("email");

    //Cria a constraint para buscar os formulários ativos
    var constraints = new Array();
    constraints.push(DatasetFactory.createConstraint("metadata#active", true, true, ConstraintType.MUST));

    var datasetPrincipal = DatasetFactory.getDataset("DS_TelefonesRepresentantes", null, constraints, null);

    for (var i = 0; i < datasetPrincipal.rowsCount; i++) {
        var documentId      = datasetPrincipal.getValue(i, "metadata#id");
        var documentVersion = datasetPrincipal.getValue(i, "metadata#version");
        var regiao             = datasetPrincipal.getValue(i, "DS_Regiao");
        var estado             = datasetPrincipal.getValue(i, "estado");
        var codigo             = datasetPrincipal.getValue(i, "codigo");
        var cs                 = datasetPrincipal.getValue(i, "cs");
        var representante    = datasetPrincipal.getValue(i, "representante");

        //Cria as constraints para buscar os campos filhos, passando o tablename, número da formulário e versão
        var constraintsFilhos = new Array();
        constraintsFilhos.push(DatasetFactory.createConstraint("tablename", "contatos" ,"contatos", ConstraintType.MUST));
        constraintsFilhos.push(DatasetFactory.createConstraint("metadata#id", documentId, documentId, ConstraintType.MUST));
        constraintsFilhos.push(DatasetFactory.createConstraint("metadata#version", documentVersion, documentVersion, ConstraintType.MUST));

        //Busca o dataset
        var datasetFilhos = DatasetFactory.getDataset("DS_TelefonesRepresentantes", null, constraintsFilhos, null);

        for (var j = 0; j < datasetFilhos.rowsCount; j++) {
            //Adiciona os valores nas colunas respectivamente.
            dataset.addRow(new Array(
                    documentId,
                    regiao,
                    estado,
                    codigo,
                    cs,
                    representante,
                    datasetFilhos.getValue(j, "ddd"),
                    datasetFilhos.getValue(j, "fone"), 
                    datasetFilhos.getValue(j, "codCelular"),
                    datasetFilhos.getValue(j, "celular"),
                    datasetFilhos.getValue(j, "codEmpresa"),
                    datasetFilhos.getValue(j, "celEmpresa"),
                    datasetFilhos.getValue(j, "codFax"),
                    datasetFilhos.getValue(j, "fax"),
                    datasetFilhos.getValue(j, "contato"),
                    datasetFilhos.getValue(j, "email")
            ));
        }
    }

    return dataset;
}
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 dataset fluig constraint ou faça a sua própria pergunta.