Árvore de páginas

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

Produto:

Backoffice TOTVS

Linha de Produto:

Linha Protheus

Segmento:

Backoffice

Módulo:

Gestão de Contratos

Programa:

CNTA240.PRW

Ponto de entrada:

CN240CGRV

02. DETALHES

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


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

Exemplo
#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



Informaçõ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, criará o acesso automaticamente para o usuário estipulado no fonte.


03. ASSUNTOS RELACIONADOS