Como impedir a alteração da numeração da Nota Fiscal sem perder a facilidade do Ctrl+C

Em projetos de sustentação e melhorias no Protheus, muitas vezes encontramos situações que parecem pequenas, mas que podem gerar grandes dores de cabeça no dia a dia da operação.

Recentemente nos deparamos com um cenário interessante em um cliente. Durante o processo de faturamento, os usuários precisavam consultar a numeração da Nota Fiscal antes da confirmação do documento. Para isso, era comum posicionar o cursor sobre o campo da numeração, pressionar Enter, selecionar o conteúdo e utilizar o famoso Ctrl+C para copiar o número.

O processo funcionava bem e fazia parte da rotina da equipe. O problema surgiu quando, sem perceber, uma usuária acabou pressionando algumas teclas após selecionar o campo e alterou a numeração da Nota Fiscal que seria utilizada no faturamento.

Apesar de parecer algo simples, uma alteração indevida na numeração pode causar inconsistências operacionais, retrabalho e até dificuldades futuras em auditorias e rastreabilidade de documentos.

O desafio

A primeira alternativa que normalmente vem à mente seria simplesmente bloquear o acesso ao campo. Porém, isso criaria outro problema.

Os usuários deixariam de conseguir copiar rapidamente a numeração da Nota, algo que fazia parte do fluxo operacional e ajudava na produtividade do time.

Ou seja, precisávamos encontrar uma solução que permitisse:

  • Visualizar normalmente a numeração da Nota;
  • Selecionar o conteúdo do campo;
  • Utilizar Ctrl+C para copiar a informação;
  • Impedir que alterações fossem efetivamente realizadas.

A solução encontrada

Para resolver o problema utilizamos o ponto de entrada NFSVLNUM, responsável por validar a alteração da numeração da Nota Fiscal.

Com essa abordagem, o usuário continua conseguindo acessar o campo normalmente para consultar e copiar o conteúdo, porém qualquer tentativa de alteração é bloqueada pela validação.

Além disso, uma mensagem orientativa é apresentada informando que a numeração não pode ser modificada e orientando o usuário sobre como proceder caso tenha alterado o conteúdo sem querer.

A grande vantagem dessa abordagem é que ela preserva a experiência do usuário e elimina o risco operacional sem necessidade de mudanças drásticas de permissão ou restrições de acesso.

Código-fonte

Abaixo está o código utilizado na implementação:

//Bibliotecas
#Include "TOTVS.ch"
 
/*/{Protheus.doc} NFSVLNUM
Ponto de Entrada que valida se a numeração da NF pode ser alterada
@type user function
@author Atilio
@since 04/02/2026
@version version
@see https://tdn.totvs.com/pages/releaseview.action?pageId=6784437
@obs Foi criado o p.e. ao invés de desativar o acesso de número "50" no configurador
    Pois dessa forma, a usuária consegue selecionar e dar Ctrl+C no número
/*/
 
User Function NFSVLNUM()
    Local aArea    := FWGetArea()
    Local lPodeAlt := .F.
 
    //Exibe mensagem
    ExibeHelp("NFSVLNUM Help", ;
        "Numeração da NF não pode ser alterada!" ,;
        "Se já foi alterado, pressione -ESC- para desfazer ou contate o Administrador";
    )
 
    //Se for usuário Admin, poderá alterar, foi deixado comentado
    /*
    If FWIsAdmin()
        lPodeAlt := .F.
    EndIf
    */
 
    FWRestArea(aArea)
Return lPodeAlt

Considerações finais

Esse é um ótimo exemplo de como pequenas customizações podem aumentar significativamente a segurança operacional do Protheus sem impactar a rotina dos usuários.

Muitas vezes a melhor solução não é simplesmente bloquear uma funcionalidade, mas sim encontrar uma forma de proteger o processo mantendo a produtividade da equipe.

Se você possui situações semelhantes no seu ambiente Protheus, onde determinados campos precisam ser protegidos sem prejudicar a operação, vale a pena analisar os pontos de entrada disponíveis antes de recorrer a alterações mais invasivas.

Em muitos casos, uma simples validação pode evitar erros, retrabalho e problemas futuros.

Index

Categorias

Sobre o Autor

Foto do Autor
Fábio Hayama

Apaixonado por gestão, tecnologia e inovação, Fábio Hayama possui mais de 15 anos de experiência no universo do ERP Protheus, estratégia empresarial e automação de processos.

Leia mais sobre o Fábio

Entre em contato conosco

Veja mais artigos relacionados

{{brizy_dc_image_alt entityId=
Como impedir a alteração da numeração da Nota Fiscal sem perder a facilidade do Ctrl+C
Em projetos de sustentação e melhorias no Protheus, muitas vezes encontramos situações que parecem pequenas, mas que podem gerar grandes dores de cabeça no dia a dia da operação. Recentemente nos deparamos com um cenário interessante em um cliente. Durante o processo de faturamento, os usuários precisavam consultar a numeração da Nota Fiscal antes da […]
{{brizy_dc_image_alt entityId=
3 coisas que já automatizamos com IA + Protheus na prática
Empresas passam anos investindo em ERP, implantando processos, organizando áreas e treinando equipes. Mesmo assim, em muitos casos, a operação continua dependendo de planilhas paralelas, validações manuais, retrabalho e pessoas apagando incêndio o dia inteiro. E é justamente aí que entra um ponto que muita empresa ainda não percebeu: a inteligência artificial não veio para […]
{{brizy_dc_image_alt entityId=
Guia de Sobrevivência Para Quem Está Começando no Protheus
Entrar no universo do ERP da TOTVS pode parecer simples olhando de fora. Afinal, o mercado fala o tempo todo sobre oportunidades, falta de profissionais e crescimento da área. Mas quem já tentou começar no ecossistema Protheus sabe que a realidade é um pouco diferente. No começo, surgem várias dúvidas ao mesmo tempo. “Por onde […]
{{brizy_dc_image_alt entityId=
n8n, IA e Protheus: dá para automatizar muita coisa sem projetos gigantes
O problema nunca foi o Protheus. Foi a forma como muita empresa tentou automatizar Durante muitos anos, falar sobre automação dentro do ERP significava praticamente a mesma coisa: projeto longo, documentação infinível, customizações enormes, integração complicada, custo alto e meses esperando alguma entrega começar a gerar valor. Muita empresa ficou traumatizada com esse modelo. E […]