function createDataset(fields, constraints, sortFields) {
//Cria as colunas
var dataset = DatasetBuilder.newDataset();
dataset.addColumn("NumFormulario");
dataset.addColumn("tipo_documento");
dataset.addColumn("grupo_documento");
dataset.addColumn("deletado");
//Cria a constraint para buscar os formulários ativos
var cst = DatasetFactory.createConstraint("metadata#active", true, true, ConstraintType.MUST);
var constraints_ = new Array(cst);
var datasetPrincipal = DatasetFactory.getDataset("DSde-para-tipo-documento", 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");
//Cria as constraints para buscar os campos filhos, passando o tablename, número da formulário e versão
var c1 = DatasetFactory.createConstraint("tablename", "ingre", "ingre", ConstraintType.MUST);
var c2 = DatasetFactory.createConstraint("metadata#id", documentId, documentId, ConstraintType.MUST);
var c3 = DatasetFactory.createConstraint("metadata#version", documentVersion, documentVersion, ConstraintType.MUST);
var c4 = DatasetFactory.createConstraint("deletado", "true", "true", ConstraintType.MUST_NOT);
//var c4 = DatasetFactory.createConstraint("grupo_documento", "nota_fical", "nota_fical", ConstraintType.MUST);
var constraintsFilhos = new Array(c1, c2, c3, c4);
//Busca o dataset
var datasetFilhos = DatasetFactory.getDataset("DSde-para-tipo-documento", null, constraintsFilhos, null);
for (var j = 0; j < datasetFilhos.rowsCount; j++) {
//Adiciona os valores nas colunas respectivamente.
dataset.addRow(new Array(
documentId,
datasetFilhos.getValue(j, "tipo_documento"),
datasetFilhos.getValue(j, "grupo_documento"),
datasetFilhos.getValue(j, "deletado")));
}
}
return dataset;
}