Árvore de páginas

Ponto de Entrada PONCALATOT - Totalização de Eventos

Descrição:

Este ponto de entrada permite alterar os eventos que serão gerados para a Folha ao efetuar o Cálculo Mensal do Ponto

Eventos:

PONM070

Programa Fonte:

PONM070.PRX

Função:

PONM070

Retorno:

Nome

Tipo

Descrição

Obrigatório

aEventos

Array

Array contendo os eventos que serão gerados para a Folha

Sim

 

Exemplo:

#Include 'Protheus.ch'

User Function PONCALATOT ()

Local cFilFunc    := PARAMIXB[1]
Local cMatFunc    := PARAMIXB[2]
Local aTotEve     := PARAMIXB[3]
Local dPerIni    := PARAMIXB[4]
Local dPerFim     := PARAMIXB[5]
Local aCalend     := PARAMIXB[6]

/*
O ponto de entrada recebe os parâmetros abaixo:
PARAMIXB[1] -> Filial do funcionário
PARAMIXB[2] -> Matrícula do Funcionário
PARAMIXB[3] -> Eventos gerados para a folha
PARAMIXB[4] -> Data inicial do período de apontamento
PARAMIXB[5] -> Data final do período de apontamento
PARAMIXB[6] -> Calendário de marcações

Deve-se retornar um array de 16 posições, conforme estrutura abaixo:
aTotEve[1][01] -> Data do evento
aTotEve[1][02] -> Código do evento do Ponto
aTotEve[1][03] -> Horas do evento
aTotEve[1][04] -> Código da verba da Folha
aTotEve[1][05] -> Código do centro de custo
aTotEve[1][06] -> Valor do evento
aTotEve[1][07] -> Data do evento (formato AAAAMMDD)
aTotEve[1][08] -> Função do funcionário
aTotEve[1][09] -> Departamento do funcionário
aTotEve[1][10] -> Posto do funcionário
aTotEve[1][11] -> Processo do funcionário
aTotEve[1][12] -> Código do roteiro
aTotEve[1][13] -> Código do período
aTotEve[1][14] -> Código da semana de pagamento
aTotEve[1][15] -> Código do tipo de hora extra
aTotEve[1][16] -> Percentual de valorização da hora extra
*/


If cFilFunc == '01'
    aAdd( aTotEve, { dPerFim,;
                        "001",;
                        10,;
                        "010",;
                        SRA->RA_CC,;
                        0,;
                        dToS(dPerFim),;
                        Nil,;
                        Nil,;
                        Nil,;
                        Nil,;
                        Nil,;
                        Nil,;
                        Nil,;
                        "",;
                        0 } )
EndIf

/*
No exemplo acima, para os funcionários da filial 01, é feita a inclusão de um
evento na data final do período de apontamento com a quantidade de 10 horas.
*/

Return aTotEve