575 - Média de Férias Prop. inden.
⚙️ Metadados
- Código: 575
- Tipo: Provento
- INSS: ISE
- FGTS: ISE
- IRRF: ISE
- Natureza eSocial: 6006 - Férias proporcionais
- DSR: Não
- Médias: Não
- Impacto Financeiro: Não
- Impacto Contábil: Sim
- Sequência: 4621
🧮 Regra Geral
-
Lógica de Cálculo:
- Validação Inicial: A verba não é calculada se o
Empregado.CPFfor “22235166881” (cliente Brabus) e oSolicitacao.TipoProcessoforProvisoes. - Condição de Ativação: O cálculo prossegue apenas se o motivo da rescisão do empregado não for “Com Justa Causa” e se houver dias de férias proporcionais indenizadas (
VG_DiasFeriasPropInd520 > 0). - Inicialização de Parâmetros: São definidos parâmetros como o código da verba (
575), descrição, datas de início e fim do período de cálculo, se inclui folha de rescisão nas médias, e o código da verba de DSR (585). - Iteração por Períodos Aquisitivos: O sistema percorre cada período aquisitivo proporcional (
VG_ListaPeriodosProporcionais). - Iteração por Verbas de Média: Para cada período aquisitivo, o sistema itera sobre as verbas configuradas para cálculo de média (
VG_VerbasMediaVlr). - Definição do Período de Média:
- As datas de início (
prmDtaInicio) e fim (prmDtaFim) para o cálculo da média são inicialmente definidas com base no período aquisitivo e na data de desligamento. - Para a verba de origem 5 (Comissões), o período é ajustado para os últimos 12 meses anteriores à data de referência da solicitação.
- Customizações de Clientes: O período de cálculo é ajustado para clientes específicos:
- As datas são então ajustadas por funções
SysFunc_Altera_DataFim_MediaseSysFunc_Altera_DataInicio_Medias.
- As datas de início (
- Cálculo da Média: A função
SysFunc_MediaFEI_Vlr_AgrupadoPrcé chamada para calcular o valor da média, considerando os parâmetros definidos. - Cálculo do DSR sobre Média: Se a verba de origem possui DSR (
SysFunc_VerbaPossuiDSR), o valor da média é positivo eVG_CalcularDSRMediaé verdadeiro:- Para os demais clientes: Itera sobre as verbas calculadas e utiliza a função
Func_DSRpara gerar a verba de DSR (585).
- Para os demais clientes: Itera sobre as verbas calculadas e utiliza a função
- Validação Inicial: A verba não é calculada se o
-
Fórmula matemática:
- Não há uma fórmula matemática explícita no código, mas a lógica envolve a apuração de valores em um período e a divisão por um fator (implícito na função
SysFunc_MediaFEI_Vlr_AgrupadoPrc) para obter a média diária ou mensal, multiplicada pelos dias de férias proporcionais indenizadas.
- Não há uma fórmula matemática explícita no código, mas a lógica envolve a apuração de valores em um período e a divisão por um fator (implícito na função
-
Variáveis Utilizadas:
Empregado.CPFSolicitacao.TipoProcessoEmpregado.Rescisao.MotivoRescisaoVG_DiasFeriasPropInd520prmCodVerbaprmDescricaoprmDtaInicioprmDtaFimprmIncluiFolhaRescisaoNasMediasprmLogarprmCodVerbaOrigemprmDiasFeriasIndenizadasprmCodVerbaDSRVG_VerbasMediaVlrVG_ListaPeriodosProporcionaisperiodo.DataInicioperiodo.DataFimperiodo.DiasPendentesSolicitacao.ClienteSindicato.CNPJEmpregador.CNPJEmpregadorVG_DataDesligamentoSolicitacao.DataReferenciaEmpregado.DataAdmissaoVG_CalcularDSRMediaHoleriteVerba.
-
Condições Especiais:
- Exclusão de cálculo para
Empregado.CPF == "22235166881"em processos de provisão. - Cálculo condicionado a
Empregado.Rescisao.MotivoRescisao != EnumTipoRescisaoBO.ComJustaCausaeVG_DiasFeriasPropInd520 > 0. - Períodos de cálculo de média customizados para
prmCodVerbaOrigem == "5"(Comissões). - Períodos de cálculo de média customizados para clientes
influx,syngentacomepratafinasob condições específicas de CNPJ de sindicato/empregador e verba de origem. - Cálculo de DSR condicionado a
SysFunc_VerbaPossuiDSR, valor positivo da média eVG_CalcularDSRMedia. - Função de cálculo de DSR customizada para o cliente
veibras.
- Exclusão de cálculo para
🔗 Dependências
- Verbas Relacionadas:
- Verba 5 (Comissões): É uma das verbas de origem para as quais a média pode ser calculada.
- Verba 585: É a verba de DSR gerada sobre o valor da média calculada pela verba 575.
- Tipo de Relação:
- Verba 5: Dependência (a verba 575 calcula a média desta verba).
- Verba 585: Geração (a verba 575 cria a verba 585).
🧩 Funções
SysFunc_DtaIniMedFeriasPA(periodo): Retorna a data de início para o cálculo da média de férias de um período aquisitivo.SysFunc_UltimoDiaMes(data): Retorna o último dia do mês de uma data.SysFunc_PrimeiroDiaMes(data): Retorna o primeiro dia do mês de uma data.SysFunc_MaiorData(data1, data2): Retorna a maior entre duas datas.SysFunc_Altera_DataFim_Medias(...): Altera a data final para o cálculo de médias.SysFunc_Altera_DataInicio_Medias(...): Altera a data inicial para o cálculo de médias.SysFunc_MediaFEI_Vlr_AgrupadoPrc(...): Calcula o valor da média de Férias, 13º e Indenizações, agrupado por processo.SysFunc_VerbaPossuiDSR(prmCodVerbaOrigem): Verifica se uma verba de origem específica possui DSR.Func_DSR_MediaVlr(...): Função customizada para cálculo de DSR sobre médias de valor (usada pelo cliente Veibras).Func_DSR(...): Função geral para cálculo de DSR.
🎯 Particularidades por Cliente/Setor
👤 Acal
-
Múltiplas Regras Específicas: O cliente “acal” possui quatro regras específicas para a verba 575, cada uma com uma sequência e lógica de cálculo distintas, enquanto a regra geral possui apenas uma.
- Sequência 4621:
4094 # Férias Prop. inden. - Média Vlr [ ACAL ] verba 575 - Sequência 4631:
4095 # Férias Prop. inden. - Média Qtde. [ ACAL ] verba 575 - Sequência 4641:
4096 # Férias Prop. inden. - Média Lcto Continuo Prc [ ACAL ] verba 575 - Sequência 4651:
4097 # Férias Prop. inden. - Média Lcto. Continuo Vlr [ ACAL ] verba 575
- Sequência 4621:
-
Condições de Retorno Nulo Iniciais:
- Sequência 4621: Não possui as condições de retorno nulo para CPF e tipo de processo específicos presentes na regra geral. Inicia com a atribuição
VG_VlrHEValor = 0M;. - Sequências 4631, 4641, 4651: Retornam nulo se
Lancamento.ValorTotal > 0M.
- Sequência 4621: Não possui as condições de retorno nulo para CPF e tipo de processo específicos presentes na regra geral. Inicia com a atribuição
-
Dicionários de Verbas para Média:
- Sequência 4621: Utiliza o dicionário
VG_VerbasMediaVlr, mas remove a verba “5” (Comissão) para um conjunto específico de CNPJs de empregadores e sindicatos (Gucci, Saint Laurent, Bottega, Vida Melhor Editora, Casa dos Livros Editora), controlando a execução de um processo especial de comissão. Ao final, restaura a verba “5” ao dicionário se ela foi removida. - Sequência 4631: Utiliza o dicionário
VG_VerbasMediaQtde. - Sequência 4641: Utiliza o dicionário
VG_VerbasMediaLctoContinuoPrc. - Sequência 4651: Utiliza o dicionário
VG_VerbasMediaLctoContinuoVlr.
- Sequência 4621: Utiliza o dicionário
-
Lógica de Cálculo de Datas para Médias:
- Sequência 4621:
- Para a verba “5” (Comissão) em empregadores específicos (Gucci Brasília, Dynatrace), a
prmDtaFimé o último dia do mês anterior à data de referência eprmDtaInicioretroage 11 meses ou até a data de admissão. - Para a verba “5” em Balenciaga SP (com SECSP), a
prmDtaFimé o dia anterior ao primeiro dia do mês da data de referência eprmDtaInicioretroage 5 meses ou até a data de admissão. - Para verbas diferentes de “5” em Balenciaga RJ (com SEC RJ), a
prmDtaFimé o dia anterior ao primeiro dia do mês da data de referência eprmIncluiFolhaRescisaoNasMediasé definido comofalse.
- Para a verba “5” (Comissão) em empregadores específicos (Gucci Brasília, Dynatrace), a
- Sequência 4631:
- A variável
prmValorHoraBaseMediaé inicializada comVG_BCHExtAdNot / VG_HsMes. - Se o
Empregado.TipoPagamentoforComissaoPura,prmValorHoraBaseMediaé recalculado com base no valor total da verba 575 (média de comissão) já calculada no holerite. - Para o empregador “Baru” e verbas “1133” ou “1134”,
prmValorHoraBaseMediaéVG_VlrSalNom / 30M. - Para verbas diferentes de “5” em Balenciaga RJ (com SEC RJ), a
prmDtaFimé o dia anterior ao primeiro dia do mês da data de referência eprmIncluiFolhaRescisaoNasMediasé definido comofalse.
- A variável
- Sequência 4641:
prmDtaInicioeprmDtaFimsão fixados para o primeiro e último dia do mês daSolicitacao.DataReferencia, respectivamente, para todas as verbas do dicionário.prmValorBaseMediaéVG_VlrSalNompor padrão, mas éVG_VlrBaseCalcInsalpara a verba “80” eVG_BCHExtAdNot + VG_VlrLcto1311para verbas “1312” ou “1313” em empregadores “Baru” ou “Mercosul”.
- Sequência 4651:
- Para verbas “241”, “1151”, “1198” (Dynatrace), ou para empregadores “Baru” ou “Mercosul” com verbas específicas (“37”, “1164”, “1311”, “1356”, “28”, “1458”, “1362”, “1147”, “1354”),
prmDtaInicioeprmDtaFimsão fixados para o primeiro e último dia do mês daSolicitacao.DataReferencia. - A descrição da verba (
prmDescricao) é alterada para incluir “DSR” para a verba “1458” (DSR Marítimo) no empregador “Baru”.
- Para verbas “241”, “1151”, “1198” (Dynatrace), ou para empregadores “Baru” ou “Mercosul” com verbas específicas (“37”, “1164”, “1311”, “1356”, “28”, “1458”, “1362”, “1147”, “1354”),
- Sequência 4621:
-
Funções de Cálculo de Média Utilizadas:
- A regra geral utiliza
SysFunc_MediaFEI_Vlr_AgrupadoPrc(form 525). - Sequência 4631: Utiliza
SysFunc_MediaFEI_Qtde_AgrupadoPrc(form 526). - Sequência 4641: Utiliza
SysFunc_MediaFEI_LctoContinuo_Prc(form 528). - Sequência 4651: Utiliza
SysFunc_MediaFEI_LctoContinuo_UltimoVlr(form 529).
- A regra geral utiliza
-
Processamento Especial de Comissões:
- Sequência 4621: Possui um bloco de “PROCESSOS ESPECIAIS” ativo e complexo para a verba “5” (Comissões), que na regra geral está comentado. Este bloco:
- Determina dinamicamente o período de cálculo (
DtaIni,DtaFim) para a média de comissão (6 ou 12 meses) com base em diversos CNPJs de empregadores e sindicatos. - Pode aplicar ajuste de INPC para a média de comissão para o empregador “Gucci - Curitiba”.
- Soma verbas de DSR de comissão (“205”, “342”, “346”) diretamente ao total da comissão para alguns empregadores (Gucci, Saint Laurent, Bottega) se a flag
Comis_e_DSR_Juntofortrue. - Adiciona DSR de verba “55” e outras verbas de DSR de média (“342”, “346”) ao total da comissão para “SAINT LAURENT 04”.
- Cria uma nova verba de holerite (
NovaMedia) para a média de comissão calculada, com quantidade e valor total arredondados e adiciona aoHolerite.ListaHoleriteVerba. - Inclui lógica de DSR específica para esta média de comissão se
Comis_e_DSR_Juntoforfalse.
- Determina dinamicamente o período de cálculo (
- Sequência 4621: Possui um bloco de “PROCESSOS ESPECIAIS” ativo e complexo para a verba “5” (Comissões), que na regra geral está comentado. Este bloco:
-
Processamento Especial de Adicional por Tempo de Serviço (ATS):
- Sequência 4641: Inclui um bloco de “PROCESSOS ESPECIAIS” para calcular a média do ATS quando este é baseado em percentual (
VG_PrcATS > 0M && VG_VlrCada_enio == 0M).- A base de cálculo do ATS (
BC_ATS) pode serVG_VlrSalNomou incluirAdic. Exercício Cargo Confiança(verba “1181”) para Gucci, Bottega, Saint Laurent, ou serVG_VlrBaseATSMedias_Mercosulpara Mercosul. - Cria uma nova verba de holerite (
NovaMedia) para a média do ATS e a adiciona aoHolerite.ListaHoleriteVerba.
- A base de cálculo do ATS (
- Sequência 4651: Inclui um bloco de “PROCESSOS ESPECIAIS” para calcular a média do ATS quando este é baseado em valor por biênio/triênio (
VG_PrcATS > 0M && VG_VlrCada_enio > 0M).- Calcula
NovaMedia.ValorReferenciacomoVG_PrcATS * VG_VlrCada_enio. - Cria uma nova verba de holerite (
NovaMedia) para a média do ATS e a adiciona aoHolerite.ListaHoleriteVerba.
- Calcula
- Sequência 4641: Inclui um bloco de “PROCESSOS ESPECIAIS” para calcular a média do ATS quando este é baseado em percentual (
👤 Advantech
- Condição de Retorno Nulo Inicial: Retorna
nullseLancamento.ValorTotalfor maior que 0, indicando que um lançamento manual existente para a verba 575 impede o cálculo automático. - Fonte das Verbas para Média: Utiliza o dicionário
VG_VerbasMediaLctoContinuoVlrpara identificar as verbas cujas médias serão calculadas. - Cálculo da Média Principal: Emprega a função
SysFunc_MediaFEI_LctoContinuo_UltimoVlr(form 529) para determinar o valor da média. - Ajustes de Período para Média: Não aplica ajustes específicos de datas de início e fim para o cálculo da média, como os baseados em
prmCodVerbaOrigem == "5"ou em clientes específicos (influx,syngentacom,pratafina), nem as funçõesSysFunc_Altera_DataFim_MediaseSysFunc_Altera_DataInicio_Medias. - Cálculo de DSR sobre Média: Não inclui a lógica condicional para o cliente “veibras” no cálculo do DSR sobre a média, utilizando diretamente a função
Func_DSR(form 10572) para todas as verbas. - Processos Especiais de Comissões: Não possui blocos de código para “PROCESSOS ESPECIAIS” relacionados a comissões.
👤 Brabus
-
Empregado.CPF == “22235166881” (Brabus): Exclui o cálculo da verba em processos de provisão para este CPF específico.
-
Condições de Retorno Nulo Iniciais: A regra de Brabus retorna
nullseLancamento.ValorTotalfor maior que0M. A regra geral possui uma condição de retorno nulo para um CPF específico (22235166881) e tipo de processo (Provisoes). -
Dicionário de Verbas para Médias: Brabus utiliza o dicionário
VG_VerbasMediaLctoContinuoVlrpara identificar as verbas cujas médias serão calculadas. A regra geral utilizaVG_VerbasMediaVlr. -
Função de Cálculo de Média: Brabus invoca a função
SysFunc_MediaFEI_LctoContinuo_UltimoVlr(fórmula 529) para calcular as médias. A regra geral utilizaSysFunc_MediaFEI_Vlr_AgrupadoPrc(fórmula 525). -
Ajustes de Período para Verbas Específicas: A regra de Brabus não contém os ajustes de
prmDtaInicioeprmDtaFimque a regra geral aplica especificamente para a verba5(Comissão) ou para clientes como “influx”, “syngentacom” e “pratafina”. -
Funções de Alteração de Data de Médias: A regra de Brabus não chama as funções
SysFunc_Altera_DataFim_MediaseSysFunc_Altera_DataInicio_Mediasque estão presentes na regra geral. -
Cálculo de DSR Específico para Cliente “veibras”: A regra de Brabus não possui o bloco condicional para o cliente “veibras” que utiliza
Func_DSR_MediaVlrpara o cálculo do DSR sobre a média. -
Processos Especiais - Adicional Tempo Serviço (Verba 95): Brabus inclui um bloco de cálculo específico para o Adicional Tempo Serviço (verba
95), que calcula um valor de média com base emVG_PrcATSeVG_VlrCada_enio, arredonda o resultado e adiciona uma nova verba ao holerite. Este bloco não existe na regra geral. -
Processos Especiais - Garantia de Salário (Verba 66): Brabus inclui um bloco de cálculo específico para a Garantia de Salário (verba
66), que compara o valor da garantia com as médias de férias proporcionais indenizadas já calculadas (verbas520e575) e adiciona um complemento se necessário. Este bloco não existe na regra geral. -
Condição de Ativação: A condição de ativação para Brabus é “Férias Prop. inden. - Média Lcto Continuo Vlr”, diferente da regra geral que é “Férias Prop. inden. - Média Vlr”.
👤 Influx
- Se Sindicato.CNPJ == “76690353000122” (SINDEHOTEIS-Cutitiba): Customiza o período de cálculo da média para 6 meses anteriores ao mês da data de referência.
👤 Jmalucelli
-
Condições de Retorno Nulo Iniciais: Não possui as condições de retorno nulo baseadas em CPF (
Empregado.CPF == "22235166881") e Tipo de Processo (Solicitacao.TipoProcesso == EnumTipoProcessoBO.Provisoes) presentes na regra geral. -
Lógica de Cálculo de Média de Valores (Sequência 4621):
- Inicialização de Parâmetros: Adiciona a variável booleana
ProcEspecialinicializada comofalse. - Tratamento de Verba 5 (Comissão): Condicionalmente remove a verba “5” (
Comissão) do dicionárioVG_VerbasMediaVlre defineProcEspecialcomotruese o CNPJ do empregador começar com “1149214100” (Forza Maquinas Agricolas e Construção Ltda) ou “9542432100” (JMalucelli Rental S/A). - Ajustes de Data Específicos de Cliente: Não aplica os ajustes de
prmDtaFimeprmDtaIniciopara os clientes “influx”, “syngentacom” e “pratafina” que estão presentes na regra geral. - Funções de Alteração de Data de Média: Não utiliza as funções
SysFunc_Altera_DataFim_MediaseSysFunc_Altera_DataInicio_Mediasque são chamadas na regra geral. - Cálculo de DSR Específico de Cliente: Não possui a lógica de cálculo de DSR específica para o cliente “veibras” presente na regra geral.
- Processo Especial de Comissões (Verba 5): Inclui um bloco de código ativo para o cálculo de comissões (verba “5”) quando
ProcEspecialétrue. Este bloco:- Define um período de 12 meses para a média de comissões, com
prmDtaFimsendo o último dia do mês da data de referência eprmDtaIniciosendo o primeiro dia do mês 11 meses antes ou a data de admissão, o que for maior. - Verifica se
UsaINPC(Índice Nacional de Preços ao Consumidor) deve ser aplicado com base no CNPJ do empregador (Forza Maquinas ou JMalucelli Rental). - Itera sobre o histórico de holerites (
Empregado.Historico.ListaHolerite) para somar os valores da verba “5” (HV.ValorTotal), aplicando o INPC seUsaINPCfortrue(HV.ValorTotal * IndDtaRef.IndiceAcumMesRef). - Adiciona o valor da verba “5” da própria rescisão (
Func_RecuperarSomaValorTotalHoleriteVerba("5")). - Calcula a
MediaComissaoe cria uma nova verba de holerite (NovaMedia) para a média de férias proporcionais indenizadas, incluindo demonstrativo de média e memória de cálculo. - Calcula o DSR para esta
NovaMediade comissão, sem a condiçãoVG_CalcularDSRMedia == truepresente nos outros blocos de DSR. - Inclui um bloco
elsepara o caso de não haver folha paga, apenas lançamento.
- Define um período de 12 meses para a média de comissões, com
- Restituição da Verba 5: Ao final do cálculo, se a verba “5” tiver sido removida do dicionário
VG_VerbasMediaVlr, ela é adicionada novamente.
- Inicialização de Parâmetros: Adiciona a variável booleana
-
Lógica de Cálculo de Média de Lançamento Contínuo por Percentual (Sequência 4641):
- Ativação da Regra: Esta é uma regra de cálculo adicional para a verba 575, não presente na regra geral.
- Condições de Retorno Nulo Iniciais: Possui uma condição de retorno nulo se
Lancamento.ValorTotal > 0M. - Dicionário de Verbas para Média: Utiliza o dicionário
VG_VerbasMediaLctoContinuoPrcpara as verbas de média, diferente doVG_VerbasMediaVlrda regra geral. - Ajustes de Data Específicos por Verba: Define
prmDtaInicioeprmDtaFimpara o mês da data de referência para verbas como “Acúmulo de Função” (70, 71), “Insalubridade” (80), “Periculosidade” (85), “Adicional de Transferência” (100), “Indenização Supressão Comissão” (557) e “Gratificação de Função” (1151). - Base de Cálculo Específica por Verba: Ajusta
prmValorBaseMediaparaVG_VlrBaseCalcInsalpara verba “80” (Insalubridade),VG_BC_Pericpara verba “85” (Periculosidade), eVG_VlrSalNompara verba “1151” (Gratificação de Função). - Função de Cálculo de Média: Utiliza a função
SysFunc_MediaFEI_LctoContinuo_Prc(form 528) para o cálculo da média, diferente daSysFunc_MediaFEI_Vlr_AgrupadoPrc(form 525) da regra geral. - Processos Especiais de Adicional Tempo Serviço (ATS): Inclui blocos de cálculo para ATS (verbas “95” e “97”) baseados em percentual (
VG_PrcATS,VG_PrcATSLegado) sobre o salário nominal (VG_VlrSalNom), com memória de cálculo detalhada para a verba “95”.
-
Lógica de Cálculo de Média de Lançamento Contínuo por Valor (Sequência 4651):
- Ativação da Regra: Esta é uma regra de cálculo adicional para a verba 575, não presente na regra geral.
- Condições de Retorno Nulo Iniciais: Possui uma condição de retorno nulo se
Lancamento.ValorTotal > 0M. - Dicionário de Verbas para Média: Utiliza o dicionário
VG_VerbasMediaLctoContinuoVlrpara as verbas de média, diferente doVG_VerbasMediaVlrda regra geral. - Ajustes de Data Específicos por Verba: Define
prmDtaInicioeprmDtaFimpara o mês da data de referência para verbas como “Acúmulo de Função” (70), “Quebra de Caixa” (110), “Indenização Supressão Comissão” (557) e “Indenização Supressão Horas Extras (trib.)” (559). - Função de Cálculo de Média: Utiliza a função
SysFunc_MediaFEI_LctoContinuo_UltimoVlr(form 529) para o cálculo da média, diferente daSysFunc_MediaFEI_Vlr_AgrupadoPrc(form 525) da regra geral. - Processos Especiais de Adicional Tempo Serviço (ATS): Inclui blocos de cálculo para ATS (verbas “95” e “97”) baseados em valor (
VG_PrcATS*VG_VlrCada_enio,VG_PrcATSLegado*VG_VlrCada_enio_Legado).
👤 Lechler
- Condições de Retorno Nulo Iniciais: A verba não é calculada se
Lancamento.ValorTotalfor maior que0M. - Dicionário de Verbas para Média: Utiliza o dicionário
VG_VerbasMediaLctoContinuoPrcpara identificar as verbas que compõem a média, em vez deVG_VerbasMediaVlr. - Lógica de Período para Verbas Específicas: Para as verbas de código
80(Insalubridade) e85, o período de cálculo da média é restrito ao mês da data de referência (SysFunc_PrimeiroDiaMes(Solicitacao.DataReferencia)aSysFunc_UltimoDiaMes(Solicitacao.DataReferencia)). - Base de Cálculo para Verbas Específicas: Para a verba de código
80(Insalubridade), a base de cálculo da média éVG_VlrBaseCalcInsal, enquanto para as demais verbas do dicionário, a base éVG_VlrSalNom. - Função de Cálculo da Média: Utiliza a função
SysFunc_MediaFEI_LctoContinuo_Prc(fórmula 528) para calcular as médias, que é diferente daSysFunc_MediaFEI_Vlr_AgrupadoPrc(fórmula 525) usada na regra geral. - Cálculo de Adicional por Tempo de Serviço (ATS): Inclui blocos de código específicos para calcular a média de Adicional por Tempo de Serviço (ATS) para as verbas de origem
95e97(legado), caso as variáveisVG_PrcATSouVG_PrcATSLegadosejam maiores que0MeVG_VlrCada_enioouVG_VlrCada_enio_Legadosejam0M. Estas verbas são calculadas com base noVG_VlrSalNommultiplicado pelo percentual do ATS, dividido por 30 e multiplicado pelos dias de férias proporcionais indenizadas. - Ausência de Lógicas de Cliente Específicas da Regra Geral: Não possui as condições de período de cálculo customizadas para os clientes “influx”, “syngentacom” e “pratafina” presentes na regra geral.
- Ausência de Lógica de Período para Verba 5 (Comissão): Não possui a lógica específica de 12 meses para a verba de comissão (
Codigo == "5") que existe na regra geral.
👤 Monsanto
-
Múltiplas Fórmulas Específicas: O cliente “monsanto” possui quatro fórmulas distintas para a verba 575, cada uma com uma lógica de cálculo de média diferente (valor, quantidade, lançamento contínuo percentual e lançamento contínuo valor). A regra geral possui apenas uma fórmula.
- Fórmula 10426: Média Férias Prop. inden. - Média Vlr
- Fórmula 10427: Média Férias Prop. inden. - Média Qtde.
- Fórmula 10428: Média Férias Prop. inden. - Média Lcto Continuo Prc
- Fórmula 10429: Média Férias Prop. inden. - Média Lcto. Continuo Vlr
-
Condições de Retorno Nulo Iniciais:
- Fórmula 10426: Não possui a condição de retorno nulo baseada em
Empregado.CPFeSolicitacao.TipoProcessopresente na regra geral. Em vez disso, introduz uma variávelSemMediaque impede o cálculo se aDataReferenciafor junho de 2015. - Fórmulas 10427, 10428, 10429: Todas as três fórmulas retornam
nullseLancamento.ValorTotal > 0M, o que não existe na regra geral.
- Fórmula 10426: Não possui a condição de retorno nulo baseada em
-
Ajustes de Período para Cálculo de Médias:
- Fórmula 10426: Não aplica os ajustes de
prmDtaInicioeprmDtaFimque são específicos para os clientes “influx”, “syngentacom” e “pratafina” presentes na regra geral. - Fórmula 10429: Possui uma condição exclusiva que ajusta
prmDtaInicioeprmDtaFimpara o mês daSolicitacao.DataReferenciaseSysFunc_VerificaPossuiLancamentoMesAtual(Codigo)for verdadeiro.
- Fórmula 10426: Não aplica os ajustes de
-
Cálculo de DSR Específico:
- Fórmula 10426: Não inclui a condição especial para o cliente “veibras” no bloco de cálculo de DSR, presente na regra geral.
-
Controle de Média Simples:
- Fórmula 10426: Define a variável global
VG_MediaSimples_12 = true;antes de iniciar o cálculo das médias e a redefine parafalse;ao final da execução.
- Fórmula 10426: Define a variável global
-
Tratamento da Verba 1034 (Liberação Antecipada de Produção):
- Fórmula 10427: Remove a verba “1034” do dicionário
VG_VerbasMediaQtdesob condições específicas relacionadas aoEmpregado.TipoPagamento(Produção),Solicitacao.TipoFolha(Rescisão) e uma lista de CNPJs de empregadores (unidades Monsanto e D&PL Brasil), ou se a verba “1035” tiver valor. A verba “1034” é adicionada de volta ao dicionário ao final da execução se não estiver presente.
- Fórmula 10427: Remove a verba “1034” do dicionário
-
Base de Cálculo para Médias de Quantidade:
- Fórmula 10427: Calcula
prmValorHoraBaseMediautilizandoVG_BCHExtAdNot / VG_HsMesouVG_VlrSalNom / VG_HsMespara a verba de origem “10”, e utiliza a funçãoSysFunc_MediaFEI_Qtde_AgrupadoPrcpara o cálculo.
- Fórmula 10427: Calcula
-
Cálculo de Adicional por Tempo de Serviço (ATS):
- Fórmula 10428: Inclui um “PROCESSO ESPECIAL” para calcular o ATS (verba 95) como uma média percentual (
VG_PrcATSsobreVG_VlrSalNom) para os dias de férias proporcionais indenizadas, casoVG_PrcATS > 0MeVG_VlrCada_enio == 0M. - Fórmula 10429: Inclui um “PROCESSO ESPECIAL” para calcular o ATS (verba 95) como uma média de valor (
VG_PrcATS*VG_VlrCada_enio) para os dias de férias proporcionais indenizadas, casoVG_PrcATS > 0MeVG_VlrCada_enio > 0M.
- Fórmula 10428: Inclui um “PROCESSO ESPECIAL” para calcular o ATS (verba 95) como uma média percentual (
👤 Pratafina
- Se Sindicato.CNPJ == “82666025000193” (Sec - Blumenau) e Codigo == “5”: Customiza o período de cálculo da média para 12 meses anteriores ao mês anterior à rescisão, especificamente para a verba de comissões (código 5).
👤 Salesforce
- Condições de Retorno Nulo Iniciais: Não possui as condições de retorno nulo para CPF específico (
22235166881) e tipo de processo “Provisões” (EnumTipoProcessoBO.Provisoes) presentes na regra geral. - Inicialização de Variáveis: Inicializa a variável
VG_VlrComissaoPagaMaiorcom0. - Período de Cálculo para Verbas Variáveis: O período de cálculo de 12 meses para comissões (verba
5) é estendido para incluir as verbas57e205. - Lógica de Ajuste de Datas de Média: Não utiliza as funções
SysFunc_Altera_DataFim_MediaseSysFunc_Altera_DataInicio_Mediaspara ajustar as datas de início e fim das médias. - Lógica Específica de Período de Média por Cliente: Não possui as condições de ajuste de período de média específicas para os clientes “influx”, “syngentacom” e “pratafina” que estão presentes na regra geral.
- Condição de Geração de DSR: Adiciona uma condição
prmCodVerbaOrigem != "5"para evitar a geração de DSR para a verba5(Comissões), indicando que a verba205(que está contida emVG_VerbasMediaVlr) é a responsável por gerar o DSR. - Lógica Específica de DSR: Não possui a lógica de DSR específica para o cliente “veibras”.
- Bloco de Processos Especiais (Comissões): O bloco de código comentado para “PROCESSOS ESPECIAIS - 5 - Comissões” presente na regra geral foi removido.
👤 Sugisawa
- Condições de Retorno Nulo Iniciais: A verba retorna nulo se
Lancamento.ValorTotalfor maior que 0. - Inicialização de Parâmetros:
- Não inicializa o parâmetro
prmIncluiFolhaRescisaoNasMedias. - Inicializa
prmValorBaseMediaa0M, uma variável não presente na regra geral.
- Não inicializa o parâmetro
- Dicionário de Verbas para Média: Utiliza o dicionário
VG_VerbasMediaLctoContinuoPrcpara identificar as verbas que compõem a média, diferentemente da regra geral que usaVG_VerbasMediaVlr. - Lógica de Período de Média:
- Não possui as customizações de período de média específicas para os clientes “influx”, “syngentacom” e “pratafina” presentes na regra geral.
- Não utiliza as funções
SysFunc_Altera_DataFim_MediaseSysFunc_Altera_DataInicio_Mediaspara ajustar as datas de início e fim da média. - Condição de Mês Atual: Se a verba de origem (
Codigo) possuir lançamento no mês atual (SysFunc_VerificaPossuiLancamentoMesAtual(Codigo)), o período da média é definido como o mês completo da data de referência (Solicitacao.DataReferencia).
- Função Principal de Cálculo de Média: Utiliza a função
SysFunc_MediaFEI_LctoContinuo_Prc(formulário 528) para o cálculo da média, que difere daSysFunc_MediaFEI_Vlr_AgrupadoPrc(formulário 525) usada na regra geral. - Base de Cálculo Específica: Define
prmValorBaseMediacomoVG_VlrSalNompor padrão, mas para a verba de origem80(Insalubridade), utilizaVG_VlrBaseCalcInsal. - Cálculo de DSR: Não possui a condição e o bloco de cálculo de DSR específico para o cliente “veibras” presente na regra geral.
- Processos Especiais:
- Não possui o bloco de “PROCESSOS ESPECIAIS” (comentado) para a verba 5 (Comissões) presente na regra geral.
- Possui um bloco de “PROCESSOS ESPECIAIS” para o Adicional Tempo Serviço (ATS), verba
95. SeVG_PrcATSfor maior que 0, uma nova verba de holerite é criada e calculada diretamente como(VG_VlrSalNom * (VG_PrcATS / 100M)) / 30M * prmDiasFeriasIndenizadas, com arredondamento padrão.
👤 Syngentacom
- Se Empregador.CNPJEmpregador.Contains(“633899300”) == false (excluindo Dipagro): Customiza o período de cálculo da média para 12 meses anteriores à data de referência.
👤 Tiautomotive
-
Diferenças na Fórmula (Regra ID 914 - Média Qtde):
- Condição de Retorno Nulo Inicial: A verba não é calculada (
return null) se oLancamento.ValorTotalfor maior que zero. A regra geral possui uma condição de retorno nulo diferente, baseada em CPF específico e tipo de processo de provisão. - Tipo de Média Calculada: Utiliza o dicionário
VG_VerbasMediaQtdepara identificar as verbas que compõem a média, indicando um cálculo baseado em quantidade. A regra geral utilizaVG_VerbasMediaVlrpara médias baseadas em valor. - Função de Cálculo de Média: Invoca a função
SysFunc_MediaFEI_Qtde_AgrupadoPrc(formulário 526), específica para o cálculo de médias por quantidade. A regra geral utilizaSysFunc_MediaFEI_Vlr_AgrupadoPrc. - Base para Cálculo de Quantidade: Define uma variável
prmValorHoraBaseMediacalculada a partir deVG_BCHExtAdNotdividido por umDivisor. EsteDivisoréVG_HsMespor padrão, mas é fixado em210.00Mpara o empregador com CNPJ55981351001941(Gravataí). A regra geral não possui essa lógica de base para quantidade. - Lógicas de Data Específicas de Clientes: Não inclui as condições de ajuste de
prmDtaInicioeprmDtaFimque são presentes na regra geral para clientes como “influx”, “syngentacom” e “pratafina”. - Cálculo de DSR Específico: Não possui a lógica de cálculo de DSR diferenciada para o cliente “veibras” presente na regra geral, utilizando o
Func_DSRpadrão para todas as verbas. - Processos Especiais: Não contém os blocos de “PROCESSOS ESPECIAIS” (comissões) que estão comentados na regra geral, declarando explicitamente “Não tem caso especial”.
- Condição de Retorno Nulo Inicial: A verba não é calculada (
-
Diferenças na Fórmula (Regra ID 915 - Média Lcto Continuo Prc):
- Condição de Retorno Nulo Inicial: A verba não é calculada (
return null) se oLancamento.ValorTotalfor maior que zero. A regra geral possui uma condição de retorno nulo diferente, baseada em CPF específico e tipo de processo de provisão. - Tipo de Média Calculada: Utiliza o dicionário
VG_VerbasMediaLctoContinuoPrcpara identificar as verbas que compõem a média, indicando um cálculo baseado em lançamento contínuo percentual. A regra geral utilizaVG_VerbasMediaVlrpara médias baseadas em valor. - Função de Cálculo de Média: Invoca a função
SysFunc_MediaFEI_LctoContinuo_Prc(formulário 528), específica para o cálculo de médias de lançamento contínuo percentual. A regra geral utilizaSysFunc_MediaFEI_Vlr_AgrupadoPrc. - Base para Cálculo Percentual: A variável
prmValorBaseMediaé inicializada comVG_VlrSalNom, mas é alterada paraVG_VlrBaseCalcInsalse oCodigoda verba de origem for80ou122. A regra geral não possui essa lógica de base para cálculo percentual. - Lógicas de Data Específicas de Clientes: Não inclui as condições de ajuste de
prmDtaInicioeprmDtaFimque são presentes na regra geral para clientes como “influx”, “syngentacom” e “pratafina”. - Cálculo de DSR Específico: Não possui a lógica de cálculo de DSR diferenciada para o cliente “veibras” presente na regra geral, utilizando o
Func_DSRpadrão para todas as verbas. - Processos Especiais (Adicional Tempo Serviço - ATS): Inclui um bloco de código exclusivo para calcular e adicionar a média do Adicional Tempo Serviço (ATS - verba
95) seVG_PrcATS > 0MeVG_VlrCada_enio == 0M. O cálculo é(VG_VlrSalNom * (VG_PrcATS / 100)) / 30.0M * prmDiasFeriasIndenizadas, com arredondamento padrão. A regra geral não possui este processo especial.
- Condição de Retorno Nulo Inicial: A verba não é calculada (
-
Diferenças na Tributação: Tributação idêntica à regra geral (INSS: Incide, FGTS: Incide, IRRF: Incide).
-
Diferenças em DSR, Médias e Dependências:
- DSR: Ambas as regras do TiAutomotive não possuem a customização de DSR para o cliente “veibras” presente na regra geral, utilizando o
Func_DSRpadrão. - Médias: As regras do TiAutomotive diferem fundamentalmente no tipo de média calculada: uma para médias baseadas em quantidade (
VG_VerbasMediaQtde) e outra para médias de lançamento contínuo percentual (VG_VerbasMediaLctoContinuoPrc), enquanto a regra geral foca em médias baseadas em valor (VG_VerbasMediaVlr).
- DSR: Ambas as regras do TiAutomotive não possuem a customização de DSR para o cliente “veibras” presente na regra geral, utilizando o
👤 Veibras
-
Customiza a função de cálculo do DSR sobre a média, utilizando Func_DSR_MediaVlr em vez de Func_DSR.
-
Condição de Retorno Nulo Inicial: A verba não é calculada se
Lancamento.ValorTotalfor maior que zero. -
Variáveis de Médias: Utiliza o dicionário
VG_VerbasMediaLctoContinuoVlrpara identificar as verbas que terão suas médias calculadas, em contraste comVG_VerbasMediaVlrda regra geral. -
Cálculo de Datas para Médias: As datas de início e fim para o cálculo das médias (
prmDtaInicio,prmDtaFim) são inicializadas comperiodo.DataInicioeperiodo.DataFime, em seguida, ajustadas pelas funçõesSysFunc_Altera_DataFim_MediaseSysFunc_Altera_DataInicio_Mediasantes de qualquer iteração sobre as verbas de média. Não há as customizações de datas específicas para clientes como “influx”, “syngentacom” ou “pratafina” presentes na regra geral. -
Processamento de Verbas de Média: O bloco de código que itera sobre
MediasCalcular.Keys(referente aVG_VerbasMediaLctoContinuoVlr) contém uma validação que dispara umSysFunc_Panicose o dicionário não estiver vazio, indicando que não se espera que esta lista contenha verbas para cálculo de médias genéricas. -
Processos Especiais Ativos: Possui blocos de cálculo ativos para as seguintes verbas, que não estão presentes ou estão comentados na regra geral:
- 95 - Adicional Tempo Serviço (ATS): Calcula a média do ATS com base em
VG_PrcATSeVG_VlrCada_enio, arredondando o valor final. - 98 - Prêmio do Tempo de Serviço: Calcula a média do prêmio com base em
VG_VlrPremioTempoServico, arredondando o valor final. - Média das Médias e DSRs Médias de Férias: Soma os valores totais de verbas específicas (340, 342, 434, 435, 341, 437) de holerites anteriores dentro de um período e calcula uma média, gerando uma nova verba.
- 66 - Garantia de Salário: Calcula um complemento de férias proporcionais indenizadas com base em
VG_VlrGarantiaSalario, caso este valor seja superior à soma de outras verbas de média (520, 575 com origem 5, 585 com origem 5, 575 com origem 66, 575 com origem 172).
- 95 - Adicional Tempo Serviço (ATS): Calcula a média do ATS com base em
💡 Proposta de Novo Cálculo
Fórmula proposta (padronizada):
-
Média de ATS (Verba 95): Valor_Media_ATS = Round( ( ( VG_PrcATS * VG_VlrCada_enio ) / 30 ) * Dias_Ferias_Prop )
-
Média de Prêmio Tempo de Serviço (Verba 98): Valor_Media_Premio_TS = Round( ( VG_VlrPremioTempoServico / 30 ) * Dias_Ferias_Prop )
-
Média de Lançamento Contínuo Valor (Dicionário LctoContinuoVlr): Valor_Media_LctoContinuoVlr = ( Sum(Valor_Rubrica_LctoContinuo) / Divisor_Meses_Aquisitivos ) * ( Dias_Ferias_Prop / 30 )
-
DSR Customizado sobre Média (Engine Veibras / Func_DSR_MediaVlr): Valor_DSR_MediaVlr = Func_DSR_MediaVlr( Valor_Media_Calculado, Tabela_DSR_Vigente )
-
Média das Médias e DSRs Históricas: Valor_Media_Das_Medias = ( Sum(Vlr_Verbas_340_342_434_435_341_437_Historico) / Meses_Janela ) * ( Dias_Ferias_Prop / 30 )
-
Complemento de Garantia de Salário (Verba 66): Soma_Medias_Origem = Vlr_Verba_520 + Vlr_Verba_575_Orig_5 + Vlr_Verba_585_Orig_5 + Vlr_Verba_575_Orig_66 + Vlr_Verba_575_Orig_172 Complemento_Garantia_Prop = Max( 0, ( ( VG_VlrGarantiaSalario - Soma_Medias_Origem ) / 30 ) * Dias_Ferias_Prop )
1. FILTROS DE ELEGIBILIDADE E ISENÇÕES (PISO SEGURO)
SE ctx.Empregado.Rescisao.MotivoRescisao == “COM_JUSTA_CAUSA” ENTAO RETORNAR NULO FIM_SE
SE ctx.Rescisao.DiasFeriasPropIndenizadas <= 0 ENTAO RETORNAR NULO FIM_SE
Sobrecarga por Lançamento Manual na Rubrica (Lancamento.ValorTotal > 0) SE ctx.VerbaAtual.HasLancamentoManual E ctx.VerbaAtual.ValorLancamentoManual > 0 ENTAO RETORNAR NULO FIM_SE
2. OBTENÇÃO DA CONFIGURAÇÃO DINÂMICA DO TENANT / SINDICATO
ConfiguracaoMediaFerias config = ObterConfiguracaoFeriasTenant( ctx.Empresa.Id, ctx.Empregado.SindicatoId, ctx.VerbaAtual.Codigo )
DiasFeriasProp = ctx.Rescisao.DiasFeriasPropIndenizadas
3. PROCESSAMENTO DE PROCESSOS ESPECIAIS (ATS E PRÊMIO TEMPO DE SERVIÇO)
SE config.ProcessosEspeciais.CalcularATS ENTAO Decimal vlrMediaATS = Arredondar((ctx.VariaveisGlobais.VG_PrcATS * ctx.VariaveisGlobais.VG_VlrCada_enio / 30) * DiasFeriasProp) SE vlrMediaATS > 0 ENTAO ctx.Holerite.AdicionarRubrica(CriarRubricaHolerite( codigo: config.CodigosEspeciais.VerbaATS, // 95 descricao: “MEDIA ATS FERIAS PROP”, valor: vlrMediaATS )) FIM_SE FIM_SE
SE config.ProcessosEspeciais.CalcularPremioTempoServico ENTAO Decimal vlrMediaPremio = Arredondar((ctx.VariaveisGlobais.VG_VlrPremioTempoServico / 30) * DiasFeriasProp) SE vlrMediaPremio > 0 ENTAO ctx.Holerite.AdicionarRubrica(CriarRubricaHolerite( codigo: config.CodigosEspeciais.VerbaPremioTempoServico, // 98 descricao: “MEDIA PREMIO TEMPO SERVICO FERIAS PROP”, valor: vlrMediaPremio )) FIM_SE FIM_SE
4. ITERAÇÃO SOBRE OS PERÍODOS AQUISITIVOS PROPORCIONAIS
PARA CADA periodoAquisitivo EM ctx.Empregado.ListaPeriodosProporcionais FACA
Ajuste global inicial de datas sem exceções hardcoded por cliente PeriodoData janelaAjustada = PeriodoData(periodoAquisitivo.DataInicio, periodoAquisitivo.DataFim) janelaAjustada.DataFim = SysFunc_Altera_DataFim_Medias(janelaAjustada.DataFim) janelaAjustada.DataInicio = SysFunc_Altera_DataInicio_Medias(janelaAjustada.DataInicio)
5. PROCESSAMENTO DAS MODALIDADES DE MÉDIA (INCLUINDO LANÇAMENTO CONTÍNUO VALOR)
PARA CADA modalidade EM config.ModalidadesAtivas FACA
Seleção dinâmica do dicionário (VG_VerbasMediaLctoContinuoVlr vs VG_VerbasMediaVlr) ListaRubricas rubricas = ObterRubricasOrigemPorModalidade(modalidade.Tipo, config.UsaDicionarioLctoContinuoVlr)
Tratamento gracioso em caso de dicionário vazio (substitui SysFunc_Panico por log auditável) SE rubricas.EstaVazia() ENTAO Auditoria.RegistrarAlerta(ctx, “Dicionário de médias configurado não possui verbas mapeadas para o período.”) CONTINUAR FIM_SE
PARA CADA rubrica EM rubricas FACA
Determinação do valor base/hora Decimal valorBase = ObterBaseCalculoMediaFerias( ctx, rubrica, modalidade.Tipo, config.ObterDivisorHora(rubrica.Codigo, ctx.Empresa.CNPJ) )
Execução do cálculo da Média ResultadoMedia resultado = EngineMediasFerias.Calcular( tipoCalculo: modalidade.Tipo, rubricaCodigo: rubrica.Codigo, dataInicio: janelaAjustada.DataInicio, dataFim: janelaAjustada.DataFim, valorBase: valorBase, diasFeriasIndenizadas: DiasFeriasProp, incluirFolhaRescisao: config.IncluirFolhaRescisao(rubrica.Codigo), aplicarINPC: config.AplicarAjusteINPC(rubrica.Codigo) )
SE resultado.ValorTotal != 0 ENTAO ctx.Holerite.AdicionarRubrica(CriarRubricaHolerite( codigo: resultado.CodigoVerbaDestino, descricao: resultado.DescricaoFormatada, valor: resultado.ValorTotal, referencia: resultado.Referencia ))
Cálculo do DSR sobre a Média de Férias usando algoritmo customizável SE rubrica.PossuiDSR E config.CalcularDSRMedia ENTAO Alternância dinâmica entre Func_DSR_MediaVlr (Veibras) e Func_DSR Decimal valorDSR = AlgoritmoDSR.Executar( tipoAlgoritmo: config.TipoAlgoritmoDSR, // Ex: “Func_DSR_MediaVlr” valorBase: resultado.ValorTotal, tabelaDSR: ctx.TabelaDSR )
ctx.Holerite.AdicionarRubrica(CriarRubricaHolerite( codigo: config.CodigoVerbaDSR, // 585 descricao: FormatarDescricaoDSR(config.MascaraDescricaoDSR, rubrica.Nome), valor: valorDSR )) FIM_SE FIM_SE
FIM_PARA FIM_PARA FIM_PARA
6. MÉDIA DAS MÉDIAS E DSRS MÉDIAS DE FÉRIAS (HISTÓRICO DE RUBRICAS 340, 342, 434, 435, 341, 437)
SE config.ProcessosEspeciais.CalcularMediaDasMedias ENTAO Decimal somaHistoricoRubricas = HistoricoHolerites.SomarVerbasNoPeriodo( ctx.Empregado.Id, config.ListaRubricasHistoricoMedia, // [340, 342, 434, 435, 341, 437] janelaAjustada.DataInicio, janelaAjustada.DataFim ) Decimal vlrMediaDasMedias = (somaHistoricoRubricas / config.ObterDivisorMeses(janelaAjustada)) * (DiasFeriasProp / 30)
SE vlrMediaDasMedias > 0 ENTAO ctx.Holerite.AdicionarRubrica(CriarRubricaHolerite( codigo: config.CodigosEspeciais.VerbaMediaDasMedias, descricao: “MEDIA DAS MEDIAS E DSR FERIAS PROP”, valor: vlrMediaDasMedias )) FIM_SE FIM_SE
7. COMPLEMENTO DE GARANTIA DE SALÁRIO (VERBA 66)
SE config.ProcessosEspeciais.GarantiaSalarialAtiva ENTAO Decimal vlrGarantia = ctx.VariaveisGlobais.VG_VlrGarantiaSalario Decimal somaMediasApuradas = ctx.Holerite.SomarVerbasOrigem([520, 575, 585]) // Filtra com origens configuradas (5, 66, 172)
SE vlrGarantia > somaMediasApuradas ENTAO Decimal complementoGarantia = ((vlrGarantia - somaMediasApuradas) / 30) * DiasFeriasProp SE complementoGarantia > 0 ENTAO ctx.Holerite.AdicionarRubrica(CriarRubricaHolerite( codigo: config.CodigosEspeciais.VerbaGarantiaSalario, // 66 descricao: “COMPL GARANTIA SALARIAL FERIAS PROP”, valor: complementoGarantia )) FIM_SE FIM_SE FIM_SE
RETORNAR NULO
FIM_ALGORITMO
Parametrizações Propostas para Reestruturação
1. REGRAS DE ELEGIBILIDADE E SOBRECARGA
[X] Bloquear cálculo automático em Rescisões por Motivo: [ Com Justa Causa v ]
[X] Condição de Retorno Nulo: Interromper se Lancamento.ValorTotal > 0
Tributação eSocial Requerida: [ 6006 - Férias Proporcionais v ]
2. SELEÇÃO DE DICIONÁRIOS E TRATAMENTO DE ERROS
Dicionário Mestre de Médias: [ VG_VerbasMediaLctoContinuoVlr v ] (Opções: VG_VerbasMediaVlr, VG_VerbasMediaLctoContinuoVlr)
Ação para Dicionário Vazio / Sem Lançamentos: [ Registrar Alerta e Continuar v ] (Opções: Registrar Alerta e Continuar, Bloquear Cálculo)
- Nota: Substitui o encerramento por SysFunc_Panico por log auditável de rastreabilidade.
3. AJUSTE DE DATAS E MÓDULO DE DSR Ajuste Temporal Global de Médias: [X] Executar SysFunc_Altera_DataInicio_Medias [X] Executar SysFunc_Altera_DataFim_Medias
Configuração do Módulo DSR: [X] Calcular DSR sobre Média de Férias Código da Verba Destino de DSR: [ 585 ] Função / Algoritmo de DSR: [ Func_DSR_MediaVlr (Veibras Custom) v ] (Opções: Func_DSR_Padrao, Func_DSR_MediaVlr) Máscara da Descrição DSR: [ DSR s/ Média Férias Prop. - {0} v ]
4. PROCESSOS ESPECIAIS ATIVOS (VERBAS ATS, PRÊMIO E HISTÓRICOS)
[X] Ativar Média de ATS (Adicional Tempo Serviço)
- Verba Destino ATS: [ 95 ]
- Fórmula de Cálculo: [ (VG_PrcATS * VG_VlrCada_enio / 30) * DiasProp v ]
- Arredondar resultado final: [Sim]
[X] Ativar Média de Prêmio Tempo de Serviço
- Verba Destino Prêmio: [ 98 ]
- Variável de Entrada: [ VG_VlrPremioTempoServico v ]
- Arredondar resultado final: [Sim]
[X] Ativar Média das Médias e DSRs do Histórico
- Verba Destino Média das Médias: [ 575_HIST ]
- Rubricas Integrantes do Histórico: [ 340, 342, 434, 435, 341, 437 ]
5. INTEGRALIZAÇÃO E COMPLEMENTO DE GARANTIA DE SALÁRIO
[X] Ativar Complemento de Garantia de Salário
-
Verba Destino Garantia: [ 66 ]
-
Variável de Teto/Garantia: [ VG_VlrGarantiaSalario v ]
-
Mapeamento de Verbas de Abatimento:
+------------------+------------------------------+ | Código Verba | Origens Mapeadas | +------------------+------------------------------+ | 520 | TODAS | | 575 | Origem 5, Origem 66, Origem 172 | | 585 | Origem 5 | +------------------+------------------------------+
Clientes com mesma regra
- Veibras: A customização específica de cálculo de DSR via
Func_DSR_MediaVlr, a leitura orientada ao dicionárioVG_VerbasMediaLctoContinuoVlr, e a condição de cancelamento por lançamento prévio de valor total (Lancamento.ValorTotal > 0) são totalmente suportadas através da seleção de parâmetros no painel (Seção 2 e 3). - Lechler e Brabus: O cálculo das verbas de Adicional por Tempo de Serviço (verba 95) e Garantia Salarial (verba 66), apresentados com regras ativas na ficha da Veibras, utilizam a mesma estrutura de cálculo dos processos especiais de ATS e Garantia Salarial, absorvidos de forma configurável sem hardcode na Seção 4 e 5 do painel.
- Demais Clientes (Regra Geral, Acal, Advantech, Influx, Jmalucelli, Monsanto, Pratafina, Salesforce, Sugisawa, Syngentacom, Tiautomotive): A eliminação do encerramento forçado por
SysFunc_Panicopermite que o motor opere de forma segura. Se o dicionárioVG_VerbasMediaLctoContinuoVlrestiver vazio para os clientes da Regra Geral, o motor apenas registra um evento de auditoria e prossegue para a apuração das demais modalidades sem falhas em tempo de execução.
Status Documental
- Status: Documentada
- Origem: export do Notion + catálogo da wiki
- Fonte rastreável:
30dc75ea2e838139a8f0c114ac6bf45e