Impedir que o usuário altere a numeração da Nota via AdvPL e TLPP

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.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação