Identificador de Regra
VEN-135LCLOR01
Módulo: VEN - Vendas.
Finalidade:Permite ao cliente configurar a posição do campo Forma de Pagamento (CODFPG) na cláusula ORDER BY da query de seleção de pré-faturas na rotina de agrupamento da tela F135APF. Quando ativo e a variável VenNOrdFpg retornar os valores 1 ou 2, o campo CODFPG passa a ser considerado como critério de quebra do agrupamento, gerando pré-faturas separadas para cada forma de pagamento distinta.
Características:Comportamento sem o IR: a rotina agrupa pré-faturas sem distinção de Forma de Pagamento, mantendo o comportamento histórico do produto. O IR é necessário para ativar o critério de quebra por forma de pagamento.
O ORDER BY determina quais registros permanecem adjacentes na sequência de processamento. Registros com os mesmos valores de quebra somente são agrupados quando permanecem consecutivos no resultado da query, independentemente da quantidade de registros idênticos existentes na tabela. Um registro diferente no meio da sequência “quebra” o grupo.
Tela: Agrupamento de Pré-Faturas (F135APF)
Transação: Não se aplica
Exemplo de Regra:
Definir Numero VenNOrdFpg; VenNOrdFpg = 1; |
Variáveis Disponibilizadas:
| Nome | Tipo | Observações | Retorna Valor |
|---|---|---|---|
| VenNOrdFpg | NÚMERO | Define a posição de CODFPG no ORDER BY. Valores aceitos: 1 (insere após NOVCPG) ou 2 (insere após TEMPAR). Qualquer outro valor gera erro de execução. | S |
Funcionamento sem Retorno a variável VenNOrdFpg
O campo CODFPG não é inserido no bloco de ordenação, respeitando o filtro já existente no sistema.
ORDER BY CODFIL, CODCLI, CODREP, NOVCPG, CODMAR, PERDS1 até 4, PEROF1, PEROF2, SEQENT, SEQCOB, DATAGE, TEMPAR |
Funcionamento com VenNOrdFpg = 1 (CODFPG — posição após NOVCPG)
O campo CODFPG é inserido logo após NOVCPG na cláusula ORDER BY. Dentro do mesmo cliente/representante/condição de pagamento, todas as pré-faturas com a mesma Forma de Pagamento ficam adjacentes antes de avançar para os demais critérios (marca, descontos, data etc.)
ORDER BY CODFIL, CODCLI, CODREP, NOVCPG, CODFPG, CODMAR, PERDS1 até 4, PEROF1, PEROF2, SEQENT, SEQCOB, DATAGE, TEMPAR |
Indicado quando: a Forma de Pagamento representa o principal critério de agrupamento e deve ser processada como um bloco coeso antes dos demais campos.
Funcionamento com VenNOrdFpg = 2 (CODFPG — posição após TEMPAR):
O campo CODFPG é inserido ao final do ORDER BY, como desempate final. A ordem dos registros é praticamente idêntica ao comportamento original — a Forma de Pagamento só diferencia registros que são iguais em todos os demais critérios.
ORDER BY CODFIL, CODCLI, CODREP, NOVCPG, CODMAR, PERDS1 até 4, PEROF1, PEROF2, SEQENT, SEQCOB, DATAGE, TEMPAR, CODFPG |
Indicado quando: o cliente quer preservar ao máximo o comportamento histórico de agrupamento (por data, marca, descontos) e usar a Forma de Pagamento apenas como separador complementar.
Exemplo prático — impacto de CODFPG no agrupamento
Três pré-faturas do mesmo cliente, mesma condição, mesma data e mesmos descontos, diferenciando-se apenas pela Forma de Pagamento:
| Pré-fat | NOVCPG | CODFPG | DATAGE |
|---|---|---|---|
| PF-1 | 001 | 01 | 14/05 |
| PF-2 | 001 | 05 | 14/05 |
| PF-3 | 001 | 01 | 14/05 |
Sem o IR ativo (comportamento original): O banco pode retornar PF-1, PF-2 e PF-3 em qualquer ordem. Sem quebra por CODFPG, todos os registros são agrupados em uma única pré-fatura com a Forma de Pagamento da primeira linha.
Com IR ativo (VenNOrdFpg = 1 ou 2): O ORDER BY garante que registros com o mesmo CODFPG permaneçam adjacentes: PF-1, PF-3 e PF-2.
A quebra por CODFPG separa corretamente:
- Grupo A: PF-1 + PF-3 (Forma 01)
- Grupo B: PF-2 (Forma 05)
Resultado: 2 pré-faturas, cada uma com a Forma de Pagamento original preservada.
Quando a posição importa — exemplo com DATAGE variando
Quando as pré-faturas possuem campos com valores distintos entre si (como DATAGE ou CODMAR), a posição de CODFPG no ORDER BY define qual critério possui prioridade na ordenação, determinando quais pré-faturas são processadas consecutivamente e, consequentemente, quais podem ser agrupadas.
| Pré-fat | NOVCPG | CODFPG | DATAGE |
|---|---|---|---|
| PF-1 | 001 | 01 | 14/05 |
| PF-2 | 001 | 05 | 14/05 |
| PF-3 | 001 | 01 | 14/05 |
Sem o IR ativo (comportamento original): O banco pode retornar PF-1, PF-2 e PF-3 em qualquer ordem. Sem quebra por CODFPG, todos os registros são agrupados em uma única pré-fatura com a Forma de Pagamento da primeira linha.
Com IR ativo (VenNOrdFpg = 1 ou 2): O ORDER BY garante que registros com o mesmo CODFPG permaneçam adjacentes: PF-1, PF-3 e PF-2.
A quebra por CODFPG separa corretamente:
- Grupo A: PF-1 + PF-3 (Forma 01)
- Grupo B: PF-2 (Forma 05)
Resultado: 2 pré-faturas, cada uma com a Forma de Pagamento original preservada.
Quando a posição importa — exemplo com DATAGE variando
Quando as pré-faturas possuem campos com valores distintos entre si (como DATAGE ou CODMAR), a posição de CODFPG no ORDER BY define qual critério possui prioridade na ordenação, determinando quais pré-faturas são processadas consecutivamente e, consequentemente, quais podem ser agrupadas.
| Pré-fat | CODFPG | DATAGE |
|---|---|---|
| PF-1 | 01 | 14/05 |
| PF-2 | 05 | 14/05 |
| PF-3 | 01 | 15/05 |
| PF-4 | 05 | 15/05 |
VenNOrdFpg = 1 — pré-faturas ordenadas primeiro por Forma de Pagamento e depois por Data
Sequência:
- PF-1 (01, 14/05)
- PF-3 (01, 15/05)
- PF-2 (05, 14/05)
- PF-4 (05, 15/05)
As pré-faturas com Forma de Pagamento 01 (PF-1 e PF-3) são processadas juntas antes das pré-faturas com Forma de Pagamento 05 (PF-2 e PF-4).
Grupos gerados na sequência:
- Pré-Fatura 1
- Pré-Fatura 3
- Pré-Fatura 2
- Pré-Fatura 4
Quebra por Data dentro de cada Forma de Pagamento.
VenNOrdFpg = 2 — pré-faturas ordenadas primeiro por Data e depois por Forma de Pagamento
Sequência:
- PF-1 (14/05, 01)
- PF-2 (14/05, 05)
- PF-3 (15/05, 01)
- PF-4 (15/05, 05)
As pré-faturas do dia 14/05 (PF-1 e PF-2) são processadas juntas antes das pré-faturas do dia 15/05 (PF-3 e PF-4).
Grupos gerados na sequência:
- Pré-Fatura 1
- Pré-Fatura 2
- Pré-Fatura 3
- Pré-Fatura 4
Quebra por Forma de Pagamento dentro de cada Data.
Ambas as opções geram 4 pré-faturas agrupadas distintas. A diferença está no critério que define a sequência de agrupamento durante o processamento, e não na quantidade final de documentos gerados.
English
Español
English
Español


