Á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:

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.

Bloco de código
languagetext
themeEclipse
firstline1
titleExemplo
linenumberstrue
#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. 

Image Modified


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

Image Modified



Informações
titleInformações

Ao incluir o contrato, verificar o campo Vl.Cont S/N (CN9_VLDCTR) se está preenchido com 1 - Sim

Para acionar esse ponto de entrada, necessário após criar o contrato, posicionar no mesmo e clicar em Outras Ações - Acessos. Nesse momento, o ponto de entrada será acionado e no exemplo acima, criara criará o acesso automaticamente para o usuário estipulado no fonte.

...

03. ASSUNTOS RELACIONADOS