Gestão de pedidos
Como criar um SQL condicional em uma regra de notificações de pedidos?
PEDIDOS.FAQ-94424
A Regras notificações de pedidos permite informar um Condição (SQL) com o objetivo de ter mais um filtro para definir se a regra será acionada.
O SQL pode ser feito da maneira que for necessário. Caso queira utilizar informações sobre o pedido que disparou a regra, pode-se utilizar a macro ${pedido_id}.
Se o SQL retornar algum registro, a regra disparará (caso os outros filtros também atenderem os requisitos para a regra for executada).
É possível utilizar o retorno do SQL condicional. Porém só será utilizado a primeira coluna do primeiro registro que o SQL retornar. Para utilizar este retorno, utiliza-se a macro ${texto_sql}.
Exemplo 1
Apresentar a lista de produtos que foram informados no pedido de venda:
SQL condicional:
select '<table style="border-collapse:collapse;border:1px solid #000"><tr><th style="border:1px solid #000">Seq</th><th style="border:1px solid #000">Produto</th><th style="border:1px solid #000">Descrição</th></tr>'
||array_to_string(array_agg('<tr><td style="border:1px solid #000">'||itpe.sequencia||'</td><td style="border:1px solid #000">'||prod.produto||'</td><td style="border:1px solid #000">'||prod.descricao||'</td></tr>'),' ')||'<table>'
from itens_pedidos itpe
join produtos prod on prod.id = itpe.produto_id
join pedidos ped on ped.id = itpe.pedido_id
where ped.id = ${pedido_id}
Resultado:
Seq | Produto | Descrição |
---|
3 | 2646 | ABACAXI TROP FRUTAS EM CALDA RODELAS LT 400G |
2 | 9249 | ABACAXI CAIANO HAWAIANO |
1 | 45667 | BATATA CONG. CRISPA 2,5KG |
Lembrando que este exemplo só funcionará se na mensagem for em HTML.