3.5 KiB
3.5 KiB
🔧 CORREÇÃO: Data de Vencimento para Vendas "A Prazo"
❌ Problema
Quando criava uma venda "a prazo" com data de vencimento 07/11/2025, o sistema mostrava a data de hoje (18/10/2025) na coluna Vencimento.
✅ Solução Implementada
1. Banco de Dados - Adicionar Coluna
A tabela vendas precisa ter a coluna data_vencimento. Execute este SQL no Supabase:
-- Adicionar coluna data_vencimento na tabela vendas
ALTER TABLE vendas
ADD COLUMN IF NOT EXISTS data_vencimento DATE;
-- Comentário da coluna
COMMENT ON COLUMN vendas.data_vencimento IS 'Data de vencimento para vendas a prazo';
Como executar:
- Acesse o Supabase Dashboard
- Vá em SQL Editor
- Cole o código acima
- Clique em Run
2. Código Atualizado
Frontend (/client/src/pages/Vendas.js):
- ✅ Adicionado campo
data_vencimentono estado inicial - ✅ Campo de data separado para vendas "a prazo"
- ✅ Exibição correta na tabela (mostra data_vencimento em vez de data_venda)
- ✅ Badge alterado para "⏳ A Prazo" em vez de "✅ Pago"
Backend (/server-supabase.js):
- ✅ Recebe campo
data_vencimentodo frontend - ✅ Salva no banco apenas quando
tipo_pagamento === 'prazo' - ✅ Validação incluída
🎯 Como Funciona Agora
Criar Venda "A Prazo":
- Acesse Vendas → Nova Venda
- Selecione tipo de pagamento: "A Prazo"
- Aparece campo: "Data de Vencimento"
- Selecione a data desejada (ex: 07/11/2025)
- Adicione produtos e finalize
Resultado na Tabela:
| ID Venda | Data | Cliente | Produtos | Parcela/Pagamento | Valor | Vencimento | Status |
|---|---|---|---|---|---|---|---|
| VD... | 18/10/2025 | Tiago | Produto X | A Prazo | R$ 65,24 | 07/11/2025 | ⏳ A Prazo |
📊 Diferenças por Tipo de Pagamento
À Vista:
- Vencimento: Mostra data da venda
- Status: ✅ Pago (verde)
- Campo: Não pede data de vencimento
Parcelado:
- Vencimento: Mostra data de cada parcela individual
- Status: Varia por parcela (Pendente/Pago)
- Campo: Data do 1º vencimento
A Prazo:
- Vencimento: Mostra
data_vencimentoespecífica - Status: ⏳ A Prazo (amarelo)
- Campo: Data de vencimento única
🧪 Para Testar
-
Execute o SQL no Supabase (passo 1 acima)
-
Reinicie o servidor (já feito automaticamente)
-
Crie uma venda "A Prazo":
- Tipo: A Prazo
- Data de Vencimento: 07/11/2025
- Produto: Qualquer
- Valor: R$ 65,24
-
Verifique a tabela:
- Coluna "Vencimento" deve mostrar: 07/11/2025 ✅
- Status deve mostrar: ⏳ A Prazo ✅
⚠️ IMPORTANTE
Execute o SQL no Supabase antes de testar!
Sem a coluna data_vencimento na tabela, o sistema não conseguirá salvar a data.
📁 Arquivos Modificados
Frontend:
/client/src/pages/Vendas.js- Linha 163: Adicionado
data_vencimentoao estado - Linhas 1482-1493: Campo específico para tipo "prazo"
- Linhas 1321-1329: Exibição correta na tabela
- Linha 163: Adicionado
Backend:
/server-supabase.js- Linha 1614: Recebe
data_vencimentodo frontend - Linha 1657: Salva no banco quando tipo = "prazo"
- Linha 1614: Recebe
SQL:
/sql/add-data-vencimento-vendas.sql(NOVO)- Script para adicionar coluna ao banco
✅ Status
- ✅ Frontend atualizado e build gerado
- ✅ Backend atualizado
- ✅ Servidor reiniciado
- ⏳ Aguardando: Executar SQL no Supabase
Após executar o SQL, o sistema estará 100% funcional!