Files
App-Estoque-LiberiKids/DESPESAS-CAMPOS-LIVRES.md
2025-10-14 14:04:17 -03:00

82 lines
2.5 KiB
Markdown

# 📝 Configuração de Campos Livres para Despesas
## 🎯 Objetivo
Permitir que os campos "Tipo de Despesa" e "Fornecedor" sejam campos de texto livre, onde você pode digitar qualquer nome sem precisar cadastrar previamente.
## 🔧 Passo a Passo
### 1. Adicionar Colunas no Supabase Dashboard
Acesse o **Supabase Dashboard****Table Editor****despesas** e adicione as seguintes colunas:
#### Coluna: `tipo_nome`
- **Nome:** `tipo_nome`
- **Tipo:** `text`
- **Nullable:** ✅ Sim
- **Default:** (vazio)
#### Coluna: `fornecedor_nome`
- **Nome:** `fornecedor_nome`
- **Tipo:** `text`
- **Nullable:** ✅ Sim
- **Default:** (vazio)
### 2. SQL Alternativo (se preferir)
Se preferir executar via SQL Editor no Supabase:
```sql
-- Adicionar colunas de texto livre
ALTER TABLE despesas ADD COLUMN IF NOT EXISTS tipo_nome TEXT;
ALTER TABLE despesas ADD COLUMN IF NOT EXISTS fornecedor_nome TEXT;
-- Migrar dados existentes (opcional)
UPDATE despesas
SET tipo_nome = (
SELECT nome FROM tipos_despesas
WHERE tipos_despesas.id = despesas.tipo_despesa_id
)
WHERE tipo_despesa_id IS NOT NULL AND tipo_nome IS NULL;
UPDATE despesas
SET fornecedor_nome = (
SELECT razao_social FROM fornecedores
WHERE fornecedores.id = despesas.fornecedor_id
)
WHERE fornecedor_id IS NOT NULL AND fornecedor_nome IS NULL;
-- Criar índices para performance
CREATE INDEX IF NOT EXISTS idx_despesas_tipo_nome ON despesas(tipo_nome);
CREATE INDEX IF NOT EXISTS idx_despesas_fornecedor_nome ON despesas(fornecedor_nome);
```
## ✅ Verificação
Após adicionar as colunas, teste criando uma nova despesa:
1. Vá para **Despesas****Nova Despesa**
2. Digite qualquer nome no campo **Tipo de Despesa** (ex: "Manutenção do Ar")
3. Digite qualquer nome no campo **Fornecedor** (ex: "João Técnico")
4. Preencha os outros campos e salve
## 🎉 Resultado
Agora você pode:
- ✅ Digitar qualquer tipo de despesa sem cadastrar previamente
- ✅ Digitar qualquer fornecedor sem cadastrar previamente
- ✅ Ter total liberdade nos nomes
- ✅ Continuar usando a interface normalmente
## 🔄 Status da Implementação
-**Frontend:** Campos alterados para input de texto livre
-**Backend:** APIs atualizadas para aceitar texto livre
-**Banco:** Aguardando adição das colunas (manual)
## 📞 Suporte
Após adicionar as colunas, o sistema funcionará automaticamente. Se houver algum problema, verifique se:
1. As colunas foram criadas corretamente
2. O servidor foi reiniciado
3. Não há erros no console do navegador