1
Solicitação de compras
Solicitação de compra - Ginseng
Este flow permite abertura de solicitação de compras automatizadas, informando qual item será comprado e direcionado para as aprovações corretas.
true
false
Default
Compras - Testes
Grupo
<AssignmentController><Group>TIC</Group></AssignmentController>
0
0
0
Default
false
1
true
false
0
0
true
1
Solicitação de compra - Ginseng
2
2296
true
false
false
true
false
false
0
2
false
false
true
1
Solicitação de compras
1
1
Solicitar compra
Solicitar compra
Inicio da atividade
0
false
0
1
true
false
false
0
0
0
0
false
0
true
true
false
100
83
0
0
false
false
0
0
false
0
10
0
false
0
0
0
0
false
1
Solicitação de compras
1
4
Analisar necessidade de compra
Analisar necessidade de compra
172800
false
0
1
false
false
false
0
0
0
0
false
0
true
true
false
490
220
0
0
false
false
0
0
false
0
80
0
false
0
0
0
0
false
0
1
Solicitação de compras
1
6
Enviar para Cotação
Enviar para Cotação
172800
false
0
1
false
false
false
0
0
0
0
false
0
true
true
false
490
410
0
0
false
false
0
0
false
0
80
0
false
0
0
0
0
false
0
1
Solicitação de compras
1
18
Receber e validar o produto/serviço
Receber e validar o produto/serviço
604800
false
0
Executor Atividade
<AssignmentController><BaseActivity>1</BaseActivity><Returns>Last</Returns></AssignmentController>
1
false
false
false
0
0
0
0
false
0
true
true
false
1230
60
0
0
false
false
0
0
false
0
80
0
false
0
0
0
0
false
0
1
Solicitação de compras
1
24
Verificar problema
Verificar problema
172800
false
0
Pool Grupo
<AssignmentController><Group>ComprasIndiretos</Group></AssignmentController>
1
false
false
false
0
0
0
0
false
0
true
true
false
1440
400
0
0
false
false
0
0
false
0
80
0
false
0
0
0
0
false
0
1
Solicitação de compras
1
31
Enviar pedido para Fornecedor
Enviar pedido para Fornecedor
172800
false
0
Pool Grupo
<AssignmentController><Group>ComprasIndiretos</Group></AssignmentController>
1
false
false
false
0
0
0
0
false
0
true
true
false
1070
400
0
0
false
false
0
0
false
0
80
0
false
0
0
0
0
false
0
1
Solicitação de compras
1
57
Enviar para Análise do gestor
Enviar para Análise do gestor
172800
true
100
Pool Grupo
<AssignmentController><Group>TIC</Group></AssignmentController>
1
false
true
false
3600
3600
0
0
false
0
true
false
false
750
220
0
0
false
false
0
0
false
0
80
0
false
0
0
0
0
false
0
1
Solicitação de compras
1
70
Realizar Pedido
Realizar Pedido
0
false
0
1
false
false
false
0
0
0
0
false
0
true
false
false
980
595
0
0
false
false
0
0
false
0
82
0
false
0
0
0
0
false
1
1
Solicitação de compras
1
73
Tratar erro
Tratar erro
0
false
0
Pool Grupo
<AssignmentController><Group>TIC</Group></AssignmentController>
1
false
true
false
3600
3600
0
0
false
0
true
false
false
1350
620
0
0
false
false
0
0
false
0
80
0
false
0
0
0
0
false
0
1
Solicitação de compras
1
72
Intermediário
Intermediário
Evento intermediário do processo
0
false
0
0
false
true
false
1
1
0
0
false
0
true
false
false
1056
645
0
0
false
false
0
false
0
43
0
false
0
false
70
1
Solicitação de compras
1
2
Validar CC
Validar CC
false
false
false
0
true
250
47
false
1
120
0
0
false
1
Solicitação de compras
1
46
Validar compra
Validar compra
false
false
false
0
true
1460
60
false
1
120
0
0
false
1
Solicitação de compras
1
62
Validar Valor
Validar Valor
false
false
false
0
true
690
390
false
1
120
0
0
false
1
Solicitação de compras
1
39
Cancelado
Cancelado
Atividade final do processo
0
false
0
0
false
true
false
0
1
0
0
false
0
false
true
false
700
250
0
0
false
false
0
0
false
6
65
0
false
0
false
1
Solicitação de compras
1
52
Fim
Fim
Atividade final do processo
0
false
0
0
false
true
false
0
1
0
0
false
0
false
false
false
1660
90
0
0
false
false
0
0
false
6
60
0
false
0
false
1
Solicitação de compras
1
55
Cancelado
Cancelado
Atividade final do processo
0
false
0
0
false
true
false
0
1
0
0
false
0
false
true
false
680
490
0
0
false
false
0
0
false
6
65
0
false
0
false
1
Solicitação de compras
1
60
Fim com cancelamento de processo
Fim com cancelamento de processo
Atividade final do processo
0
false
0
0
false
true
false
0
1
0
0
false
0
false
false
false
950
180
0
0
false
false
0
0
false
6
65
0
false
0
false
1
Solicitação de compras
1
2
2
true
4
<AssignmentController><FormField>gestor_cc</FormField></AssignmentController>
Campo Formulário
0
1
Solicitação de compras
1
2
46
hAPI.getCardValue("validacaoItens") == "entregue"
52
0
1
Solicitação de compras
2
2
46
true
24
0
1
Solicitação de compras
1
2
62
hAPI.getCardValue("valorTotalsemformat") >= 0.00 && hAPI.getCardValue("valorTotalsemformat") <= 5000.00
57
<AssignmentController><User>andrey.cunha</User></AssignmentController>
Usuário
0
1
Solicitação de compras
1
3
false
1
2
false
false
0
1
Solicitação de compras
1
5
Aprovação do Gestor
false
2
4
CC identificado
false
false
0
1
Solicitação de compras
1
26
false
24
18
false
false
0
1
Solicitação de compras
1
41
Aprovar
false
4
6
Aprovar
false
false
0
1
Solicitação de compras
1
47
false
18
46
false
false
0
1
Solicitação de compras
1
48
false
46
24
Reprovar
false
false
0
1
Solicitação de compras
1
53
Reprovar
false
4
39
Reprovar
false
false
0
1
Solicitação de compras
1
56
false
6
55
Reprovar
false
false
0
1
Solicitação de compras
1
58
Enviar para alçada de aprovação
false
6
62
Aprovar
false
false
0
1
Solicitação de compras
1
61
false
57
60
Cancelar
false
false
0
1
Solicitação de compras
1
63
false
62
57
Alçada gestor
false
false
0
1
Solicitação de compras
1
74
false
72
73
false
false
0
1
Solicitação de compras
1
75
false
73
70
false
false
0
1
Solicitação de compras
1
78
false
46
52
false
false
0
1
Solicitação de compras
1
79
false
57
70
false
false
0
1
Solicitação de compras
1
80
false
70
31
false
false
0
1
Solicitação de compras
1
81
false
31
18
false
false
0
1
servicetask70
Solicitação de compras
1
function servicetask70(attempt, message) {
log.info("🚀 Iniciando servicetask70");
var fornecedores = {};
var qtdItens = hAPI.getChildrenIndexes("tabelaItens");
log.info("📦 Total de itens na tabela: " + qtdItens.length);
for (var i = 0; i < qtdItens.length; i++) {
var index = qtdItens[i];
log.info("🔄 Processando item índice: " + index);
var fornecedor = String(hAPI.getCardValue("fornecedorIndica___" + index)).trim();
if (!fornecedor) {
log.warn("⚠️ Item ignorado: fornecedor vazio no índice [" + index + "]");
continue; // Pula para o próximo item
}
var item = {
"produto": String(hAPI.getCardValue("itemCompraIndica___"+index)).trim(),
"qtdVen": Number(hAPI.getCardValue("quantidadeIndica___"+ index)),
"preco": Number(hAPI.getCardValue("precoIndica___" +index))
};
log.info("📌 Item coletado para fornecedor [" + fornecedor + "]: " + JSON.stringify(item));
// 🔍 Garante que o fornecedor tenha um array antes de adicionar itens
if (!(fornecedor in fornecedores)) {
fornecedores[fornecedor] = [];
log.info("➕ Novo fornecedor adicionado: " + fornecedor);
}
// 🔄 Adiciona o item ao fornecedor correspondente
fornecedores[fornecedor].push(item);
log.info("📌 Item adicionado ao fornecedor [" + fornecedor + "]: " + JSON.stringify(item));
}
log.dir(fornecedores);
var numBase = String(getValue("WKNumProces"));
log.info("📄 Número base do processo: " + numBase);
var contador = 0;
for (var fornecedor in fornecedores) {
var numeroPedido = numBase + (contador > 0 ? String.fromCharCode(65 + contador - 1) : "");
log.info("📝 Gerando pedido [" + numeroPedido + "] para fornecedor [" + fornecedor + "]");
var payload = {
"filial": String(hAPI.getCardValue("estabelecimento")),
"numero": numeroPedido,
"emissao": String(hAPI.getCardValue("dataAbertura")),
"fornece": fornecedor,
"loja": "01",
"contato": String(hAPI.getCardValue("userValidacaoCompras")),
"filialent": String(hAPI.getCardValue("estabelecimento")),
"tipofrete": "C",
"frete": 0,
"cond": String(hAPI.getCardValue("condPagamentoIndica___"+ index)),
"itens": fornecedores[fornecedor]
};
log.info("📦 Payload montado para envio:");
log.dir(payload);
var data1 = {
companyId: '1',
serviceCode: 'Integrador Pedido de compra',
endpoint: 'http://187.72.204.233:8089/rest/pedido/',
method: 'post',
timeoutService: '1000000',
params: payload,
headers: {
'Content-Type': 'application/json'
}
};
log.info("📡 Enviando requisição para o Protheus...");
log.dir(data1);
try {
var clientService = fluigAPI.getAuthorizeClientService();
var response = clientService.invoke(JSON.stringify(data1));
log.info("📬 Resposta da API Protheus:");
log.dir(response);
if (response && response.getResult()) {
log.info("✅ Pedido [" + numeroPedido + "] enviado com sucesso para [" + fornecedor + "]");
log.info("📬 Resposta: " + response.getResult());
} else {
log.warn("⚠️ API Protheus não retornou dados para fornecedor [" + fornecedor + "]");
}
} catch (e) {
log.error("❌ Erro ao enviar pedido [" + numeroPedido + "] para fornecedor [" + fornecedor + "]: " + e.message);
}
contador++;
}
log.info("🏁 Finalização da servicetask70");
}
FFFFFF
715
1710
11
6
Solicitação de compras
1
0
1
Solicitação de compras
1
1
82b0b7
178
1680
41
6
Solicitante
2
1
1
Solicitação de compras
1
2
d0daae
178
1680
41
362
Compras
2
1
1
Solicitação de compras
1
3
d6e0d0
178
1680
41
184
Gestor CC
2
1
1
Solicitação de compras
1
4
adc9ac
181
1680
41
540
TI
2
1
1
Solicitação de compras
1
5
1
Solicitação de compras
2
5
1
342
100
1
Solicitação de compras
2
5
2
342
266
1
Solicitação de compras
2
26
1
1283
438
1
Solicitação de compras
2
56
1
543
508
1
Solicitação de compras
2
61
1
801
197
1
Solicitação de compras
2
63
1
802
443
1
Solicitação de compras
2
79
1
948
266
1
Solicitação de compras
2
79
2
948
640
1
Solicitação de compras
2
80
1
1033
438
1
Solicitação de compras
2
81
1
1122
113
1
Solicitação de compras
1
70
0
Integração executada com sucesso
1
0
0
0
Solicitação de compras
2
4
approval
title
Solicitação de compra
0
0
Solicitação de compras
2
4
approval
highlight
Centro de Custo - Aprovar solicitação?
0
0
Solicitação de compras
2
4
approval
approve
6
0
0
Solicitação de compras
2
4
approval
reject
39
0
0
Solicitação de compras
2
6
approval
title
Solicitação de compra
0
0
Solicitação de compras
2
6
approval
description
0
0
Solicitação de compras
2
6
approval
highlight
Compras - Aprovar solicitação?
0
0
Solicitação de compras
2
6
approval
approve
0
0
Solicitação de compras
2
6
approval
reject
55