Páginas filhas
  • Lançamento de Empréstimo na Rescisão - Fórmula

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Como proceder neste caso ?

1) Descontar o valor integral do empréstimo 1 e descontar 100,00 do empréstimo 2 ?

2) Priorizar o desconto de algum tipo de empréstimo, por exemplo o Empréstimo Particular ?

3) Descontar proporcionalmente ao saldo devedor de cada empréstimo ?

Empréstimo 1     297,30

Empréstimo 2     356,76

Empréstimo 3     445,94


Na verdade esta pergunta não tem uma resposta única, cada empresa pode ter uma forma de interpretar como deve ser realizada a limitação de descontos de empréstimo a 30% do líquido da rescisão.

...

Criada a fórmula que será calculada 30% sobre o salário líquido do funcionário. A lógica desenvolvida é de rateiro e proporção em relação ao saldo devedor, pois o saldo devedor pode ser maior que o salário.


Bloco de código
languagec#
titleExemplo de Fórmula que calcula 30% de desconto do empréstimo na Rescisão
DECL SaldoTot;

...


DECL TotEmp;

...


DECL ItemEmp;

...


DECL Retorno;

...


DECL SalLiq;

...


DECL MaxEmp;

...


DECL saldodist;

...


DECL aDistribuir;

...



SetVar(ItemEmp,0);

...


setvar(MaxEmp,0);

...


setvar(SalLiq, 0);

...


SetVar(aDistribuir,0);

...


SetVar(Retorno,'');

...


SetVar(saldodist,0);

...



SetVar(SaldoTot, InfEmp(-2, 'codigo'));

...


SetVar(TotEmp, InfEmp(-1, 'codigo'));

...


setvar(SalLiq, L);

...


setvar(MaxEmp, SalLiq*0.3);

...



Se TotEmp > 0

...

 
Entao
  Se MaxEmp >= SaldoTot

...

repita


  Entao 
     repita 
       SetVar(ItemEmp,ItemEmp + 1);

...


       SetVar(aDistribuir, InfEmp( ItemEmp, 'SALDODEVEDOR' ) );

...


       SetVar(aDistribuir,val( str(aDistribuir, '999999999,99')));

...


       SetVar(Retorno, Concat(Retorno, InfEmp( ItemEmp, 'CODIGO' )));

...


       SetVar(Retorno,Concat(Retorno,':'));

...


       SetVar(Retorno, Concat(Retorno, str(aDistribuir,'999999999,99')));

...


       SetVar(Retorno,Concat(Retorno,';'))

...


    Ate ItemEmp = TotEmp

...

Senao

...


  Senao  
    repita 
       SetVar(ItemEmp,ItemEmp + 1);

...


      Se ItemEmp = TotEmp 
      Entao
        SetVar(aDistribuir,MaxEmp-saldodist)

...


      Senao
        SetVar(aDistribuir,  (MaxEmp / SaldoTot ) * InfEmp( ItemEmp,       'SALDODEVEDOR' ) );

...


        SetVar(aDistribuir,val( str(aDistribuir, '999999999,99')))

...


      FimSe;
       SetVar(saldodist, saldodist + aDistribuir);

...


       SetVar(Retorno, Concat(Retorno, InfEmp( ItemEmp, 'CODIGO' )));

...


       SetVar(Retorno,Concat(Retorno,':'));

...


       SetVar(Retorno, Concat(Retorno, str(aDistribuir,'999999999,99')));

...


       SetVar(Retorno,Concat(Retorno,';'))

...


    ate ItemEmp = TotEmp

...


  FimSe 
FimSe;

Retorno

O retorno do resultado da fórmula deverá seguir o seguinte padrão:

CódigoDoEmprestimo: ValorEmprestimo;

Os demais empréstimos serão concatenados ao primeiro empréstimo, conforme a tela abaixo:

Image AddedRetorno


O funcionário será demitido em 31/12/2019 e será lançado o saldo devedor de empréstimo, utilizando a nova implementação através da fórmula. Na tela de rescisão será associado a fórmula cadastrada:

Image Added

O valor foi lançado na Ficha Financeira, conforme retornado pela fórmula:

Image Added


O cadastro de empréstimo foi atualizado com o valor de descontado rateado por empréstimo:

Image Added