Memória de Cálculo

Linha de Produto:

Microsiga Protheus

Segmento:

Recursos Humanos

Módulo:

SIGAGPE

Situação/Requisito:

Criar rotina genérica de Memória de Cálculo da Folha de pagamento

Requisito:DRHPAG-10700 
Release:12.1.25

Descrição

Realizada implementação da funcionalidade de geração de Memória de Cálculo para o cálculo de Médias, Adicionais e Benefícios(VT/VR/VA).

Incluídas opções de Consulta em tela e Impressão de Relatório para os logs gerados durante os cálculos.

Procedimento de implantação

Seguir cada um dos passos detalhados abaixo para utilização da funcionalidade Memória de Cálculo:


Atualizações de fontes contempladas no RPO inicial do release 12.1.23:

FonteRotina
GPEA091Consulta Memória de Cálculo
GPER091Relatório Memória de Cálculo
GPEA300Cadastro de Mnemônicos
GPMNEBRAMnemônicos Brasil
GPEA160Cadastro de Roteiros de Cálculo
GPEA290Cadastro de Fórmulas
GPEXFORMFórmulas
GPFORBRAFórmulas
GPFO1BRAFórmulas
GPFO2BRAFórmulas
GPEM020Cálculo por Roteiros
GPEXCAL1Funções de cálculo
GPEXMEDCálculo de Médias
GPEM030Cálculo de Férias
GPEM040

Cálculo de Rescisão

GPEM630Cálculo de Rescisão
GPEXRESBCálculo Rescisão
GPEXC131Cálculo 13º

Atualizações do release:

Tabelas

Tabela

TabelaNomeCompartilhamentoCompartilhamento UnidadeCompartilhamento EmpresaChave Única
RFTCabeçalho Memória de Cálc FuncEEERFT_FILIAL+RFT_MAT+RFT_PROCES+RFT_PERIOD+RFT_SEMANA+RFT_ROTEIR+DTOS(RFT_DATA)+RFT_HORA


Índice

ÍndiceChaveDescrição
01RFT_FILIAL+RFT_MAT+RFT_PROCES+RFT_PERIOD+RFT_SEMANA+RFT_ROTEIR+DTOS(RFT_DATA)+RFT_HORAMatricula + Processo + Período + Nr.Pagamento + Roteiro + Data + Hora
02RFT_FILIAL+RFT_MAT+DTOS(RFT_DATA)+RFT_HORAMatricula + Data + Hora

Campos

CampoOrdemNomeDescriçãoTipo CampoTamanhoPictureVisualContextoGrupo de CamposHelp
RFT_FILIAL01FilialFilial do FuncionárioCaracter02
VisualReal033Código da Filial do Funcionário calculado.
RFT_MAT02MatrículaMatrícula do FuncionárioCaracter06999999VisualReal
Código da matricula do funcionário calculado.
RFT_PROCES03ProcessoProcessoCaracter05@!VisualReal
Código do processo do funcionário calculado.
RFT_PERIOD04PeríodoCódigo do PeríodoCaracter06
VisualReal
Código do período calculado.
RFT_SEMANA05Nr.PagamentoNúmero de PagamentoCaracter0299VisualReal
Número de pagamento do período calculado.
RFT_ROTEIR06RoteiroRoteiro de CálculoCaracter03
VisualReal
Código do roteiro calculado.
RFT_DATA07Data GeraçãoData Geração do LogData08
VisualReal
Data da geração do cálculo.
RFT_HORA08Hora GeraçãoHora Geração do LogCaracter08
VisualReal
Horário de geração do cálculo.
RFT_SITFUN09SituaçãoSituação do FuncionárioCaracter01
VisualReal
Situação do Funcionário no momento do calculo.
RFT_USER10UsuárioUsuário do sistemaCaracter15
VisualReal
Usuário do sistema que executou o calculo gravado.

Tabela

TabelaNomeCompartilhamentoCompartilhamento UnidadeCompartilhamento EmpresaChave Única
RFVDetalhe Memória de Cálc FuncEEERFV_FILIAL+RFV_MAT+RFV_PROCES+RFV_PERIOD+RFV_SEMANA+RFV_ROTEIR+DTOS(RFV_DATA)+RFV_HORA+RFV_SEQUEN

Índice

ÍndiceChaveDescrição
01RFV_FILIAL+RFV_MAT+RFV_PROCES+RFV_PERIOD+RFV_SEMANA+RFV_ROTEIR+DTOS(RFV_DATA)+RFV_HORA+RFV_SEQUENMatrícula + Processo + Período + Nr.Pagamento + Roteiro + Data Geracao + Sequencia
02RFV_FILIAL+RFV_MAT+DTOS(RFV_DATA)+RFV_HORAMatrícula + Data Geracao + Hora Geracao

