DataSet retorna undefined

Boa tarde, estou criando um dataset de comunicação REST com o Protheus,porém a mesma não retorna os dados. Chamei o serviço configurado e pela plataforma o serviço retorna certinho os dados. No Dataset feito, eu não consigo este retorno, segue o código abaixo:

var dsName = "ds_wsgetcc";

var _log = "## ds_wsgetcc ## ";

var objColumn = [ { NAME: "CodCC", TYPE: "", KEY: true, VAL_REF: "CodCC" }, { NAME: "DescriCC", TYPE: "", KEY: false, VAL_REF: "DescriCC" } ];

function defineStructure() {

var key = [];

objColumn.forEach(function (row) { var type = undefined;

if (row.TYPE == "NUMBER") { type = DatasetFieldType.NUMBER; } else if (row.TYPE == "STRING") { type = DatasetFieldType.STRING; }

if (row.KEY) { key.push(row.NAME); } addColumn(row.NAME, type); });

if (key.length > 0) { setKey(key); }

}

function onSync(lastSyncDate) {

var ds_wsgetcc = DatasetBuilder.newDataset();

try {

ds_wsgetcc = clearDataset(ds_wsgetcc);

var clientService = fluigAPI.getAuthorizeClientService();

var compID = getValue("WKCompany");

var data = { companyId: compID + '', serviceCode: 'WSGETCC', endpoint: 'http://IP:PORTA/rest/fluig/api/wsgetcc/v1/consultaCC', method: 'GET', timeoutService: '1000' };

var response = clientService.invoke(JSON.stringify(data));

log.info(_log + " - Response: " + response); log.info(_log + " - getResult: " + response.getResult()); log.info(_log + " - typeof response.getResult(): "); log.info(typeof response.getResult());

var oRetorno = null; var row = new Array();

try { oRetorno = JSON.parse(response.getResult()); console.log(_log + " objeto Centro de Custo: " + JSON.stringify(oRetorno)); } catch (error) { oRetorno = response.getResult(); console.log(_log + " retorno erro Centro de Custo: " + oRetorno); }

if (oRetorno['CodCC']) {

row.push(oRetorno['CodCC']); row.push(oRetorno['DescriCC']);

ds_wsgetcc.addRow(row);

} else if (oRetorno["code"]) { row.push("400"); row.push(oRetorno["code"] + " - " + oRetorno["message"]);

ds_wsgetcc.addRow(row); } else { row.push("404"); row.push(oRetorno);

ds_wsgetcc.addRow(row); }

log.info(_log + " finalizou o ds_wsgetcc"); return ds_wsgetcc;

} catch (error) { var row = new Array(); row.push("400"); row.push("Ocorreu uma falha ao gerar os dados: " + error);

ds_wsgetcc.addRow(row);

console.log(_log + "Ocorreu uma falha ao gerar os dados: " + error);

console.log(_log + " finalizou o dataset"); return ds_wsgetcc; } }

function createDataset(fields, constraints, sortFields) {

}

function onMobileSync(user) {

}

function clearDataset(ds_wsgetcc) {

var dsOld = DatasetFactory.getDataset(dsName, null, null, null);

if (dsOld != null && dsOld.rowsCount > 0) {

for (var i = 0; i < dsOld.rowsCount; i++) { var array = new Array();

objColumn.forEach(function (row) { var ref = row.NAME; var value = dsOld.getValue(i, ref);

array.push(value); }); ds_wsgetcc.deleteRow(array); }

}

return ds_wsgetcc; }

Captura de tela 2024-09-30 165347.png

Captura de tela 2024-09-30 165713.png

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 webservice ou faça a sua própria pergunta.