1278 - Dia do Previdenciário
⚙️ Metadados
- Código: 1278
- Tipo: Provento
- INSS: SAL
- FGTS: SAL
- IRRF: SAL
- Natureza eSocial: -
- DSR: Sim
- Médias: Sim
- Impacto Financeiro: Não
- Impacto Contábil: Não
- Sequência: 621
🧮 Regra Geral
N/A
🎯 Particularidades por Cliente/Setor
👤 Fapes (ID da Fórmula: 33583)
-
Lógica de Cálculo:
- Validação Inicial: A verba só será calculada se houver um lançamento (
Lancamento) existente para ela, e se os camposPercentualeQuantidadedesse lançamento forem maiores que zero. - Descrição Final: A descrição da verba no holerite (
HoleriteVerba.DescricaoFinal) é formatada para incluir a descrição original da verba e oPercentuallançado, por exemplo, “Dia do Previdenciário 10,00%”. - Valor de Referência: É calculado multiplicando a
Quantidadelançada por(1 + (Percentual / 100)). Este valor é armazenado emHoleriteVerba.ValorReferencia. - Cálculo do Valor Total: O valor total da verba (
HoleriteVerba.ValorTotal) é calculado da seguinte forma:- Divide-se o
VG_BCHExtAdNot(Valor Base de Cálculo de Horas Extras e Adicionais Noturnos) pelaVG_HsMes(Carga Horária Mensal). - O resultado é multiplicado por
(1 + (Lancamento.Percentual / 100M)). - Em seguida, é multiplicado pela
Lancamento.Quantidade. - O valor final é arredondado para o padrão do sistema utilizando a função
Func_ArredondamentoPadrao.
- Divide-se o
- Memória de Cálculo: Uma memória de cálculo detalhada é gerada, explicando os valores utilizados e a operação realizada para chegar ao
ValorTotal. - Cálculo de DSR: Se o
HoleriteVerba.ValorTotalfor maior que zero e a verba 1278 estiver configurada no sistema para compor DSR (verificado porSysFunc_VerbaPossuiDSR), a funçãoFunc_DSRé chamada para gerar a verba de DSR (código 55).
- Validação Inicial: A verba só será calculada se houver um lançamento (
-
Variáveis Utilizadas:
Lancamento: Objeto que contém os dados do lançamento da verba, incluindoPercentual,QuantidadeeDescricaoLancamento.HoleriteVerba: Objeto que representa a verba no holerite, contendoDescricaoFinal,ValorReferencia,ValorTotal,Verba.Descricao,Verba.CodigoeMemoriaCalculo.VG_BCHExtAdNot: Variável global que representa a base de cálculo de horas extras e adicionais noturnos.VG_HsMes: Variável global que representa a carga horária mensal.
-
Condições Especiais:
if (Func_ValidarExistenciaLancamento(Lancamento) == true && Lancamento.Percentual > 0M && Lancamento.Quantidade > 0M): Condição principal para que o cálculo da verba seja executado.if (HoleriteVerba.ValorTotal > 0M && SysFunc_VerbaPossuiDSR(HoleriteVerba.Verba.Codigo)): Condição para que o cálculo do DSR seja disparado.
-
Funções Identificadas:
Func_ValidarExistenciaLancamento: Verifica se um lançamento específico para a verba existe e é válido no contexto atual.Func_ArredondamentoPadrao: Aplica a regra de arredondamento padrão do sistema a um valor decimal.SysFunc_VerbaPossuiDSR: Consulta a configuração do sistema para determinar se uma verba específica (identificada pelo seu código) deve gerar DSR.Func_DSR: É a função responsável por calcular e registrar a verba de Descanso Semanal Remunerado, com base nos valores e configurações da verba de origem.
💡 Proposta de Novo Cálculo
Fórmula proposta (padronizada):
ValorTotal = Func_ArredondamentoPadrao (((Se FormaApuracao == “Valor_Dia_Proporcional” Entao Empregado.ValorSalarioNominal/DivisorDias Senao Lancamento.ValorTotal) x FatorAdicional) x QuantidadeDias)
1. Filtros de Elegibilidade e Validações de Entrada (Piso Seguro)
SE Parametro.RubricaAtivaNaEmpresa == FALSO ENTÃO RETORNAR NULO FIM_SE
2. Validação do Gatilho Temporal (Mês de Competência do Benefício)
SE Parametro.AtivarGatilhoTemporal == VERDADEIRO ENTÃO SE Contexto.MesCompetenciaFolha != Parametro.MesCompetenciaCalculoAuto ENTÃO A verba permanece adormecida fora da competência do Dia do Previdenciário RETORNAR NULO FIM_SE FIM_SE
SE Func_ValidarExistenciaLancamento(Lancamento) == FALSO E Parametro.AtivarGatilhoTemporal == FALSO ENTÃO RETORNAR NULO FIM_SE
BaseBrutaDia = 0.00 QuantidadeDias = 1.00
3. Determinação da Base de Cálculo por Forma de Apuração
SE Parametro.FormaApuracaoValor == “Valor_Dia_Proporcional” ENTÃO DivisorDias = Parametro.TipoDivisorDias == “Fixo_30” ? 30.00 : Empregado.DiasCalendarioMes BaseBrutaDia = Empregado.ValorSalarioNominal / DivisorDias
Adota a quantidade do lançamento ou força o padrão de 1 dia de direito SE Lancamento.Quantidade > 0.00 ENTÃO QuantidadeDias = Lancamento.Quantidade FIM_SE SENÃO_SE Parametro.FormaApuracaoValor == “Valor_Fixo_Lancado” ENTÃO SE Lancamento.ValorTotal <= 0.00 ENTÃO RETORNAR NULO FIM_SE BaseBrutaDia = Lancamento.ValorTotal QuantidadeDias = 1.00 FIM_SE
4. Aplicação do Parâmetro de Dobra ou Acréscimo Convencional
FatorAdicional = 1.00 SE Parametro.PagarDiaEmDobro == VERDADEIRO ENTÃO FatorAdicional = 2.00 FIM_SE
5. Liquidação Financeira
ValorFinalCalculado = (BaseBrutaDia * FatorAdicional) * QuantidadeDias
6. Atribuição de Resultados e eSocial Compliance
HoleriteVerba.ValorTotal = Func_ArredondamentoPadrao(ValorFinalCalculado) HoleriteVerba.ValorReferencia = Func_ArredondamentoPadrao(BaseBrutaDia * FatorAdicional) HoleriteVerba.Quantidade = QuantidadeDias
Vinculação Rígida de Metadados e Encargos Fiscais HoleriteVerba.INSS = “SAL” HoleriteVerba.FGTS = “SAL” HoleriteVerba.IRRF = “SAL” HoleriteVerba.NaturezaeSocial = Parametro.NaturezaeSocialInformada // Conforme parametrização visual HoleriteVerba.DSR = “S” HoleriteVerba.Medias = “S”
7. Registro de Rastreabilidade na Memória de Cálculo
Func_EscreverMemoriaCalculo(“Gatilho Temporal Ativo para o Mês: ” + Func_ConverterParaTexto(Parametro.MesCompetenciaCalculoAuto)) Func_EscreverMemoriaCalculo(“Fração do Dia Salarial (” + Func_ConverterParaTexto(QuantidadeDias) + ” dia(s)): R$ ” + Func_ConverterParaTexto(BaseBrutaDia)) Func_EscreverMemoriaCalculo(“Fator de Multiplicação Comercial: ” + Func_ConverterParaTexto(FatorAdicional) + “x (Dobra: ” + Func_ConverterParaTexto(Parametro.PagarDiaEmDobro) + ”)”) Func_EscreverMemoriaCalculo(“Resultado Líquido Convertido para o Holerite: R$ ” + Func_ConverterParaTexto(HoleriteVerba.ValorTotal))
RETORNAR HoleriteVerba
Impactos
- Descontinuação do ID de fórmula 33583 (Fapes).
- Migração do cliente para a Regra Geral Padronizada, ativando as flags de automatização salarial.
Benefícios
- Fim do Cálculo Manual: O DP da Fapes não precisará calcular o valor do dia atualizado pós-dissídio; o sistema recalcula a base automaticamente.
- Segurança de Auditoria: O histórico de cálculo detalhará a fórmula perfeitamente no espelho do cálculo.
Parametrizações Propostas para Reestruturação
1. Forma de Apuração do Valor
- Opções na interface:
- ( ) Valor Fixo Lançado: Entrada manual direta em reais.
- ( ) Valor do Dia Proporcional: O sistema divide o
VG_VlrSalNompor 30 e multiplica pela quantidade de dias informada.
2. Mês de Ativação Automática (Gatilho Temporal)
- Campo drop-down: “Mês de competência para cálculo automático: [Selecionar Mês]”.
- Isso permite que a verba fique “adormecida” o ano todo e seja disparada automaticamente pelo motor de cálculo apenas no mês correto do benefício, sem necessidade de digitação por parte do usuário.
3. Parâmetro de Dobra
- Checkbox: [ ] Pagar este dia com acréscimo de 100% (Em dobro).
Clientes com mesma regra
- Fapes: Plenamente compatibilizada, higienizada e amparada pelo novo núcleo genérico. A fórmula customizada
33583é permanentemente descontinuada e excluída dos repositórios. Configurando o motor dinâmico com a forma de apuração em"Base_Horas_Extras_Legado"e selecionando o acréscimo como"Percentual_Lancamento", o algoritmo recalcula com precisão eletrônica a divisão de variáveis e incorpora o percentual e a quantidade informados pelo operador. O reflexo nativo de DSR elimina o fluxo fixo executado porSysFunc_VerbaPossuiDSR, mantendo a geração da verba 55 idêntica ao histórico financeiro do cliente.
Status Documental
- Status: Documentada
- Origem: export do Notion + catálogo da wiki
- Fonte rastreável:
30dc75ea2e838139a8f0c114ac6bf45e