Campos

CampoOrdemNomeDescriçãoTipo CampoTamanhoPictureVisualContextoGrupo de CamposHelp
RFV_FILIAL01FilialFilial do FuncionárioCaracter02
VisualReal033Código de identificação da Filial do Funcionário calculado.
RFV_MAT02MatrículaMatrícula do FuncionárioCaracter06999999VisualReal
Código da Fórmula Processada no cálculo.
RFV_PROCES03ProcessoProcessoCaracter05@!VisualReal
Código do processo do funcionário calculado.
RFV_PERIOD04PeríodoCódigo do PeríodoCaracter06@!VisualReal
Código do período calculado.
RFV_SEMANA05Nr.PagamentoNúmero de PagamentoCaracter0299VisualReal
Código do número de pagamento do período calculado.
RFV_ROTEIR06RoteiroRoteiro de CálculoCaracter03@!VisualReal
Código do roteiro calculado.
RFV_DATA07Data GeraçãoData Geração do LogData08
VisualReal
Data de execução do cálculo para o funcionário.
RFV_HORA08Hora GeraçãoHora Geração do LogCaracter08
VisualReal
Hora de execução do cálculo para o funcionário.
RFV_SEQUEN09SequênciaSequência do CálculoCaracter04
VisualReal
Sequencia de execução do cálculo.
RFV_FORMUL10FórmulaCódigo da FórmulaCaracter17@!VisualReal
Código da Fórmula Processada no calculo.
RFV_LOG11Log FórmulaLog do Cálculo Func/FormMemo100@!VisualReal
Log do processamento da formula.

Tabela

TabelaNomeCompartilhamentoCompartilhamento UnidadeCompartilhamento EmpresaChave Única
RFWLog Geral Memória de CálculoCEERFW_FILIAL+RFW_PROCES+RFW_PERIOD+RFW_SEMANA+RFW_ROTEIR+DTOS(RFW_DTINI)+RFW_HRINI

Índice

ÍndiceChaveDescrição
01RFW_FILIAL+RFW_PROCES+RFW_PERIOD+RFW_SEMANA+RFW_ROTEIR+DTOS(RFW_DTINI)+RFW_HRINIProcesso + Período + Nr.Pagamento + Roteiro + Data Inicial + Hora Inic
02RFW_FILIAL+RFW_PROCES+DTOS(RFW_DTINI)+RFW_HRINIProcesso + Data Inicial + Hora Inicial
03RFW_FILIAL+RFW_PROCES+RFW_ROTEIR+DTOS(RFW_DTINI)+RFW_HRINIProcesso + Roteiro + Data Inicial + Hora Inicial


Campos

CampoOrdemNomeDescriçãoTipo CampoTamanhoPictureVisualContextoGrupo de CamposHelp
RFW_FILIAL01FilialFilial do ProcessoCaracter02
VisualReal033Filial do Processo Calculado.
RFW_PROCES02ProcessoProcesso CalculadoCaracter05
VisualReal
Código do Processo calculado.
RFW_PERIOD03PeríodoPeríodo CalculadoCaracter06@!VisualReal
Código do período calculado.
RFW_SEMANA04Nr.PagamentoNúmero de PagamentoCaracter0299VisualReal
Número de Pagamento do Período calculado.
RFW_ROTEIR05RoteiroRoteiro de CálculoCaracter03@!VisualReal
Código do Roteiro calculado.
RFW_DTINI06Data InicialData Inicial do CálculoData08
VisualReal
Data inicial do processamento do cálculo.
RFW_HRINI07Hora InicialHora Inicial do CálculoCaracter08
VisualReal
Hora Inicial do processamento de cálculo.
RFW_DTFIM08Data FinalData Final do CálculoData08
VisualReal
Data final do processamento do cálculo.
RFW_HRFIM09Hora FinalHora Final do CálculoCaracter08
VisualReal
Hora final do processamento do cálculo.
RFW_TEMPO10Tempo TotalTempo total (de processamento)Caracter08
VisualReal
Tempo total de processamento do cálculo.
RFW_TOTPRC11Func/ProcesTotal Func./ProcessoNumérico12@E 999,999,999,999VisualReal
Total de Funcionário no Processo calculado.
RFW_TOTCAL12CalculadosTotal Func. CalculadosNumérico12@E 999,999,999,999VisualReal
Total de Funcionários Calculados (foram processados e geraram resultados)
RFW_TOTNC13Não CalcTotal Func.Não CalculadosNumérico12@E 999,999,999,999VisualReal
Total de Funcionários não calculados (foram processados e não geraram resultados)
RFW_LOG14Log CalculoLog Geral do CálculoMemo100
VisualReal
Log geral do cálculo executado.
RFW_USER15UsuárioUsuário do sistemaCaracter15
VisualReal
Usuário do sistema que realizou o cálculo.
RFW_SEQUEN16SequênciaSequência de logCaracter4
VisualReal
Sequencia das linhas do log.


