199 - Adiant. 13º Sal. Compl. Afastados - CCT
⚙️ Metadados
- Código: 199
- Tipo: Provento
- INSS: ISE
- FGTS: ISE
- IRRF: ISE
- Natureza eSocial: 5504 - 13º salário - Adiantamento
- DSR: Não
- Médias: Não
- Impacto Financeiro: Não
- Impacto Contábil: Sim
- Sequência: 757
🧮 Regra Geral
- Exclusivo Jmalucelli. Se o cliente for diferente, a fórmula retorna null, impedindo o cálculo.
🎯 Particularidades por Cliente/Setor
👤 Jmalucelli
- Validação de Lançamento em Dezembro: Se houver um lançamento para esta verba (
Func_ValidarExistenciaLancamentoretornatrue) e o mês de referência for dezembro (12), o cálculo é interrompido com uma mensagem de erro (SysFunc_Panico), pois não é permitido o pagamento de adiantamento de 13º salário neste mês. - Cálculo Principal: Se houver um lançamento com
ValorTotalpositivo (> 0M) e o mês de referência não for dezembro:- O
ValorTotalda verba é definido como oValorTotaldo lançamento (Lancamento.ValorTotal). - É realizada uma verificação no histórico do empregado para o ano corrente (
Solicitacao.DataReferencia.Year). - A verificação busca por holerites do tipo
FeriasouAdiantamentoDecimoTerceiroque já tenham sido pagos. - Dentro desses holerites, verifica-se a existência das verbas
405(Adiantamento 13º Salário) ou199(a própria verba atual) comValorTotalpositivo. - Se qualquer uma dessas verbas for encontrada no histórico do ano, o cálculo é interrompido com uma mensagem de erro (
SysFunc_Panico), indicando que já houve pagamento de adiantamento de 13º salário no ano.
- O
-
Fórmula matemática:
HoleriteVerba.ValorTotal = Lancamento.ValorTotal
-
Variáveis Utilizadas:
Solicitacao.ClienteLancamentoSolicitacao.DataReferenciaHoleriteVerba.ValorTotalLancamento.ValorTotalEmpregado.Historico.ListaHoleriteHO.TipoFolhaHO.DataPagamentoHO.PeriodoCalculo.DataReferencia.YearHV.Verba.CodigoHV.ValorTotal.
-
Condições Especiais:
if (Solicitacao.Cliente.ToLower() != "jmalucelli"): Restringe o cálculo ao cliente “jmalucelli”.if (Func_ValidarExistenciaLancamento(Lancamento) == true && Solicitacao.DataReferencia.Month == 12): Impede o pagamento em dezembro.if (Func_ValidarExistenciaLancamento(Lancamento) == true && Lancamento.ValorTotal > 0M && Solicitacao.DataReferencia.Month != 12): Bloco principal de cálculo, ativado se houver lançamento positivo fora de dezembro.- Loop de verificação de histórico para evitar pagamentos duplicados de adiantamento de 13º salário (verbas
405ou199) no mesmo ano.
-
Gatilhos:
- Quando a verba é calculada:
- Quando há um lançamento (manual ou automático) para a verba 199.
- Exclusivamente para o cliente “jmalucelli”.
- Em qualquer mês do ano, exceto dezembro.
- Apenas se não houver registro de pagamento anterior de adiantamento de 13º salário (verbas
405ou199) no mesmo ano.
-
Dependências e Correlações:
- Verbas Relacionadas:
199(Adiant. 13º Sal. Compl. Afastados - CCT)699(Desc. Adiant. 13º Sal. Compl. Afastados - CCT)196(Compl. 13º Sal. Afastados - CCT)596(Desc. Compl. 13º Sal. Afastados CCT) - Mencionado como não existente no SuperCalc.405(Adiantamento 13º Salário) - Verba verificada no histórico para evitar duplicidade.
-
Tipo de Relação:
- As verbas
199e405têm uma relação de prevenção de duplicidade: a existência de uma impede o cálculo da outra no mesmo ano. - As verbas
699,196,596são verbas correlatas (desconto ou complemento) mas não são diretamente manipuladas ou verificadas na lógica desta fórmula.
- As verbas
-
Funções Identificadas:
Func_ValidarExistenciaLancamento(Lancamento): Verifica se existe um lançamento para a verba atual.SysFunc_Panico(string mensagem): Interrompe o processo de cálculo e exibe uma mensagem de erro.Solicitacao.Cliente.ToLower(): Converte o nome do cliente para minúsculas para comparação case-insensitive.Empregado.Historico.ListaHolerite.Where(...): Filtra a lista de holerites no histórico do empregado com base em condições específicas.
💡 Proposta de Novo Cálculo
Fórmula proposta (padronizada):
ValorTotal = Func_ArredondamentoPadrao(Lancamento.ValorTotal)
(Sujeito à validação lógica de ano de competência sem duplicidades registradas em histórico para as verbas configuradas).
1. Filtros de Elegibilidade Paramétrica e Isenções (Piso Seguro)
Se (Configuracao.AtivarVerbaAdiantamentoComplementar == Falso) { HoleriteVerba = null; InterromperCalculo(); }
Se (Func_ValidarExistenciaLancamento(Lancamento) == Falso Ou Lancamento.ValorTotal <= 0) { HoleriteVerba = null; InterromperCalculo(); }
Definir AnoCorrente = Solicitacao.DataReferencia.Year; Definir MesCorrente = Solicitacao.DataReferencia.Month;
2. Trava de Período Proibido (Substitui Hardcode de Dezembro)
Se (Configuracao.BloquearAdiantamentoEmDezembro == Verdadeiro E MesCorrente == 12) { SysFunc_Panico(“Erro de Processamento: Não é permitido o pagamento de adiantamento de 13º salário no mês de dezembro.”); }
3. Validação de Duplicidade de Adiantamento no Ano Corrente
Se (Configuracao.BloquearSeJaHouverAdiantamentoNoAno == Verdadeiro) { Definir HistoricoHolerites = Empregado.Historico.ListaHolerite;
Para Cada Holerite Em HistoricoHolerites { Valida se o holerite pertence ao mesmo ano fiscal de referência e é de Adiantamento/Férias Se (Holerite.PeriodoCalculo.DataReferencia.Year == AnoCorrente E Configuracao.TiposFolhaConflitantes.Contem(Holerite.TipoFolha)) {
Para Cada VerbaCalculada Em Holerite.ListaVerbas { Se (Configuracao.ListaVerbasConflitantes.Contem(VerbaCalculada.Verba.Codigo) E VerbaCalculada.ValorTotal > 0) {
SysFunc_Panico(“Erro de Duplicidade: Já existe pagamento de adiantamento de 13º salário registrado neste ano (Verba ” + VerbaCalculada.Verba.Codigo + ”).”); } } } } }
4. Execução do Cálculo da Verba e Transmissão de Valores
Definir ValorFinalCalculado = Lancamento.ValorTotal;
HoleriteVerba.Quantidade = Lancamento.Quantidade > 0 ? Lancamento.Quantidade : 1.00; HoleriteVerba.ValorTotal = Func_ArredondamentoPadrao(ValorFinalCalculado); HoleriteVerba.ValorIntegral = ValorFinalCalculado;
Configurações das Incidências com Base nos Parâmetros de Rubrica (INSS: ISE, FGTS: ISE, IRRF: ISE) HoleriteVerba.IncidenciaINSS = RubricaMae.IncidenciaINSS; // ISE HoleriteVerba.IncidenciaFGTS = RubricaMae.IncidenciaFGTS; // ISE HoleriteVerba.IncidenciaIRRF = RubricaMae.IncidenciaIRRF; // ISE
5. Registro de Rastreabilidade e Auditoria
Argumento(ValorFinalCalculado.ToString(“F2”)); EscreverMemoria(“[ADIANT_13_COMPL_AFASTADO]”, “Adiantamento complementar de 13º salário para funcionários afastados pago via CCT. Valor total do provento: R$ {0}.”);
AdicionarAoHolerite(HoleriteVerba);
Parametrizações Propostas para Reestruturação
1. CONFIGURAÇÃO DE ATIVAÇÃO E REGRAS DE ACORDO COLETIVO (CCT)
[X] Ativar Regra de Cálculo de Adiantamento Complementar de 13º [X] Bloquear Pagamento de Adiantamento no Mês de Dezembro (Mês 12)
2. DIRETRIZES DE SEGURANÇA E EVITAÇÃO DE DUPLICIDADE (ANUAL)
[X] Bloquear Cálculo se houver Adiantamento Prévio de 13º no Mesmo Ano Fiscal Tipos de Folha a Monitorar no Histórico: [X] AdiantamentoDecimoTerceiro [X] Ferias [ ] Regular (Mensal)
Códigos de Verbas Impeditivas (Bloqueiam este cálculo se contiverem valor > 0): [ 199, 405 ] (Adiant. 13º Compl. Afastados / Adiantamento 13º Salário)
3. MATRIX TRIBUTÁRIA ESOCIAL E ENCARGOS
Código da Rubrica Destino: [ 199 ] Natureza eSocial: [ 5504 - 13º salário - Adiant. ] Incidência INSS: [ ISE - Isento ] DSR: [ Não ] Incidência FGTS: [ ISE - Isento ] Médias: [ Não ] Incidência IRRF: [ ISE - Isento ] Impacto Financeiro: [ Não ] Impacto Contábil: [ Sim ]
Clientes com mesma regra
- Jmalucelli: Totalmente compatibilizado e protegido por parâmetros de sistema. Com a ativação das chaves nos Blocos 1 e 2 do novo painel, o motor dinâmico valida a elegibilidade, barra automaticamente qualquer tentativa de lançamento manual ou automático no mês de dezembro e audita o histórico do trabalhador à procura de adiantamentos correntes (verbas 199 ou 405). Se alguma violação for identificada, o sistema dispara o tratamento de pânico de forma transparente, eliminando os desvios manuais em nível de código-fonte.
- Outros Clientes: Com a chave global de ativação do painel definida como “Falso” (Desativado) para as demais empresas do banco de dados, o Dynamic Engine desativa a rubrica 199 imediatamente sem gerar falsos positivos ou inconsistências de cálculo para empregados que não possuam este acordo em suas respectivas convenções coletivas de trabalho.
Status Documental
- Status: Documentada
- Origem: export do Notion + catálogo da wiki
- Fonte rastreável:
30dc75ea2e838139a8f0c114ac6bf45e