No artigo de hoje vamos demonstrar em como impedir que o usuário altere a numeração da Nota, mas mesmo assim seja possível ele dar ctrl+c nela.
Recentemente em um cliente, pegamos uma necessidade, onde na telinha que abre para escolher a série da Nota, os usuários apertavam o -enter- no número da nota, para copiar dando um ctrl+c e em seguida prosseguiam normalmente.
Sem querer, a usuária após dar ctrl+c, apertou algumas teclas do teclado e afetou a numeração da Nota.
Pensando nisso, o cliente nos solicitou a criação de alguma tratativa para bloquear a efetivação da alteração do campo, mas que mesmo assim fosse possível o usuário apertar -enter- e conseguir copiar o conteúdo.
A solução para isso foi usar o ponto de entrada NFSVLNUM, que é ao tentar dar um -enter- no campo de numeração da nota.
Abaixo o código fonte:
//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
Bom pessoal, por hoje é só.
Abraços e até a próxima.