2026-03-01 17:27:48 -03:00

78 lines
2.4 KiB
JavaScript

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