82 lines
2.5 KiB
Markdown
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
|