Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Descrição:

Ponto de entrada executado após a gravação da estrutura de acesso do contrato.

Eventos:

Executado após a gravação da estrutura de acesso do contrato.

Fonte do Programa:

CNTA240.PRW

Função:

CN240Grv

Parâmetros:

Posição

Tipo

Descrição

PARAMIXB[1]

Array

Dados do usuário

PARAMIXB[2]

Caractere

Número do contrato

Retorno:Não há.

ValorTipoDescrição
NuloIndefinidoNão é necessário nenhum retorno


Exemplo


Situação: Ao incluir o contrato, podemos customizar o acesso dando controle total (001) para um determinado usuário em todos os contratos incluidos.


#INCLUDE "PROTHEUS.CH"

/*/{Protheus.doc} CN240CGRV
    Ponto de entrada executado após a gravação da estrutura de acesso do contrato
@type function
@version 
@since 08/03/2024
@return Nil
/*/
User Function CN240CGRV()

    Local aArea         := GetArea()
    Local cContrato     := ParamIxb[2]
    Local cNewUser      := "001012"         // USUÁRIO QUE TERA ACESSO EM TODOS OS CONTRATOS, PODENDO COLOCAR EM UM PARAMETRO (SX6)
    Local cTpAcesso     := "001"            // ACESSO TOTAL

    CNN->(DbSetOrder(1)) //CNN_FILIAL+CNN_USRCOD+CNN_CONTRA+CNN_TRACOD                                                                                                                     
    If !CNN->(DbSeek(xFilial("CNN")+PADR(cNewUser,TamSX3("CNN_USRCOD")[1])+PADR(cContrato,TamSX3("CNN_CONTRA")[1])+PADR(cTpAcesso,TamSX3("CNN_TRACOD")[1])))

        RecLock("CNN",.T.)
            CNN->CNN_FILIAL := xFilial("CNN")
            CNN->CNN_CONTRA := cContrato
            CNN->CNN_USRCOD := cNewUser     
            CNN->CNN_TRACOD := cTpAcesso
        CNN->(MsUnlock())

    EndIf    

    RestArea(aArea)

Return Nil


Imagem 1: O contrato foi criado pelo administrador. 

Imagem 2: Ao verificar o acesso, foi criado automaticamente o acesso total ao contrato para o usuário selecionado


...