Histórico da Página
...
Bloco de código | ||
---|---|---|
| ||
/* Essa fórmula irá calcular o valor a reduzir de jornada é deverá ser associado a um evento de desconto no pagamento do funcionário. Será desconsiderado no período de redução os dias de férias, afastamentos, admissão, demissão e horário. Para esse cenário, o provento Dias Trabalhados será considerado integral e o evento de desconto “redutor de Jornada” reduzirá do salário mensal.
Exemplo:
Um salário mensal de 2000.00 com redução da jornada de 25%.
O salário hora continuará o mesmo e a nova jornada deverá ser 165:00, considerando Uma jornada de 220 horas no mês. No campo Valor a reduzir na aba B.E.M não será preenchido conforme orientação para o eSocial. A mesma é uma sugestão de cálculo e poderá ser usada como modelo pela empresa.
Data Atualização : 12/05/2020 15:55
Utilização a partir dos patches liberados em 16/04/2020 */
DECL DataInicioAcordo;
DECL DataFimAcordo;
DECL DataInicioReducao;
DECL DataFimReducao;
DECL DiasReducao;
DECL ValorReduzido;
DECL DiasReducaoMes;
SETVAR (DataInicioAcordo,TABFUNC('DTACORDOBEM','D'));
SETVAR (DataFimAcordo,(DataInicioAcordo + TABFUNC('DURACAOBEM','I')));
SETVAR (ValorReduzido,TABFUNC ('SALARIO', '')* (TABFUNC('PERCENTUALREDUCAOBEM', '')/100));
/*Retona a Data Início da Reducao no mes*/
SE (MESDT(DataInicioAcordo) = MES) E (ANODT(DataInicioAcordo) = ANO)
ENTAO SETVAR(DatainicioReducao,DataInicioAcordo)
SENAO SETVAR(DatainicioReducao,MTDATA(01,MES,ANO))
FIMSE;
/*Retona a Data Fim da Reducao no mes*/
SE (MESDT(DataFimAcordo) = MES E ANODT(DataFimAcordo) = ANO)
ENTAO SETVAR(DataFimReducao,DataFimAcordo)
SENAO SETVAR(DataFimReducao,MTDATA(30,MES,ANO))
FIMSE;
/* calcula dias redução no mes*/
SETVAR(DiasReducaoMes, SUBTRAIDATAS(DataFimReducao,DatainicioReducao) +1);
/* calcula dias redução no mês desconsiderando férias*/
SETVAR(DiasReducaoMes,(DiasReducaoMes - DIAFERPER(DatainicioReducao,DataFimReducao)));
/* calcula dias redução no mês desconsiderando afastamento*/
SETVAR(DiasReducaoMes,(DiasReducaoMes - DIASAFT(DatainicioReducao,DataFimReducao,'PTO')));
/* calcula “valor” do desconto a reduzir no pagamento*/
SETVAR(ValorReduzido,(ValorReduzido/30) * DiasReducaoMes);
FORMULA CONSIDERANDO 2 PERÍODOS DE REDUÇÃO DENTRO DO MES.
/* Essa fórmula irá calcular o valor a reduzir de jornada é deverá ser associado a um evento de desconto no pagamento do funcionário.
Será considerado mais de um período de adesão dentro da competência
exemplo, uma adesão com percentual de 25% finalizando no mês e uma nova adesão de 50% iniciando no mes */
DECL DataInicioAcordo;
DECL DataFimAcordo;
DECL DataInicioReducao;
DECL DataFimReducao;
DECL DiasReducao;
DECL ValorReduzido;
DECL DiasReducaoMes;
DECL Valor;
SE (EXECSQL ('BEM') = Verdade)
ENTAO
REPITA
SETVAR (DataInicioAcordo,resultsql('BEM','DTACORDOBEM'));
SETVAR (DataFimAcordo,((resultsql('BEM','DTACORDOBEM')) + (resultsql('BEM','DURACAOBEM'))));
SETVAR (ValorReduzido,resultsql('BEM','VALORREDUZIDOBEM'));
/*Retona a Data Início da Reducao no mes*/
SE (MESDT(DataInicioAcordo) = MES) E (ANODT(DataInicioAcordo) = ANO)
ENTAO SETVAR(DatainicioReducao,DataInicioAcordo)
SENAO SETVAR(DatainicioReducao,MTDATA(01,MES,ANO))
FIMSE;
/*Retona a Data Fim da Reducao no mes*/
SE (MESDT(DataFimAcordo) = MES E ANODT(DataFimAcordo) = ANO)
ENTAO SETVAR(DataFimReducao,DataFimAcordo)
SENAO SETVAR(DataFimReducao,MTDATA(30,MES,ANO))
FIMSE;
/* calcula dias redução no mes*/
SETVAR(DiasReducaoMes, SUBTRAIDATAS(DataFimReducao,DatainicioReducao) +1);
/* calcula dias redução no mês desconsiderando férias*/
SETVAR(DiasReducaoMes,(DiasReducaoMes - DIAFERPER(DatainicioReducao,DataFimReducao)));
/* calcula dias redução no mês desconsiderando afastamento*/
SETVAR(DiasReducaoMes,(DiasReducaoMes - DIASAFT(DatainicioReducao,DataFimReducao,'PTO')));
/* calcula “valor” do desconto a reduzir no pagamento*/
SETVAR(ValorReduzido,(ValorReduzido/30) * DiasReducaoMes);
/* Soma dois períodos de redução no mês */
SETVAR(Valor,Valor + ValorReduzido);
ATE ProxRegSQL('BEM' ) = Falso
FIMSE;
Valor;
CONSULTA SQL
Criar a consulta SQL antes da criação da fórmula acima.
select DTACORDOBEM,DURACAOBEM,VALORREDUZIDOBEM
from PFHSTBEM
where codcoligada =:FRM_COLIGADA and chapa =:FRM_CHAPA
and TIPOADESAOBEM = 1
|
Fórmula associada ao evento que será lançado no movimento do Funcionário.
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas