Este conteúdo não recebe atualizações, pois é referente a uma versão do sistema que foi descontinuada. Acesse a documentação da versão 6.10.3 aqui

CarregaAbrUsu

A idéia desta função é fornecer um recurso para que seja possível aplicar, através dos parâmetros passados a ela, abrangências de usuário que serão utilizadas no sistema. A funcionalidade é a mesma das abrangências definidas no sistema, em Diversos > Usuários > Abrangências. Pode-se dizer que ela é uma extensão flexível da rotina de abrangências, que possibilita ao cliente usar outras definições (inclusive para campos de usuário).

Em tabelas que não são aplicadas abrangências, deve-se utilizar a função CarregaAbrUsuTabela.

Sintaxe: CarregaAbrUsu(Alfa aNomCam, Numero aCond, Alfa aSobrepoeAbr, Alfa aValorAbr);

Parâmetros:

Nome Tipo Descrição
aNomCam Alfanumérica Nome do campo ao qual a abrangência deve ser aplicada. Pode ser qualquer campo de qualquer tabela, inclusive campos de usuário. A única restrição é que os campos aqui informados deverão ser do tipo Inteiro ou alfa. Não será aplicada abrangência para campos do tipo data, imagem e com valores decimais.
aCond Numérica Indica em qual condição a abrangência informada deverá ser aplicada.
aSobrepoeAbr Alfanumérica Indica se a abrangência informada deverá sobrepor a abrangência que já pode estar carregada em memória. Isto é útil quando for necessário restringir somente um tipo de abrangência, descartando-se a abrangência que está atualmente cadastrada para os usuários.
aValorAbr Alfanumérica O valor que deverá ser aplicado na abrangência. Os valores informados deverão estas dispostos da mesma maneira como são cadastrados na tela de "Cadastro de Abrangências". Caso seja passado um valor ou abrangência inválida, uma mensagem de erro será retornada e a regra será cancelada. Esta função retorna 1 quando a abrangência foi carregada com sucesso para a memória e zero quando não houve a carga.

Tipo de Retorno: Esta função retorna 1 quando a abrangência foi carregada com sucesso para a memória e zero quando não houve a carga.

Exemplo: A variável e função descritas anteriormente permitem que o cliente possa aplicar nos modelos uma abrangência que é específica para uma determinada tela. No caso, estamos falando da abrangência 15 - "Locais para Consulta". Esta abrangência somente vale para a tela de gerenciamento de usuários, mas com a variável e função de programador aqui descritas, esta mesma abrangência poder ser carregada em memória para ser utilizada no gerador de relatórios.

O exemplo abaixo poderia ser utilizando no ponto de regra 146 - Antes Emitir Relatório

/* Esta regra recupera as abrangências do tipo 15 - "Locais para Consulta" e aplica estas abrangências em memória para serem utilizadas na emissão de relatórios, já que o tipo 15 de abrangência somente é valido para a tela de Gerenciamento de Horários. Desta forma, é possível carregar este tipo de abrangência para qualquer relatório, de acordo com a necessidade do cliente. */

Definir Alfa xValAbr;

/* Verifica se está sendo emitido um relatório no qual deve ser aplicada a abrangência */
se (NomModRel = "HRCL001.GER")
  inicio
    @ Busca a abrangência do tipo 15 para o usuário ativo @
    RetornaAbrUsu("RH", 15, CodUsu, 1, "NumLoc", xValAbr);
    @ Seta para a memória abrangência retornada para que possa ser utilizada no relatório @
    CarregaAbrUsu("NumLoc", 1, "N", xValAbr);
  fim;

Depois de utilizar a função de abrangência no gerador, é muito importante que a abrangência seja retornada para a condição inicial, conforme a regra abaixo, que está carregando novamente a abrangência de colaborador para a memória, descartando o que havia sido feito na regra anterior:

O exemplo abaixo poderia ser utilizando no ponto de regra 147 - Após Montar SQL Principal do Relatório

Observação

A Regra por processo 147 é executada logo após Montar SQL Principal do Relatório, portanto, se deseja que a alteração de abrangência seja considerada depois desse evento, é necessário voltar a abrangência somente no evento de Finalização do relatório.

/* Esta regra recupera as abrangências do tipo 1 - "Colaboradores" e aplica estas abrangências em memória para que sejam descartadas as abrangências aplicadas anteriormente na regra 146. */

Definir Alfa xValAbr;

/* Verifica se está sendo emitido um relatório no qual deve ser aplicada a abrangência */
se (NomModRel = "HRCL001.GER")
  inicio
    @ Busca a abrangência do tipo 1 para o usuário ativo @
    RetornaAbrUsu("RH", 1, CodUsu, 1, "NumLoc", xValAbr);
    @ Seta para a memória abrangência retornada @
    CarregaAbrUsu("NumLoc", 1, "S", xValAbr);
  fim;

Utilização: Todas as regras.

Observações:

Disponível para os módulos: Todos os módulos do Gestão de Pessoas | HCM.

Este artigo ajudou você?