Histórico da Página
...
Bloco de código | ||
---|---|---|
| ||
SE PROCESSO="FERIAS" ENTAO 0 SENAO SE PROCESSO = 'DIFERENCA_FERIAS' E DISSIDIO = 0 ENTAO VALORCODCALCULO(39) SENAO 0 FIMSE |
Bloco de código | ||
---|---|---|
| ||
SE PROCESSO="FERIAS" ENTAO 0 SENAO SE PROCESSO = 'DIFERENCA_FERIAS' E DISSIDIO = 0 ENTAO VALORCODCALCULO(56) SENAO 0 FIMSE |
...
Cadastro do evento código de cálculo 39 e 56:
...
Bloco de código | ||
---|---|---|
| ||
SE PROCESSO="FERIAS"'FERIAS' OR (PROCESSO = 'DIFERENCA_FERIAS' E DISSIDIO = 1) ENTAO VALORCODCALCULO(39) SENAO SE PROCESSO = 'DIFERENCA_FERIAS' E DISSIDIO = 0 ENTAO VFER('B198') SENAO 0 FIMSE |
Bloco de código | ||
---|---|---|
| ||
SE PROCESSO='FERIAS' OR (PROCESSO ="FERIAS" 'DIFERENCA_FERIAS' E DISSIDIO = 1) ENTAO VALORCODCALCULO(39)/3 SENAO SE PROCESSO = 'DIFERENCA_FERIAS' E DISSIDIO = 0 ENTAO VFER('B199') SENAO 0 FIMSE |
Incluir um evento do tipo Base de Cálculo com a fórmula acima para ser lançado no recibo de férias. O mesmo pode ser informado como evento adicional:
Passo 3 - Cadastrar/Calcular as Férias. Recibo de Férias após o cálculo das Férias lançou os eventos de base e não lançou os eventos de provento referente ao pagamento de abono:
...
Para pagamento de Férias em dobro, criamos um exemplo de sugestão de fórmula, que verifica se o valor pendente a se quitado já ultrapassou dois período vencidos de férias, considerando o primeiro dia da competência atual. A Consulta SQL está exemplificada no Pagamento de Abo Abono Pecuniário e 1/3 de Abono Pecuniário Vencidas neste link.
Fórmula para pagamento de Abono Pecuniário em Dobro:
Bloco de código | ||||
---|---|---|---|---|
| ||||
DECL FIMPERAQUIS1; DECL DATAPGTOFERIAS; DECL DATAINICIOFERIAS; DECL VALOREVENTO; DECL CH; DECL QUANTDIAS; SETVAR (CH, ''); SE EXECSQL('DTFIMPERVENC_2') = 1; ENTAO REPITA SE RESULTSQL('DTFIMPERVENC_2','CHAPA') = CHAPA ENTAO SETVAR (CH, CHAPA); SETVAR (FIMPERAQUIS1, RESULTSQL('DTFIMPERVENC_2','FIMPERAQUIS')); SETVAR (DATAPGTOFERIAS, RESULTSQL('DTFIMPERVENC_2','DATAPAGTO')); SETVAR (DATAINICIOFERIAS, RESULTSQL('DTFIMPERVENC_2','DATAINICIO')); SETVAR (VALOREVENTO, RESULTSQL('DTFIMPERVENC_2','VALOR')); FIMSE ATE PROXREGSQL('DTFIMPERVENC_2') = FALSO; FIMSE; SE CH <> CHAPA ENTAO 0 SENAO SETVAR (QUANTDIAS, SUBTRAIDATAS(MTDATA(01,MES,ANO),FIMPERAQUIS1)); SE QUANTDIAS > 365 E (DATAPGTOFERIAS >= MTDATA(28,04,2021) E DATAPGTOFERIAS <= MTDATA(25,08,2021)) ENTAO VALOREVENTO * ARRED(QUANTDIAS/365); FIMSE; FIMSE; |
Associando a Formula acima em um evento de provento:
Fórmula para pagamento de 1/3 de Abono Pecuniário em Dobro:
Bloco de código | ||||
---|---|---|---|---|
| ||||
DECL FIMPERAQUIS1; DECL DATAPGTOFERIAS; DECL DATAINICIOFERIAS; DECL VALOREVENTO; DECL CH; DECL QUANTDIAS; SETVAR (CH, ''); SE EXECSQL('DTFIMPERVENC_1') = 1; ENTAO REPITA SE RESULTSQL('DTFIMPERVENC_1','CHAPA') = CHAPA ENTAO SETVAR (CH, CHAPA); SETVAR (FIMPERAQUIS1, RESULTSQL('DTFIMPERVENC_1','FIMPERAQUIS')); SETVAR (DATAPGTOFERIAS, RESULTSQL('DTFIMPERVENC_1','DATAPAGTO')); SETVAR (DATAINICIOFERIAS, RESULTSQL('DTFIMPERVENC_1','DATAINICIO')); SETVAR (VALOREVENTO, RESULTSQL('DTFIMPERVENC_1','VALOR')); FIMSE ATE PROXREGSQL('DTFIMPERVENC_1') = FALSO; FIMSE; SE CH <> CHAPA ENTAO 0 SENAO SETVAR (QUANTDIAS, SUBTRAIDATAS(MTDATA(01,MES,ANO),FIMPERAQUIS1)); SE QUANTDIAS > 365 E (DATAPGTOFERIAS >= MTDATA(28,04,2021) E DATAPGTOFERIAS <= MTDATA(25,08,2021)) ENTAO VALOREVENTO * ARRED(QUANTDIAS/365); FIMSE; FIMSE; |
Associando a Fórmula acima em um evento de provento:
Lançado o evento de férias em dobro, para um funcionário onde o pagamento foi feito após o vencimento de dois períodos aquisitivos, através do Grupo de eventos:
Lançamento usando o processo de Diferença de Férias
Para o processo de diferença de férias, o sistema calcula os eventos de Código de Cálculo 39 e 56. Neste caso não é necessário criar uma fórmula para que o mesmo seja calculado. Usando o processo de diferença e marcando a opção 'Não' para dissídio o sistema irá calcular e lançar os valores de devidos nos eventos de Código de Cálculo 59 e 176:
Após executar, os eventos com os valores de Abono de Férias e 1/3 de abono de férias foram lançados:
Calculo de Diferença de Férias - Dissídio
Para o calculo de diferença a fórmula sugerida não calcula os eventos de Código de Cálculo 39 e 56 quando é um cálculo por dissídio, pois caso a fórmula não tratasse o tipo de cálculo, será lançado todo o valor integral do que não foi pago no recibo de férias. Desta forma, na fórmula do eventos de base, é feito o cálculo somente da diferença devida.
Para os casos onde teve evento de base sugerido lançados no recibo de férias para armazenar o valor do Abono pecuniário e 1/3 abono pecuniário de férias que será pago até dia 20/12, deverá ser informado um evento de diferença que irá armazenar o valor. Iremos da uma sugestão que atenda os usuários que lançaram o evento de base no recibo de férias e informaram o evento no parametrizador.
No evento B198, incluir o evento para ser lançado do evento de diferença, também como base:
No evento B199, incluir o evento para ser lançado do evento de diferença, também como base:
Ao calcular a diferença para um funcionário que teve o evento B198 e B1988 lançado no recibo de férias, no calculo da diferença o mesmo é considerado e calculado a diferença, lançando os evento de BD97 e BD98 com os valores da diferença:
Dica | ||
---|---|---|
| ||
Caso o entendimento do cliente seja que o evento diferença Abono pecuniário e 1/3 de abono pecuniário de férias tenham que ser pagos no cálculo da diferença por dissídio e não junto com Abono pecuniário e 1/3 de abono pecuniário de férias até dia 20/12 conforme determinado na MP 1046, ou no caso do cálculo de uma diferença retroativa ao período de férias após demissão, poderá alterar o tipo dos eventos de diferença para lançar na folha, 'BD97' e 'BD98' para provento. |