Grupo de Perguntas

Criado grupo de perguntas para o relatório GPER091 - Relatório Memória de Cálculo por Funcionário

PerguntaOrdemTipo CampoTamanhoTipo PergunteValidaçãoConsulta Padrão (F3)Help
Processo01Caracter05G - digita informaçãoGp91VldPrc()RCJ - ProcessosSelecione o Processo de cálculo para impressão do log de memória de cálculo do funcionário.
Roteiro02Caracter03G - digita informaçãoGp91VldRot()SRY - RoteirosSelecione o Roteiro de Cálculo para impressão do log de memória de cálculo por funcionário.
Período03Caracter06G - digita informação
GPR091 - Memória Cálculo Funcionário

Selecione o Período, Nr. de Pagamento, Data e Hora de Geração do log para impressão do relatório.

Essas informações serão utilizadas para localizar o log a ser impresso. Cada geração pode possuir diferente número de funcionários gravados pois dependerá do cálculo realizado previamente.

Necessário preenchimento do Processo e Roteiro previamente.

Lista dos logs disponíveis para o Processo + Roteiro selecionado. (Para filtrar filial utilize o pergunte 'Filial')

Nr. Pagamento04Caracter02S - visualiza


Data de Geração05Data08S - visualiza


Hora de Geração06Caracter08S - visualiza


Filial07Caracter99R - range
SM0 - FiliaisInforme intervalo de filiais que deseja considerar para impressão do relatório.
Matrícula08Caracter99R - range
SRA - FuncionáriosInforme intervalo de matrículas que deseja considerar para impressão do relatório.


Acesse: SIGAGPE > Atualizações > Definições de Cálculo > Mnemônicos

  • Altere o Mnemônico P_LMEMCALC para .T. para que possa ser recriadas as fórmulas com o Log ativado.
    Toda vez que este mnemônico for alterado será efetuado recompilação das fórmulas.


O mnemônico P_LMEMCALC deve ser desativado após sua utilização para conferência do cálculo, pois estando habilitado durante o processamento normal das rotinas que geram memória de cálculo, acarretará a perda de performance das mesmas.

Após a realização dos procedimentos citados acima, acesse a aba Funcionalidades para mais detalhes sobre o funcionamento das novas rotinas.

Quando o mnemônico P_LMEMCALC for ativado, as fórmulas serão atualizadas para executar a gravação do Log de Cálculo por Funcionário.

A cada fórmula executada, será gravado o Log com as informações de cálculo.

Fórmulas / funções disponíveis para geração de Log:

FórmulaDescrição
GPEXMED

Calcular Medias de Horas Extras e Asdicionais

S_BUSMEDF BUSCA MEDIA FERIAS
S_CAINSMICALCULA INSALUBRIDADE MINIMA
S_CALACONFCALCULO ADICIONAL CARGO CONFIANCA
S_CALADTRFCALCULO ADICIONAL TRANSFERENCIA
S_CALAFASCALCULO AFASTADOS
S_CALCANUCALCULO ANUENIO
S_CALCPENSCalc. Pensao Alim.
S_CALCPERICALCULA PERICULOSIDADE
S_CALCPERVCALCULA PERICULOSIDADE SOBRE VERBAS
S_CARGARCHCARREGA DADOS DO PERIODO
S_CAVISOINCALCULO AVISO PREVIO INDENIZADO
S_CENCEMPCALCULO ENCARGOS EMPRESA

S_CMEDFER

CALCULO DAS MEDIAS PARA FERIAS
S_GRMEDFERGRAVA MEDIA FERIAS
S_GRVMEDIAGRAVAR MEDIAS
S_INICADTSINICIALIZA DADOS PARA O CALCULO DO ATS
S_LGRAVAGRAVACAO DO CALCULO DA FOLHA

S_MEDIA13

CACULO DE MEDIA 13
S_RPENS13CALCULA PENSAO 13. SALARIO
S_RPENSFERCALCULA PENSAO FERIAS
S_RPENSPLRCALCULA PENSAO PLR
S_VAL_BINSSALARIO BASE DE INSALUBRIDADE


