Regra: Guard de Edição Não Salva

✅ Novo — jul/2026 ENTREGUE (GitLab #401 e #404, fechadas em 24/07/2026). Ao sair de um formulário com alterações pendentes, o sistema pede confirmação antes de descartar o que foi digitado. Entregue no ciclo de julho/2026; se ainda não apareceu no seu ambiente, chega na próxima atualização.

O que é

Em toda página ou modal de edição coberta pela regra, o sistema bloqueia a saída quando existem alterações pendentes (ainda não salvas). Antes de descartar qualquer dado digitado, exibe uma confirmação para o usuário decidir o que fazer. O objetivo é evitar a perda acidental de informações já preenchidas.

Nota de UX (vale para todas as telas): O sistema bloqueia saída com alterações não salvas; use os botões do formulário para salvar ou descartar.

Gatilhos que disparam a confirmação

A confirmação é acionada sempre que o usuário tenta deixar a tela de edição com mudanças pendentes, em qualquer um dos seguintes casos:

Botões da confirmação

A janela de confirmação apresenta sempre três opções:

BotãoEstiloO que faz
Continuar editandoPadrão (foco inicial)Fecha a confirmação e mantém o usuário no formulário, preservando o que foi digitado.
Sair sem salvarAtenção (warning)Descarta as alterações pendentes e sai da tela.
Salvar e sairPrimárioTenta salvar; se o salvamento for bem-sucedido, navega para o destino. Se houver erro de validação, permanece no formulário.

Cenários documentados (critério de aceitação BDD)

Os 12 cenários abaixo cobrem todos os gatilhos em diferentes telas e formam o critério de aceitação da regra.

#CenárioAção do usuárioComportamento esperado
1Editando paciente, decide abrir a AgendaClica no menu "Agenda" com campos alteradosAparece a confirmação; só navega após escolher uma opção
2Modal de autorização aberto com mudançaAperta ESCConfirmação aparece e o modal permanece aberto (não fecha)
3Formulário de orçamento alteradoPressiona F5Prompt nativo do navegador pedindo confirmação de saída
4Editando agendamento, clica em outro link de rotaClica em "Pacientes" no menu lateralModal de confirmação com os três botões antes de trocar de tela
5Atendimento em edição (prontuário)Clica no botão "voltar" do navegadorConfirmação interna do sistema; navegação cancelada se "Continuar editando"
6Modal de orçamento com item alteradoClica fora do modal / no "X"Confirmação aparece; modal permanece se "Continuar editando"
7Editando pacienteFecha a aba do navegadorPrompt nativo do navegador alertando alterações não salvas
8Autorização alterada, escolhe não perder dadosNa confirmação, clica em "Continuar editando"Volta ao formulário com todos os campos preservados
9Agendamento alterado, decide descartarNa confirmação, clica em "Sair sem salvar"Alterações descartadas e tela de destino é aberta
10Orçamento alterado, quer salvar antes de sairNa confirmação, clica em "Salvar e sair"Salva e navega; se houver erro de validação, permanece no formulário
11Editando paciente sem nenhuma alteraçãoClica em outro menuNenhuma confirmação; navega direto (nada pendente para perder)
12Modal de atendimento alteradoAperta ESC e depois "Salvar e sair"Modal continua na 1ª ação; ao confirmar salvar, fecha e navega

Telas cobertas

A entrega de julho/2026 (#401 + #404) implementa a confirmação para sair da tela com alterações pendentes. A cobertura foi planejada em duas ondas, começando pelas telas principais:

Primeira onda (5 telas principais)

Expansão (~25 telas)

Expansão da regra para os demais formulários de edição, por área (rollout progressivo):

Gravação protegida: "alterado por outra pessoa" e "parte dos dados não carregou" ✅ Novo — 02/10/2026

Complementa a confirmação acima. Em produção desde 01/10/2026 no convênio e desde 02/10/2026 no sistema todo (#640). Agora o sistema também protege contra gravar por cima do trabalho de outra pessoa e contra gravar com a tela pela metade.

MensagemO que aconteceuO que fazer
"Este registro foi alterado por outra pessoa. Recarregue a tela antes de alterar."Outra pessoa salvou o mesmo registro depois que a sua tela abriu. Nada foi gravado por cima.Recarregue a tela (F5), confira o que a outra pessoa mudou e refaça a sua alteração.
"Parte dos dados não carregou: nada foi gravado. Recarregue a tela antes de alterar."Algum bloco da tela não carregou (rede lenta, por exemplo). A tela fica só leitura e o Salvar desligado.Recarregue a tela. No convênio aparece também "A tela fica só leitura até carregar tudo." e o botão "Recarregar a tela".
"Aguarde o carregamento dos dados do convênio antes de salvar."Clicou em Salvar antes de o convênio terminar de carregar.Espere carregar e salve de novo.
"Seu usuário está desativado nesta clínica. Procure o administrador do sistema."O colaborador foi desativado; o bloqueio vale na hora, em qualquer ação (o administrador não é bloqueado).Procure o administrador.
"Este documento já foi assinado digitalmente e não pode ser alterado."O documento do atendimento já está assinado; o editor fica só leitura.Documento assinado não pode ser alterado (assinar de novo responde "Este documento já foi assinado digitalmente.").

Onde vale: convênio e suas abas, agendamento (criar, editar, cancelar, confirmar, acolher, aprovar online, pagamento parcial), atendimento (documentos com salvamento automático, produtos, taxas, equipamentos, remover serviço), autorização, financeiro (registros, parcelas, desconto, contas caixa, conciliação XML), pré-faturamento e lote, compras (NF de entrada, pedidos, cotação), estoque (produto, fornecedor, kits) e aprovações — numa aprovação, a mesma mensagem significa que outra pessoa já decidiu o pedido, e a pendência sai da sua lista.

Novo — out/2026 Desde 15–22/10, a troca automática de status da autorização não provoca mais o aviso "alterado por outra pessoa" para quem está com a tela aberta.

Ainda sem essa proteção: modelos de documento e anexos do atendimento. Pela API externa a conferência de versão é opcional (quem integra pode gravar sem enviar a versão).

Resumo para o usuário

Sempre que você estiver editando algo e tentar sair sem salvar, o sistema pergunta o que fazer. Escolha Continuar editando para voltar ao formulário, Sair sem salvar para descartar, ou Salvar e sair para gravar e seguir. Assim você não perde mais o que digitou por engano.