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