Exemplo de fórmula alterada automaticamente para gravação da memória de cálculo


Quando o mnemônico P_LMEMCALC estiver desativado, a chamada para gravação de log não ocorrerá.

Opção disponível nas seguintes rotinas

  • Consulta de Cálculo por Funcionário (GPEA090 - SRC)
  • Cálculo de Férias (GPEM030)
  • Cálculo de Rescisão (GPEM040)


Com usar:

  • Selecione o funcionário desejado no browse da rotina
  • Acione a opção: Outras Ações > Consultar Memória de Cálculo
  • Será apresentada uma tela listando os logs gravados para o funcionário selecionado.
    • Na rotina de Férias, serão listados apenas os logs do roteiro de Férias

    • Na rotina de Rescisão, serão listados apenas os logs do roteiro de Rescisão
    • Na rotina de Consulta de Cálculo serão listados todos os logs existentes.
  • Os registros serão listados em ordem cronológica, do mais novo para o mais antigo.

  • Ao selecionar o registro desejado, dê duplo clique ou Enter para visualizar em detalhe o log.
    • Será aberta uma nova janela com detalhes do log.

    • A tela é dividida em 3 partes.
      • Superior: possui as seguintes informações:

Matrícula e Nome do Funcionário

        • Data de admissão
        • Situação do funcionário no momento do cálculo
        • Data e hora de geração
        • Usuário do sistema que realizou o cálculo
        • Período, Nr. Pagamento, Processo e Roteiro do cálculo realizado.
      • Inferior Esquerda:

 

        • Lista das fórmulas com log gravado.
        • Ao selecionar o registro, o detalhe do log é exibido no painel direito.
      • Inferior Direita:
      •  
        • Exibição do log da fórmula selecionada no painel esquerdo.

Opção disponível nas seguintes rotinas

  • Consulta de Cálculo por Funcionário (GPEA090 - SRC)
  • Cálculo de Férias (GPEM030)

Como usar:

Configure os parâmetros para selecionar o cálculo que deseja imprimir

  • Processo
    • Selecione o Processo de cálculo que deseja imprimir
  • Roteiro
    • Selecione o Roteiro de cálculo que deseja imprimir
  • Período
    • Através da Consulta Padrão (F3), selecione o Período, Nr. Pagamento, Data e Hora de Geração do cálculo que deseja imprimir.
    • Os registros listados são filtrados pelo Processo e Roteiro informados nas perguntas anteriores.
    • Os registros estão ordenados por Data e Hora de Geração em ordem decrescente, do mais novo ao mais antigo.
  • Filial
    • Pergunta do tipo range. Informe a(s) filial(ais) que deseja imprimir ou mantenha em branco para imprimir todas as filiais do cálculo selecionado.
  • Matrícula
    • Pergunta do tipo range. Informe a(s) matricula(s) que deseja imprimir ou mantenha em branco para imprimir todas as matrículas do cálculo selecionado






A impressão do relatório é feita filtrando os registros de log pela chave PROCESSO + PERIODO + NR. PAGAMENTO + ROTEIRO + DATA GERACAO + HORA GERACAO.

Portanto, a presença de Filiais e Matrículas na impressão do relatório irá depender das Filiais e Matrículas processadas em um único cálculo.

Exemplos:

  • Cálculo de Férias: realizado para 1 único funcionário. Imprime apenas o funcionário calculado.
  • Cálculo de Férias Coletivas: realizado para vários funcionários. Possível imprimir para todos os funcionários calculados.

A fim de não onerar demasiadamente o banco de dados, foi incluída a funcionalidade de deleção automática dos logs durante o fechamento do período do roteiro.

Assim, o sistema irá manter apenas 3 períodos de log e seu histórico: 2 fechados + Período Atual.

Esse controle é feito pela chave FILIAL + PROCESSO + PERIODO + NR PAGAMENTO + ROTEIRO, de forma mensal.

Exemplo:

Processo 00001, Roteiro FERIAS, Período 10/2017 - fechado

Processo 00001, Roteiro FERIAS, Período 11/2017 - fechado

Processo 00001, Roteiro FERIAS, Período 12/2017 - aberto

Ao realizar o fechamento do período de Férias de 12/2017 , então teremos:

O sistema irá deletar fisicamente os registros do roteiro Ferias de 10/2017 para o processo 00001.

Mantendo no banco de dados apenas: 11/2017 e 12/2017, mais os registros gerados em 01/2018.