Adicionar validação na exclusão do documento de saída

No artigo de hoje, vamos ver como bloquear a exclusão de um documento de saída via ponto de entrada.

Recentemente em um cliente, nos perguntaram como poderíamos bloquear a exclusão de documentos de saída por usuários não autorizados.

 

A ideia então é:

  1. Usar o p.e. MS520VLD
  2. Se o usuário estiver contido no parâmetro vai permitir prosseguir
  3. Do contrário vai exibir uma mensagem bloqueando

 

Dito isso, abaixo como ficou o código fonte:

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} User Function MS520VLD
Ponto de entrada na validação da exclusão do documento de saída corrente
@type  Function
@author Atilio
@since 24/11/2023
@see https://tdn.totvs.com/display/public/PROT/MS520VLD
/*/

User Function MS520VLD()
    Local aArea      := FWGetArea()
    Local lContinua  := .T.
    Local cUsrsDel   := SuperGetMV("MV_X_USDEL", .F., "000000;")
    Local cFilDoc    := SF2->F2_FILIAL
    Local cDocumento := SF2->F2_DOC
    Local cSerie     := SF2->F2_SERIE

    //Se o usuário estiver no parâmetro que ele pode excluir a NF, permite prosseguir normalmente
    If RetCodUsr() $ cUsrsDel
        lContinua := .T.
		
	//Senão, exibe mensagem avisando que não é possível excluir
    Else
		ExibeHelp("Help_MS520VLD", "Não é possível excluir o documento (" + cFilDoc + "-" + cDocumento + "-" + cSerie + ")!", "Verifique com os responsáveis para prosseguir!")
		lContinua := .F.
    EndIf

    FWRestArea(aArea)
Return lContinua

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