DefineAbrUsu
Esta função pode ser utilizada para definir as abrangências de usuários.
Importante
- A função defineAbrUsu funciona em conjunto com a função gravaNoBancoAbrUsu. Caso não seja efetuada a gravação, a definição será descartada.
- A função defineAbrUsu não aplica suas alterações na abrangência já carregada pela aplicação, para isso deve ser utilizada a função carregaAbrUsu.
Sintaxe: DefineAbrUsu(Alfa aCodMod, Numero aTipoAbr, Numero aCodUsu, Numero aIDPerfil, Numero aCodCon, Alfa aCampo, Alfa aValAbr);
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
aCodMod | Alfa | Código do módulo cujas abrangências deseja-se definir. Se o parâmetro aTipoAbr for diferente de "1", este parâmetro deve sempre receber o valor "RH". Os códigos dos módulos podem ser obtidos consultando através do CBDS os valores da enumeração "LModAbr". |
aTipoAbr | Numérico | Tipo de Abrangência. |
aCodUsu | Numérico | Código do usuário ou grupo. |
aIDPerfil | Numérico | Código do Perfil. O código zero referencia o perfil padrão, que deve ser utilizado quando o recurso de abrangência por perfil não estiver ativado. |
aCodCon | Numérico | Condição para ser setada a abrangência: - 0(zero) - se não existem condições cadastradas, adicionará uma nova e aplicará a abrangência sobre esta nova condição. Se existem, apenas aplicará as abrangências sobre estas condições sem adicionar uma nova condição; - CodCon não poderá exceder 3, e se for informada uma condição inexistente, sua antecessora será utilizada. |
aCampo | Alfa | Campo que receberá a abrangência. |
aValAbr | Alfa | Valor da abrangência. |
- Para o Tipo de Abrangência "5 - Lançamentos para Folha", a função sempre altera a primeira condição da abrangência, ignorando as demais condições. Neste caso, não é necessário utilizar três condições para determinar a abrangência, sendo utilizada apenas uma condição, montando uma só cláusula e atingindo o mesmo resultado;
- Ao utilizar esta função para definir a abrangência de Situações para Acerto, não é possível informar qual situação irá receber a abrangência.
- Quando deseja-se trabalhar com mais de um Tipo de abrangência (segundo parâmetro, por exemplo, com os valores 1 e 3), existem duas abordagens possíveis:
- Separar os tipos e gravá-los individualmente, utilizando a função GravaNoBancoAbrUsu(): deve-se informar um Tipo de Abrangência, gravá-lo e, em seguida, informar o outro Tipo de Abrangência desejado e gravá-lo também.Exemplo:
DefineAbrUsu ( "RH", 1, CodUsu, 0, 1, "NumEmp", ValAbr);
DefineAbrUsu("RH", 1, CodUsu, 0, 1, "TipCol", "1");
DefineAbrUsu("RH", 1, CodUsu, 0, 1, "NumCad", ValAbr);
GravaNoBancoAbrUsu ( "N" ) ;
DefineAbrUsu("RH", 3, CodUsu, 0, 1, "NumEmp", ValAbr);
DefineAbrUsu("RH", 3, CodUsu, 0, 1, "NumEmp", "1");
DefineAbrUsu("RH", 3, CodUsu, 0, 1, "NumCad", ValAbr);
GravaNoBancoAbrUsu ( "N" ) ;
- Informar os valores de forma decrescente e gravar apenas uma vez: nesse caso, pode-se informar todos os tipos de abrangência desejados em ordem decrescente e gravá-los em uma única operação.Exemplo:
DefineAbrUsu ( "RH", 3, CodUsu, 0, 1, "NumEmp", ValAbr);
DefineAbrUsu("RH", 3, CodUsu, 0, 1, "TipCol", "1");
DefineAbrUsu("RH", 3, CodUsu, 0, 1, "NumCad", ValAbr);
DefineAbrUsu("RH", 1, CodUsu, 0, 1, "NumEmp", ValAbr);
DefineAbrUsu("RH", 1, CodUsu, 0, 1, "NumEmp", "1");
DefineAbrUsu("RH", 1, CodUsu, 0, 1, "NumCad", ValAbr);
GravaNoBancoAbrUsu ( "N" ) ;
- Separar os tipos e gravá-los individualmente, utilizando a função GravaNoBancoAbrUsu(): deve-se informar um Tipo de Abrangência, gravá-lo e, em seguida, informar o outro Tipo de Abrangência desejado e gravá-lo também.
Tipo de Retorno: Retornará 1 se a definição for efetuada com sucesso. Caso contrário, retornará 0.
Exemplo:
@ Define para o usuário ativo uma
abrangência de valor 2 para o campo NumCad @
DefineAbrUsu("RH", 1, CodUsu, 0, 1, "NumCad", "2");
Utilização: Em todas as regras.