BuscaJornada

Função para retornar o horário base do colaborador em uma determinada data.

Sintaxe: BuscaJornada(Numero aNumEmp, Numero aTipCol, Numero aNumCad, Numero aDatHor);

Conceitos:

Caso 1 - Empresa não utiliza escala horária: o horário base será o correspondente ao cadastrado na ficha básica do colaborador, independente da data informada.

Caso 2 - Empresa utiliza escala horária e o colaborador utiliza escala Permanente ou Busca Automática: a rotina verificará qual dos horários cadastrados na escala corresponde ao dia informado (os horários cadastrados iniciam na data informada na turma e se repetem no decorrer do tempo).

São percorridos os horários sequencialmente até encontrar o horário de DSR; o próximo horário válido (código menor que 9990) é considerado como horário base.

Em escalas que não existe DSR ou que a ocorrência não seja no domingo, a rotina irá buscar o horário do primeiro sábado a partir da data do histórico da escala.

Caso 3 - Empresa utiliza escala horária e o colaborador utiliza escala Definida: verifica qual horário cadastrado na escala do colaborador corresponde exatamente ao dia passado como parâmetro na função. Caso seja passado como parâmetro um dia sem horários cadastrados (quando a competência não estiver cadastrada), é considerado o último horário cadastrado.

Os horários são percorridos sequencialmente até encontrar um DSR, o próximo horário válido (código menor que 9990) é considerado como horário base.

Parâmetros:

aNumEmp    Variável numérica com o número da empresa;

aTipCol        Variável numérica com o tipo do colaborador;

aNumCad    Variável numérica com o cadastro (código) do colaborador;

aDatHor    Variável numérica com a data que se deseja saber o horário base do funcionário.

Retorno:

Carrega as seguintes variáveis do sistema, que podem ser utilizadas no gerador de relatórios:

HorEnt[1..4] Retorno dos horários de Entrada;
HorSai[1..4] Retorno dos horários de Saída;
EntSab[1..4] Retorno dos horários de Entrada de Sábado;
SaiSab[1..4] Retorno dos horários de Saída de Sábado.

Exemplo1:

Empresa utiliza escala horária e o colaborador tem os seguintes horários cadastrados na escala Definida:

Data Código Horário
01/01/2000 1 8h às 12h e das 13h30 às 18h
02/01/2000 2 9h às 12h e das 13h30 às 19h
03/01/2000 3 DSR
04/01/2000 4 10h às 12h e das 13h30 às 20h

Na regra abaixo, a função irá retornar o horário 4 (HorEnt[1] = 10:00, HorSai[1] = 12:00, HorEnt[2] = 13:30, HorSai[2] = 20:00).

Definir data vDatBas;
MontaData(1,1,2000,vDatBas);
BusHorBase (R034Fun.NumEmp, R034Fun.TipCol, R034Fun.NumCad, vDatBas);

Exemplo 2:

Empresa utiliza escala horária e o colaborador tem os seguintes horários cadastrados na escala Permanente:

Semana Código Horário
Seg 1 8h às 12h e das 13h30 às 18h
Ter 2 9h às 12h e das 13h30 às 19h
Qua 3 DSR

Data da Turma: 03/01/2000

Na regra abaixo a data 8/1/2000 corresponde ao código 3 – DSR, a função irá retornar o próximo horário válido que é o 1 (HorEnt[1] = 8:00, HorSai[1] = 12:00, HorEnt[2] = 13:30, HorSai[2] = 18:00).

Definir data vDatBas;
MontaData(8,1,2000,vDatBas);
BusHorBase (R034Fun.NumEmp, R034Fun.TipCol, R034Fun.NumCad, vDatBas);

Utilização: Gerador de Relatórios e Regras.

Disponível para o módulo: Administração de Pessoal.

Este artigo ajudou você?