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.