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 |
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.
Na rotina de Cálculo Mensal, na apuração do Desconto do DSR.
PONM070.PRX
PNMDDSR01 - Customização do apurado ( < dData> , < nHoras> , < nNumOcorr> , < nNumAtra> , < Param5> ) --> aRetono
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 |
-
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.
- 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.
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})