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á.