Liberações
O módulo de Liberações é o canal formal de pedido de autorização — quando uma operação precisa de aprovação por alguém com permissão específica (gerente, supervisor, etc), ela é cadastrada como uma "liberação" e fica aguardando até que alguém com a permissão necessária aprove.
O fluxo em alto nível
O que aparece na tela
Cards organizados em grid (1 coluna mobile, 2 tablet, 3 desktop). Cada card mostra:
- ID da solicitação
- Código de venda associado
- Status (badge colorida): Pendente, Aprovado, Reprovado, Cancelado
- Cliente, vendedor, plano de pagamento
- Desconto, total, tipo de título
- Data e motivo da solicitação
Filtros
No topo da tela, badges contadoras permitem filtrar por status:
- Pendentes — aguardando aprovação
- Aprovados — já liberados
- Reprovados — negados
- Todos — visão geral
Não há busca por texto — o volume é normalmente pequeno e o filtro por status já organiza bem.
Ações disponíveis
Criar nova solicitação
Botão Novo (canto superior direito) abre modal vazio com os campos:
- Código de venda (obrigatório)
- Data (data + hora)
- Motivo (texto livre — explica por que precisa de aprovação)
- Status (geralmente "Pendente" ao criar)
Ao salvar, vira um card na listagem com status Pendente.
Editar uma solicitação
Botão lápis no card abre modal com campos editáveis. Útil para corrigir motivo ou ajustar dados antes da aprovação. Durante a edição, aparece também o botão Excluir com confirmação.
Aprovar (ação reservada)
O botão Liberar aparece apenas em cards com status Pendente, e somente para usuários que têm permissão para o tipo de liberação específico daquela solicitação.
Ao clicar:
- Abre modal listando os itens dentro da solicitação
- Cada item tem seu próprio status (Pendente / Aprovado)
- Quem tem permissão aprova item por item, individualmente
- Itens já aprovados aparecem com badge "Aprovado" e sem botão (não pode reaprovar)
Quando todos os itens forem aprovados, a solicitação como um todo passa para Aprovado.
Status possíveis
| Status | Cor | Significado |
|---|---|---|
| Pendente | Amarelo | Aguardando aprovação |
| Aprovado | Verde | Liberada — venda pode prosseguir |
| Reprovado | Vermelho | Negada — venda não pode prosseguir |
| Cancelado | Neutro | Não vai mais ser processada |
Permissões (quem pode aprovar o quê)
Cada usuário tem uma lista de tipos de liberação que pode aprovar (cadastrada na tabela de permissões do usuário). Exemplo:
- João (gerente comercial) pode aprovar "Desconto especial" e "Prazo estendido"
- Maria (admin financeiro) pode aprovar "Crédito sem análise"
Se o vendedor pede uma liberação de tipo X mas ninguém com permissão X estiver online, o item fica pendente até alguém com a permissão entrar.
Vendedor que não tem permissão vê o card mas não vê o botão Liberar.
Triagem rápida — suporte
| Sintoma | Causa provável | Ação |
|---|---|---|
| "Não vejo o botão Liberar" | Usuário sem permissão pro tipo dessa liberação | Confirmar permissões em "Tipo de Liberação" cadastradas pro usuário |
| "Aprovei mas o status segue Pendente" | Solicitação tem múltiplos itens; só um foi aprovado | Aprovar os demais itens individualmente |
| "Solicitação aprovada não permite editar" | Comportamento intencional — aprovado é final | Cancelar e criar nova se precisar mudar |
| "Não consigo excluir liberação" | Botão excluir só aparece dentro do modal de edição | Clicar no lápis primeiro, depois excluir |
| "Não aparece a venda referente" | Código de venda na liberação não bate com pedido existente | Conferir se o pedido foi salvo e o código está correto |
Para o time técnico
- Tabelas envolvidas:
MOB_LIBERACAO_SOLICITACAO(cabeçalho) +MOB_SOLICITACAO_LIBERACAO_ITEM(itens individuais). - Permissões em
MOB_USUARIO_TIPO_LIBERACAO— uma linha por (usuário, tipo). - Status armazenado como inteiro: 0=Pendente, 1=Aprovado, 2=Reprovado, 3=Cancelado.
- Campo
MOB_INFOna solicitação carrega JSON serializado com snapshot dos dados (cliente, vendedor, totais).