BusHorBase

Retorna o horário base do colaborador em uma determinada data.

Sintaxe: BusHorBase(Numero xNumEmp, Numero xTipCol, Numero xNumCad, Numero xDatHor)

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 utilizada 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;

Caso 3 - Empresa utilizada 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:

Nome Tipo Descrição
xNumEmp Numero Variável numérica com o número da empresa;
xTipCol Numero Variável numérica com o tipo do colaborador;
xNumCad Numero Variável numérica com o cadastro (código) do colaborador;
xDatHor  Numero Variável numérica, com a data que se deseja saber o horário base do funcionário.

Retorno: Carrega as seguintes variáveis de 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.

Exemplo 1:

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

Data - Cód - Horário

01/01/2000 - 1 - 8:00 às 12:00 e das 13:30 às 18:00
02/01/2000 - 2 - 9:00 às 12:00 e das 13:30 às 19:00
03/01/2000 - 3 - DSR
04/01/2000 - 4 - 10:00 às 12:00 e das 13:30 às 20:00

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ód - Horário

Seg - 1 - 8:00 às 12:00 e das 13:30 às 18:00
Ter - 2 - 9:00 às 12:00 e das 13:30 às 19:00
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 os módulos: Administração de Pessoal e RS.

Este artigo ajudou você?