- Criado por Flavio Scalzaretto Correa, última alteração por Waleska Alessandra de Lima em 15 out, 2024

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:
Fonte | Rotina |
---|---|
GPEA091 | Consulta Memória de Cálculo |
GPER091 | Relatório Memória de Cálculo |
GPEA300 | Cadastro de Mnemônicos |
GPMNEBRA | Mnemônicos Brasil |
GPEA160 | Cadastro de Roteiros de Cálculo |
GPEA290 | Cadastro de Fórmulas |
GPEXFORM | Fórmulas |
GPFORBRA | Fórmulas |
GPFO1BRA | Fórmulas |
GPFO2BRA | Fórmulas |
GPEM020 | Cálculo por Roteiros |
GPEXCAL1 | Funções de cálculo |
GPEXMED | Cálculo de Médias |
GPEM030 | Cálculo de Férias |
GPEM040 | Cálculo de Rescisão |
GPEM630 | Cálculo de Rescisão |
GPEXRESB | Cálculo Rescisão |
GPEXC131 | Cálculo 13º |
Atualizações do release:
Tabelas
Tabela
Tabela | Nome | Compartilhamento | Compartilhamento Unidade | Compartilhamento Empresa | Chave Única |
---|---|---|---|---|---|
RFT | Cabeçalho Memória de Cálc Func | E | E | E | RFT_FILIAL+RFT_MAT+RFT_PROCES+RFT_PERIOD+RFT_SEMANA+RFT_ROTEIR+DTOS(RFT_DATA)+RFT_HORA |
Índice
Índice | Chave | Descrição |
---|---|---|
01 | RFT_FILIAL+RFT_MAT+RFT_PROCES+RFT_PERIOD+RFT_SEMANA+RFT_ROTEIR+DTOS(RFT_DATA)+RFT_HORA | Matricula + Processo + Período + Nr.Pagamento + Roteiro + Data + Hora |
02 | RFT_FILIAL+RFT_MAT+DTOS(RFT_DATA)+RFT_HORA | Matricula + Data + Hora |
Campos
Campo | Ordem | Nome | Descrição | Tipo Campo | Tamanho | Picture | Visual | Contexto | Grupo de Campos | Help |
---|---|---|---|---|---|---|---|---|---|---|
RFT_FILIAL | 01 | Filial | Filial do Funcionário | Caracter | 02 | Visual | Real | 033 | Código da Filial do Funcionário calculado. | |
RFT_MAT | 02 | Matrícula | Matrícula do Funcionário | Caracter | 06 | 999999 | Visual | Real | Código da matricula do funcionário calculado. | |
RFT_PROCES | 03 | Processo | Processo | Caracter | 05 | @! | Visual | Real | Código do processo do funcionário calculado. | |
RFT_PERIOD | 04 | Período | Código do Período | Caracter | 06 | Visual | Real | Código do período calculado. | ||
RFT_SEMANA | 05 | Nr.Pagamento | Número de Pagamento | Caracter | 02 | 99 | Visual | Real | Número de pagamento do período calculado. | |
RFT_ROTEIR | 06 | Roteiro | Roteiro de Cálculo | Caracter | 03 | Visual | Real | Código do roteiro calculado. | ||
RFT_DATA | 07 | Data Geração | Data Geração do Log | Data | 08 | Visual | Real | Data da geração do cálculo. | ||
RFT_HORA | 08 | Hora Geração | Hora Geração do Log | Caracter | 08 | Visual | Real | Horário de geração do cálculo. | ||
RFT_SITFUN | 09 | Situação | Situação do Funcionário | Caracter | 01 | Visual | Real | Situação do Funcionário no momento do calculo. | ||
RFT_USER | 10 | Usuário | Usuário do sistema | Caracter | 15 | Visual | Real | Usuário do sistema que executou o calculo gravado. |
Tabela
Tabela | Nome | Compartilhamento | Compartilhamento Unidade | Compartilhamento Empresa | Chave Única |
---|---|---|---|---|---|
RFV | Detalhe Memória de Cálc Func | E | E | E | RFV_FILIAL+RFV_MAT+RFV_PROCES+RFV_PERIOD+RFV_SEMANA+RFV_ROTEIR+DTOS(RFV_DATA)+RFV_HORA+RFV_SEQUEN |
Índice
Índice | Chave | Descrição |
---|---|---|
01 | RFV_FILIAL+RFV_MAT+RFV_PROCES+RFV_PERIOD+RFV_SEMANA+RFV_ROTEIR+DTOS(RFV_DATA)+RFV_HORA+RFV_SEQUEN | Matrícula + Processo + Período + Nr.Pagamento + Roteiro + Data Geracao + Sequencia |
02 | RFV_FILIAL+RFV_MAT+DTOS(RFV_DATA)+RFV_HORA | Matrícula + Data Geracao + Hora Geracao |
Campos
Campo | Ordem | Nome | Descrição | Tipo Campo | Tamanho | Picture | Visual | Contexto | Grupo de Campos | Help |
---|---|---|---|---|---|---|---|---|---|---|
RFV_FILIAL | 01 | Filial | Filial do Funcionário | Caracter | 02 | Visual | Real | 033 | Código de identificação da Filial do Funcionário calculado. | |
RFV_MAT | 02 | Matrícula | Matrícula do Funcionário | Caracter | 06 | 999999 | Visual | Real | Código da Fórmula Processada no cálculo. | |
RFV_PROCES | 03 | Processo | Processo | Caracter | 05 | @! | Visual | Real | Código do processo do funcionário calculado. | |
RFV_PERIOD | 04 | Período | Código do Período | Caracter | 06 | @! | Visual | Real | Código do período calculado. | |
RFV_SEMANA | 05 | Nr.Pagamento | Número de Pagamento | Caracter | 02 | 99 | Visual | Real | Código do número de pagamento do período calculado. | |
RFV_ROTEIR | 06 | Roteiro | Roteiro de Cálculo | Caracter | 03 | @! | Visual | Real | Código do roteiro calculado. | |
RFV_DATA | 07 | Data Geração | Data Geração do Log | Data | 08 | Visual | Real | Data de execução do cálculo para o funcionário. | ||
RFV_HORA | 08 | Hora Geração | Hora Geração do Log | Caracter | 08 | Visual | Real | Hora de execução do cálculo para o funcionário. | ||
RFV_SEQUEN | 09 | Sequência | Sequência do Cálculo | Caracter | 04 | Visual | Real | Sequencia de execução do cálculo. | ||
RFV_FORMUL | 10 | Fórmula | Código da Fórmula | Caracter | 17 | @! | Visual | Real | Código da Fórmula Processada no calculo. | |
RFV_LOG | 11 | Log Fórmula | Log do Cálculo Func/Form | Memo | 100 | @! | Visual | Real | Log do processamento da formula. |
Tabela
Tabela | Nome | Compartilhamento | Compartilhamento Unidade | Compartilhamento Empresa | Chave Única |
---|---|---|---|---|---|
RFW | Log Geral Memória de Cálculo | C | E | E | RFW_FILIAL+RFW_PROCES+RFW_PERIOD+RFW_SEMANA+RFW_ROTEIR+DTOS(RFW_DTINI)+RFW_HRINI |
Índice
Índice | Chave | Descrição |
---|---|---|
01 | RFW_FILIAL+RFW_PROCES+RFW_PERIOD+RFW_SEMANA+RFW_ROTEIR+DTOS(RFW_DTINI)+RFW_HRINI | Processo + Período + Nr.Pagamento + Roteiro + Data Inicial + Hora Inic |
02 | RFW_FILIAL+RFW_PROCES+DTOS(RFW_DTINI)+RFW_HRINI | Processo + Data Inicial + Hora Inicial |
03 | RFW_FILIAL+RFW_PROCES+RFW_ROTEIR+DTOS(RFW_DTINI)+RFW_HRINI | Processo + Roteiro + Data Inicial + Hora Inicial |
Campos
Campo | Ordem | Nome | Descrição | Tipo Campo | Tamanho | Picture | Visual | Contexto | Grupo de Campos | Help |
---|---|---|---|---|---|---|---|---|---|---|
RFW_FILIAL | 01 | Filial | Filial do Processo | Caracter | 02 | Visual | Real | 033 | Filial do Processo Calculado. | |
RFW_PROCES | 02 | Processo | Processo Calculado | Caracter | 05 | Visual | Real | Código do Processo calculado. | ||
RFW_PERIOD | 03 | Período | Período Calculado | Caracter | 06 | @! | Visual | Real | Código do período calculado. | |
RFW_SEMANA | 04 | Nr.Pagamento | Número de Pagamento | Caracter | 02 | 99 | Visual | Real | Número de Pagamento do Período calculado. | |
RFW_ROTEIR | 05 | Roteiro | Roteiro de Cálculo | Caracter | 03 | @! | Visual | Real | Código do Roteiro calculado. | |
RFW_DTINI | 06 | Data Inicial | Data Inicial do Cálculo | Data | 08 | Visual | Real | Data inicial do processamento do cálculo. | ||
RFW_HRINI | 07 | Hora Inicial | Hora Inicial do Cálculo | Caracter | 08 | Visual | Real | Hora Inicial do processamento de cálculo. | ||
RFW_DTFIM | 08 | Data Final | Data Final do Cálculo | Data | 08 | Visual | Real | Data final do processamento do cálculo. | ||
RFW_HRFIM | 09 | Hora Final | Hora Final do Cálculo | Caracter | 08 | Visual | Real | Hora final do processamento do cálculo. | ||
RFW_TEMPO | 10 | Tempo Total | Tempo total (de processamento) | Caracter | 08 | Visual | Real | Tempo total de processamento do cálculo. | ||
RFW_TOTPRC | 11 | Func/Proces | Total Func./Processo | Numérico | 12 | @E 999,999,999,999 | Visual | Real | Total de Funcionário no Processo calculado. | |
RFW_TOTCAL | 12 | Calculados | Total Func. Calculados | Numérico | 12 | @E 999,999,999,999 | Visual | Real | Total de Funcionários Calculados (foram processados e geraram resultados) | |
RFW_TOTNC | 13 | Não Calc | Total Func.Não Calculados | Numérico | 12 | @E 999,999,999,999 | Visual | Real | Total de Funcionários não calculados (foram processados e não geraram resultados) | |
RFW_LOG | 14 | Log Calculo | Log Geral do Cálculo | Memo | 100 | Visual | Real | Log geral do cálculo executado. | ||
RFW_USER | 15 | Usuário | Usuário do sistema | Caracter | 15 | Visual | Real | Usuário do sistema que realizou o cálculo. | ||
RFW_SEQUEN | 16 | Sequência | Sequência de log | Caracter | 4 | Visual | Real | 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
Pergunta | Ordem | Tipo Campo | Tamanho | Tipo Pergunte | Validação | Consulta Padrão (F3) | Help |
---|---|---|---|---|---|---|---|
Processo | 01 | Caracter | 05 | G - digita informação | Gp91VldPrc() | RCJ - Processos | Selecione o Processo de cálculo para impressão do log de memória de cálculo do funcionário. |
Roteiro | 02 | Caracter | 03 | G - digita informação | Gp91VldRot() | SRY - Roteiros | Selecione o Roteiro de Cálculo para impressão do log de memória de cálculo por funcionário. |
Período | 03 | Caracter | 06 | G - 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. Pagamento | 04 | Caracter | 02 | S - visualiza | |||
Data de Geração | 05 | Data | 08 | S - visualiza | |||
Hora de Geração | 06 | Caracter | 08 | S - visualiza | |||
Filial | 07 | Caracter | 99 | R - range | SM0 - Filiais | Informe intervalo de filiais que deseja considerar para impressão do relatório. | |
Matrícula | 08 | Caracter | 99 | R - range | SRA - Funcionários | Informe 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.
Atenção!
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órmula | Descrição |
---|---|
GPEXMED | Calcular Medias de Horas Extras e Asdicionais |
S_BUSMEDF | BUSCA MEDIA FERIAS |
S_CAINSMI | CALCULA INSALUBRIDADE MINIMA |
S_CALACONF | CALCULO ADICIONAL CARGO CONFIANCA |
S_CALADTRF | CALCULO ADICIONAL TRANSFERENCIA |
S_CALAFAS | CALCULO AFASTADOS |
S_CALCANU | CALCULO ANUENIO |
S_CALCPENS | Calc. Pensao Alim. |
S_CALCPERI | CALCULA PERICULOSIDADE |
S_CALCPERV | CALCULA PERICULOSIDADE SOBRE VERBAS |
S_CARGARCH | CARREGA DADOS DO PERIODO |
S_CAVISOIN | CALCULO AVISO PREVIO INDENIZADO |
S_CENCEMP | CALCULO ENCARGOS EMPRESA |
S_CMEDFER |
CALCULO DAS MEDIAS PARA FERIAS |
S_GRMEDFER | GRAVA MEDIA FERIAS |
S_GRVMEDIA | GRAVAR MEDIAS |
S_INICADTS | INICIALIZA DADOS PARA O CALCULO DO ATS |
S_LGRAVA | GRAVACAO DO CALCULO DA FOLHA |
S_MEDIA13 |
CACULO DE MEDIA 13 |
S_RPENS13 | CALCULA PENSAO 13. SALARIO |
S_RPENSFER | CALCULA PENSAO FERIAS |
S_RPENSPLR | CALCULA PENSAO PLR |
S_VAL_BINS | SALARIO 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:
- A tela é dividida em 3 partes.
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
Atenção!
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.