Home

Linha Microsiga Protheus

Páginas filhas
  • PNMDDSR01 - Customização do apurado -- 10435

Ponto-de-Entrada: PNMDDSR01 - Customização do apurado
Versões: Microsiga Protheus 8.11 , Microsiga Protheus 10
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Idiomas: Espanhol , Inglês
Descrição:

Quando a apuração do desconto for proporcional (MV_DSRPROP igual a “S”) ou seja aquela em que a Tabela de Arredondamento não é utilizada para o cálculo do Desconto do DSR, é possível realizar uma customização do apurado ao invés do procedimento padrão do sistema.

Eventos

Na rotina de Cálculo Mensal, na apuração do Desconto do DSR.
 

Programa Fonte
PONM070.PRX
Sintaxe

PNMDDSR01 - Customização do apurado ( < dData> , < nHoras> , < nNumOcorr> , < nNumAtra> , < Param5> ) --> aRetono

Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
dData Data Data do Evento X
nHoras Numérico Total de Horas dos eventos utilizados para o cálculo do Desconto de DSR. Por exemplo: 16 horas correspondendo a duas faltas de 08 horas cada uma. X
nNumOcorr Numérico Número de ocorrências dos eventos. X
nNumAtra Numérico Número de ocorrências de atrasos definido na regra de apontamento. X
Param5 Constante Número que identifica a seqüência da chamada do ponto de entrada (1 ou 2). X
Retorno
    aRetono(array_of_record)
  • Array com 1 elemento correspondendo ao total de horas dos eventos utilizados para o cálculo do Desconto de DSR. Tipo numérico. Essa quantidade irá substituir a quantidade enviada.
Observações

 

  • Parâmetros enviados

            Será enviado um array com 5 elementos via variável ParamIXB.

            Param1 – Data do evento. Tipo data. 

            Param2 – Total de Horas dos eventos utilizados para o cálculo do Desconto de DSR. Tipo numérico.  Por exemplo: 16 horas correspondendo a duas faltas de 08 horas cada uma.

            Param3 – Número de ocorrências dos eventos.Tipo numérico.

            Param4 – Número de ocorrências de atrasos definido na regra de apontamento. Tipo numérico.

            Param5 – Número que identifica a seqüência da chamada do ponto de entrada. Por exemplo:

    • 1, foram detectadas ocorrências dos eventos que formam a base do cálculo do desconto, assim como, os dias de DSR para o período de apuração.  Por exemplo, numa semana, foram detectadas 16 horas correspondentes a 2 faltas. No mesmo período foi detectado um dia de DSR.
    • 2, foram detectadas ocorrências dos eventos que formam a base do cálculo do desconto para o período de apuração, mas não foram detectados dias de DSR para o mesmo período. Nessa situação, o parâmetro para gerar eventos de desconto para o próximo período está desativado (MV_DSRPPER igual a “N”). Por exemplo, foram detectadas 16 horas correspondente a 2 faltas no período de apuração. No entanto, não foram detectados dias de DSR. Segundo a parametrização, deve-se gerar o desconto para essa semana, dentro do período de apontamento, e não enviar as horas de eventos de desconto para o cálculo do mesmo somente para o período seguinte. Isso é comum no caso em que o período de apontamento termina numa quarta-feira, por exemplo, o trabalhador faltou na terça-feira e o dia de DSR  cai na sexta-feira. Segundo a parametrização, deve-se gerar o desconto nessa mesma semana e não no período seguinte.

  

  • Retorno 

Deverá ser retornado um array com 1 elemento correspondendo ao total de horas dos eventos utilizados para o cálculo do Desconto de DSR. Tipo numérico. Essa quantidade irá substituir a quantidade enviada.

 

 Procedimentos para Implementação

1.      Desenvolver um Rdmake para obter o array enviado.

2.      Realizar os procedimentos necessários.

3.      Retornar a quantidade de horas.

Exemplos
Segue um exemplo de customização onde é somada 1,47 horas ao total de horas enviado.#Include 'rwmake.ch'User Function PNmddsr01()//Local dData      := ParamIxb[1]   //Habilitar somente qdo usarLocal nHoras       := ParamIxb[2]Local nNumOcorr    := ParamIxb[3]//Local nNumAtra   := ParamIxb[4]  //Habilitar somente qdo usar//Local nPosBlock  := ParamIxb[5]  //Habilitar somente qdo usarLocal nIIf nHoras > 0    nHoras:= 0   For nI:= 1 to nNumOcorr       nHoras:=SomaHoras(nHoras,1.47)   Next nIEndif   Return({nHoras})