ExcLanBhr

Excluir lançamentos no banco de horas que possuem o campo origem de lançamento (OriLan) contendo o valor ‘R’ (incluídos via regra).

É necessário utilizar essa função sempre que for utilizada a função IncLanBhr, para que a regra possa ser executada mais vezes, pois o lançamento deve ser excluído para não ser incluído em duplicidade. Ver abaixo exemplo 2.

Sintaxe: ExcLanBhr(Numero NumEmp, Numero TipCol, Numero NumCad, Numero CodBhr, Numero DatLan, Numero CodSit)

Parâmetros:

Nome

Tipo

Descrição

NumEmp

Numérico

Número da empresa.

TipCol

Numérico

Tipo do Colaborador.

NumCad

Numérico

Cadastro do colaborador.

CodBhr

Numérico

Código do banco de horas.

DatLan

Numérico

Data do lançamento no banco de horas.

CodSit

Numérico

Situação do lançamento.

Exemplo 1:

/* Excluir um lançamento previamente incluído no banco de horas via regra com OriLan = ‘R’. */

ExcLanBhr(R034FUN.NumEmp, R034FUN.TipCol, R034FUN.NumCad, 1, DatIni, 301);

Exemplo 2:
/* A regra de exclusão também pode ser utilizada no caso de executar a integração MAIS DE UMA VEZ, com inclusão de lançamentos via regra. Para não ocorrer erro ao incluir um lançamento com origem = 'R' que já existe, deve-se previamente excluir o lançamento (Orilan = 'R') no banco de horas. */

Definir Numero xDatCmp;
Definir Numero xnumemp;
Definir Numero xtipcol;
Definir Numero xnumcad;

/* Condição para executar apenas uma vez por colaborador. */
Se ((R034FUN.NUMEMP <> XNUMEMP) OU (R034FUN.TIPCOL <> XTIPCOL) OU (R034FUN.NUMCAD <> XNUMCAD))
 Inicio
 /* Retorna a data na variável xDatCmp. */
 RetDatCmp(R034FUN.NumEmp, DatIni, 1, 301, xDatCmp);
 /* Exclui lançamento do banco de horas previamente existente. */
 ExcLanBhr(R034FUN.NumEmp, R034FUN.TipCol, R034FUN.NumCad, 1, DatIni, 301);
 /* Inclui lançamento no banco de horas. */
 IncLanBhr(R034FUN.NumEmp, R034FUN.TipCol, R034FUN.NumCad, 1, DatIni, 301, 300, xDatCmp);
 Fim;

xnumemp = R034FUN.NUMEMP;
xtipcol = R034FUN.TIPCOL;
xnumcad = R034FUN.NUMCAD;

Utilização: Em regras de integração.

Disponível para o módulo: Controle de Ponto e Refeitório (somente rotina de banco de horas).

Este artigo ajudou você?