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 é:
- Usar o p.e. MS520VLD
- Se o usuário estiver contido no parâmetro vai permitir prosseguir
- 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.