function createDataset(fields, constraints, sortFields) { var dataset = DatasetBuilder.newDataset(); dataset.addColumn("codigo"); dataset.addColumn("descricao"); dataset.addColumn("tipo"); dataset.addColumn("medida"); dataset.addColumn("armazem"); dataset.addColumn("icms"); dataset.addColumn("ipi"); dataset.addColumn("contrato"); dataset.addColumn("localizacao"); dataset.addColumn("rastro"); dataset.addColumn("bloqueado"); dataset.addColumn("ultimo_preco"); try { var clientService = fluigAPI.getAuthorizeClientService(); var data = { companyId: "1", serviceCode: "Postprod", endpoint: "/uf_mata010/", method: "get", timeoutService: "60000", params: {} }; var vo = clientService.invoke(JSON.stringify(data)); var retorno = vo.getResult(); if (retorno) { var objData = JSON.parse(retorno); var itens = objData["produtos"]; if (itens && itens.length > 0) { for (var i = 0; i < itens.length; i++) { var item = itens[i]; // aplica filtro: var codigo = (item["B1_COD"] || "").trim(); var bloqueado = (item["B1_MSBLQL"] || "").trim(); // só adiciona se o código NÃO tiver 5 dígitos OU se bloqueado != "1" if (codigo.length !== 5 && bloqueado !== "1") { dataset.addRow([ codigo, item["B1_DESC"], item["B1_TIPO"], item["B1_UM"], item["B1_LOCPAD"], item["B1_PICM"], item["B1_IPI"], item["B1_CONTRAT"], item["B1_LOCALIZ"], item["B1_RASTRO"], bloqueado, item["B1_UPRC"] ]); } } } else { dataset.addRow(["Sem produtos retornados"]); } } else { dataset.addRow(["Sem resposta da API"]); } } catch (e) { dataset = DatasetBuilder.newDataset(); dataset.addColumn("ERRO"); dataset.addRow([e.message]); } return dataset; }