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

2.5 KiB

📝 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 DashboardTable Editordespesas 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:

-- 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 DespesasNova 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