BusCadChefe

Esta função retorna o Tipo e Cadastro do Chefe (nas variáveis TipChe e CadChe, respectivamente) do funcionário informado nos parâmetros NumEmp, TipCol, NumCad, na data constante no parâmetro DatBas.

Sua finalidade é retornar o cadastro do chefe do funcionário informado. Considera também o turno "9 - Geral" quando a chefia não for encontrada no turno do colaborador. Somente irá encontrar o chefe se o turno informado no cadastro de chefias for "9 - Geral" ou igual ao turno do colaborador.

A princípio, a rotina faz uma verificação na tabela Exceções do Quadro de Lotação (R080EXC), de acordo com as informações do funcionário nos campos Código da Empresa (NumEmp), Tipo Colaborador (TipCol) e Código do Colaborador (NumCad). Se encontrar o registro, retornará o Tipo Colaborador (TipCol) e Código do Colaborador (NumCad) do chefe do funcionário, nas variáveis TipChe e CadChe, respectivamente (o Código da Empresa (NumEmp) será o mesmo).

Caso não exista uma exceção para este funcionário, será procurado na tabela Ficha Básica Colaborador (R034FUN) o local de trabalho de acordo com o turno de trabalho do funcionário. Através do código do local de trabalho, procura-se na tabela Registro de Subordinados (R080SUB) pelo tipo e cadastro do chefe, pelo tipo e cadastro do subchefe e pelo campo Tipo de Chefia (TpoChe), que definirá qual dos dois é o responsável pelo setor naquele período.

Encontrado o chefe responsável pelo funcionário, a função retorna nas variáveis Tipo Colaborador Chefe (TipChe) e Código do Cadastro do Chefe (CadChe) o tipo e o cadastro do chefe. Esta rotina também pode ser utilizada dentro de regras.

Variáveis definidas com a execução das funções BusCadChefe e BusCadChefeLocal:

Observações

A função BusCadChefeLocal também seta o valor para as variáveis TabChe e LocChe, porém esta é somente uma informação a mais pois a função BusCadChefeLocal não busca o chefe nos níveis anteriores. Ou seja, o local do chefe encontrado sempre será o mesmo do local passado como parâmetro para a função BusCadChefeLocal. A única diferença é que o local passado por parâmetro refere-se ao CodLoc e o local retornado na variável LocChe refere-se ao NumLoc.

A variável TurCol não terá seu valor zerado ou definido pela função BusCadChefeLocal, pois esta função busca o chefe de um local específico e não de um colaborador. Com estas variáveis, o usuário poderá verificar se o turno do colaborador e do chefe são os turnos esperados. Entre os parâmetros Nível e parâmetro LocChe existe uma relação sendo que quando for informado o valor 2 para o parâmetro LocChe, também será realizado uma busca pelo chefe nos níveis anteriores ao nível informado do local.

Por exemplo: Buscar o chefe do colaborador que está no local 1.2.3.4, passando como parâmetro Nível 3 e LocChe = 2. Neste exemplo em questão, o chefe está no local 1.2.

Conforme os parâmetros informados, primeiramente será realizada uma busca no local 1.2.3, devido ao parâmetro Nível = 3. Como o chefe não foi encontrado, será realizado a busca no local anterior (1.2), conforme o parâmetro LocChe. Neste local o chefe é encontrado e a busca é encerrada.

O parâmetro LocCol também está relacionado ao parâmetro DatBas, buscando o local do colaborador conforme a data de referência.

Sintaxe: BusCadChefe(Numero NumEmp, Numero TipCol, Numero NumCad, Numero DatBas, Numero Nivel, Alfa ExcecaoChefia, Numero End EmpChe, Numero End TipChe, Numero End CadChe, Numero LocChe, Numero LocCol, Alfa ConSub); 

Parâmetros:

Nome Tipo Descrição
NumEmp Numérico Número da empresa do funcionário.
TipCol Numérico Tipo do funcionário.
NumCad Numérico Número de cadastro do funcionário.
DatBas Numérico Data passada como parâmetro.
Nivel Numérico Nível do local do chefe.
ExcecaoChefia Alfa Informar se é para considerar a exceção de chefia, caso o colaborador possua.
EmpChe Numérico Empresa do chefe.
TipChe Numérico Tipo do chefe.
CadChe Numérico Número de cadastro do chefe.
LocChe Numérico Número que identifica a localização da chefia. 1 = Somente no nível do colaborador (padrão), 2 = Em níveis anteriores ao nível do colaborador.
LocCol Numérico Número que identifica a localização do colaborador. 1 = Local atual do colaborador (padrão), 2 = Local do colaborador conforme data de referência.
ConSub Alfa

Define se o substituto definido no cadastro da chefia deve ser considerado. Ou seja, se o valor do parâmetro ConSub for "S"e o chefe ou subchefe (definidos pelo campo Tipo Chefia da tela Chefes (FR080SUBEmpresas > Chefias > Chefes)) encontrado estiver afastado na data informada no parâmetro DatBas, a função retornará o respectivo substituto, considerando-o como chefe.

Exemplo:

xnumemp = R134DRE.NumEmp;
xtipcol = R134DRE.TipCol;
xnumcad = R134DRE.NumCad;
xdata = DatSis;

/* BUSCA CADASTRO DO CHEFE */
BusCadChefe (xnumemp, xtipcol, xnumcad, xdata, 2, "S", xRetEmpChe, xtipche, xcadche, "S");
FCadChe = xcadche;

Utilização: Todas as regras de todos os módulos do Gestão de Pessoas | HCM.

Observação: No exemplo acima o parâmetro "Nivel" está recebendo o valor 2, o que significa que a função irá procurar a chefia no local de nível 2 baseado no colaborador. E o parâmetro ExcecaoChefia está recebendo o valor "S", definindo que a busca considera a exceção.

Este artigo ajudou você?