Histórico da Página
...
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 | ||||
---|---|---|---|---|
| ||||
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:
Retorno
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:
O valor foi lançado na Ficha Financeira, conforme retornado pela fórmula:
O cadastro de empréstimo foi atualizado com o valor de descontado rateado por empréstimo: