function createDataset(fields, constraints, sortFields) { var dataset = DatasetBuilder.newDataset(); // Definir colunas que queremos no retorno dataset.addColumn("C1_FILIAL"); dataset.addColumn("C1_NUM"); dataset.addColumn("C1_ITEM"); dataset.addColumn("C1_PRODUTO"); dataset.addColumn("C1_DESCRI"); dataset.addColumn("C1_QUANT"); dataset.addColumn("C1_VUNIT"); dataset.addColumn("C1_TOTAL"); dataset.addColumn("C1_DATPRF"); dataset.addColumn("C1_CC"); dataset.addColumn("C1_CONTA"); dataset.addColumn("C1_SOLICIT"); dataset.addColumn("C1_EMISSAO"); dataset.addColumn("C1_COTACAO"); dataset.addColumn("C1_PEDIDO"); dataset.addColumn("C1_ITEMPED"); dataset.addColumn("STATUS"); dataset.addColumn("data_consulta"); dataset.addColumn("hora_consulta"); dataset.addColumn("sucesso"); try { // 🔎 Captura o número da SC passado como constraint var numeroSC = null; if (constraints != null) { for (var i = 0; i < constraints.length; i++) { if (constraints[i].fieldName == "numeroSCProtheus") { numeroSC = constraints[i].initialValue; } } } if (!numeroSC) { dataset.addRow(["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "Erro: número SC não informado"]); return dataset; } // ⚙️ Monta requisição para o Protheus var data = { companyId: "1", serviceCode: "Postprod", // ajuste conforme seu serviço cadastrado endpoint: "/rest/uf_mata110/" + numeroSC, method: "get", timeoutService: "10000", headers: { "Content-Type": "application/json" } }; var clientService = fluigAPI.getAuthorizeClientService(); var response = clientService.invoke(JSON.stringify(data)); if (response && response.getResult()) { var result = JSON.parse(response.getResult()); if (result.sucesso && result.solicitacoes && result.solicitacoes.length > 0) { var sc = result.solicitacoes[0]; // pega a primeira solicitação retornada // ⚠️ Trata a cotação: ignora valores default var cotacao = sc.C1_COTACAO || ""; if (cotacao == "000000" || cotacao == "000001") { cotacao = ""; } dataset.addRow([ sc.C1_FILIAL || "", sc.C1_NUM || "", sc.C1_ITEM || "", sc.C1_PRODUTO || "", sc.C1_DESCRI || "", sc.C1_QUANT || "", sc.C1_VUNIT || "", sc.C1_TOTAL || "", sc.C1_DATPRF || "", sc.C1_CC || "", sc.C1_CONTA || "", sc.C1_SOLICIT || "", sc.C1_EMISSAO || "", cotacao, sc.C1_PEDIDO || "", sc.C1_ITEMPED || "", sc.STATUS || "", result.data_consulta || "", result.hora_consulta || "", "true" ]); } else { dataset.addRow(["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "false"]); } } else { dataset.addRow(["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "false"]); } } catch (e) { dataset.addRow(["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "Erro: " + e.message]); } return dataset; }