Pular para conteúdo

Ordenação cronológica das notas de venda

Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-07-06

Problema

A listagem de vendas (notas) precisa ser ordenada cronologicamente em ordem descendente (mais recente primeiro). Hoje:

  • itens.dt_est (ou dt_ext) é do tipo DATE — não há hora/minuto/segundo. Várias notas no mesmo dia não têm ordem definida.
  • num_nf_num (número da NF extraído da chave) é contador por empresa, não global. Usar esse campo para ordenar não reflete a ordem cronológica real entre notas de empresas diferentes nem mesmo dentro da mesma empresa de forma confiável.

Ou seja: não existe hoje nenhum campo nas tabelas de negócio (notacompl, itens) que forneça ordem cronológica real.


Campo novo em notacompl

Adicionar em notacompl:

  • created_at TIMESTAMPTZ — preenchido na criação do registro (insert).
  • updated_at TIMESTAMPTZ (opcional) — preenchido em toda atualização do registro (update).

Assim toda nota (vinda de PNOTAI, PowerSync ou outro fluxo) tem um instante associado e a ordenação pode ser:

ORDER BY n.created_at DESC   -- ou COALESCE(n.updated_at, n.created_at) DESC