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

<div class="Code"><p>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).</p><p>Definir data vDatBas;<br></br>MontaData(1,1,2000,vDatBas);<br></br>BusHorBase (R034Fun.NumEmp, R034Fun.TipCol, R034Fun.NumCad, vDatBas);</p></div>

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

<div class="Code"><p>Data da Turma: 03/01/2000</p><p>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).</p><p>Definir data vDatBas;<br></br>MontaData(8,1,2000,vDatBas);<br></br>BusHorBase (R034Fun.NumEmp, R034Fun.TipCol, R034Fun.NumCad, vDatBas);</p></div>

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

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

Este artigo ajudou você?