Causa
É sim possível usar modelos de autorização no nível da linha?
É sim possível fazer uma query para modelo de autorização usando informações de cabeçalho e linha?
Solução
Nível da linha
Nessa query não quero que seja permitido a efetivação de documentos que contenham alguma linha onde o desconto é maior que 20%
SELECT CASE WHEN $[$38.15.NUMBER] > 20 THEN 'TRUE' ELSE 'FALSE' END
Nível de cabeçalho
Nessa query não quero que seja permitido a efetivação de documentos que desconto maior que 20%
SELECT CASE WHEN $[$24.0.NUMBER] > 20 THEN 'TRUE' ELSE 'FALSE' END
Nível de linha e cabeçalho
Nessa query não quero que seja permitido a efetivação de documentos que contenham alguma linha onde o desconto é maior que 20% para o parceiro C00001
SELECT CASE WHEN $[$38.15.NUMBER] > 20 AND $[$4.0.0] = 'C00001' THEN 'TRUE' ELSE 'FALSE' END
Não é possível agrupar valores das linhas nas queries de modelos de autorização e/ou consultas formatadas.
A query será executada uma vez para cada linha, e se alguma delas retornar ‘TRUE’, o procedimento será iniciado. Devido a essa execução linha a linha, não é possível a execução da funcionalidade como SUM(valor), por exemplo.
Obs.: Com alguns testes, pude notar também que a sintaxe $[TABELA.CAMPO] não funciona corretamente em modelos de autorização no nível da linha, nesse cenários que mencionei, deve sempre usar a sintaxe $[$ITEM.COL]