Foram criadas formulas que irão flexibilizar o calculo do Reajuste. Essas formulas serão vinculadas no cadastro dos componentes de CM (Correção Monetária) e Juros de Contrato. Com isso será possível calcular um valor para taxa, um valor para base de calculo e se o reajuste pode ser executado.

Importante!

Para acessar todas as funções de fórmula do TCGI: Gestão - Funções de Fórmulas - Contratos de Venda

VALORBASEREAJUSTERetorna o base da parcela para o cálculo do reajuste/geração de plano do contexto de juros/CM.                                                                                   

Usa como contexto o reajuste.
SINTAXEVALORBASEREAJUSTE
VALORINDICEREAJUSTERetorna o índice da parcela para o cálculo do reajuste/geração de plano do contexto de juros/CM.                                                                             
CONTEXTOUsa como contexto o reajuste.
SINTAXEVALORINDICEREAJUSTE
EANIVERSARIOPERIODICIDADERetorna 1 para verdadeiro e 0 para false, caso o período do reajuste é o aniversário da periodicidade para juros/CM.                                   
CONTEXTOUsa como contexto o reajuste.
SINTAXEEANIVERSARIOPERIODICIDADE
DATAULTIMOANIVERSARIOPERIODICIDADECalcula a data do último aniversário em relação a data de reajuste juros/cm com periodicidade > 1                                           

Usa como contexto o reajuste.
SINTAXEDATAULTIMOANIVERSARIOPERIODICIDADE
CALCULARJUROSCMPROPORCIONALANTECIPACAORetorna 1 para verdadeiro e 0 para false, caso o período do reajuste é para calcular o valor proporcional de Juros/CM para antecipação de parcela com periodicidade > 1 e não seja o aniversário da periodicidade.          
CONTEXTOUsa como contexto o reajuste.
SINTAXECALCULARJUROSCMPROPORCIONALANTECIPACAO
GETVALORCMACUMULADACalcula a Variação da Correção Monetária (Índice Acumulado). Primeiro argumento moeda. Segundo argumento data início correção. Terceiro argumento data fim correção. Quarto argumento defasagem do índice.                                                                                                      
CONTEXTOUsa como contexto o reajuste.
SINTAXEGETVALORCMACUMULADA('IGPM', '01/01/2020', '01/09/2020', 2)
GETVALORCMMENSALCalcula a Variação da Correção Monetária (Índice Mensal). Primeiro argumento moeda. Segundo argumento data início correção. Terceiro argumento data fim correção. Quarto argumento defasagem do índice.                                                                                                                           
CONTEXTOUsa como contexto o reajuste.
SINTAXEGETVALORCMMENSAL('IGPM', '01/01/2020', '01/09/2020', 2)
TABREGRARetorna o valor de um campo da tabela de regra da venda. Primeiro argumento nome do campo. Segundo argumento tipo do campo. Legenda: (V = Valor; I = Inteiro; S = Conjunto de Caracteres; D = Data e Hora)
CONTEXTOUsa como contexto a chave da tabela "XREGRACOMPONENTEVENDA".
SINTAXETABREGRA('CampoReferencia','TipoDeRetorno')
GETTABPARCELANUMPARCELARetorna o valor de um campo da tabela de parcela para um número da parcela dentro do grupo da venda do contexto. Primeiro argumento número da parcela,  segundo argumento nome do campo e terceiro argumento tipo do campo. Legenda: (V = Valor; I = Inteiro; S = Conjunto de Caracteres; D = Data e Hora)
CONTEXTOUsa o cotexto da "XPARCELAPAGAMENTO"
SINTAXEGETTABPARCELANUMPARCELA(10, 'NUN_VENDA', 'S');
SETRESIDUODISTRIBUIDOLIMPALimpa os campos de código do grupo do resíduo e a data de distribuição do resíduo. Tabela XVendaParcela
CONTEXTOUsa o cotexto da "XPARCELAPAGAMENTO" e do reajuste
SINTAXESETRESIDUODISTRIBUIDOLIMPA(10);
SETRESIDUODISTRIBUIDOMARCARMarca os campos de código do grupo do resíduo e a data de distribuição do resíduo com os dados do grupo do contexto da parcela e o período do reajuste.  Tabela XVendaParcela
CONTEXTOUsa o cotexto da "XPARCELAPAGAMENTO" e do reajuste
SINTAXESETRESIDUODISTRIBUIDOMARCAR(10);

SETVALORRESIDUO, SETVALORRESIDUOCMANTES, SETVALORRESIDUOCMAPOS, SETVALORRESIDUOJUROSANTES, SETVALORRESIDUOJUROSAPOS

Armazena o valor calculado no campo Valor Resíduo. Tabela XVendaParcela
CONTEXTOUsa o cotexto da "XPARCELAPAGAMENTO" e do reajuste
SINTAXESETVALORRESIDUO(100.01);
REAJUSTARCOMPONENTEREGRAPERIODOREAJUSTERetorna 1 para verdadeiro e 0 para false, caso o período do reajuste em relação a database e a data do reajsute é para reajustar Juros/CM
CONTEXTOUsa o cotexto da "XPARCELAPAGAMENTO" e do reajuste
SINTAXESE REAJUSTARCOMPONENTEREGRAPERIODOR = 1 ENTAO ... FIMSE
REAJUSTARCOMPONENTEREGRAVENCIMENTORetorna 1 para verdadeiro e 0 para false, caso o período do reajuste em relação ao vencimento é para reajustar Juros/CM.
CONTEXTOUsa o cotexto da "XPARCELAPAGAMENTO" e do reajuste
SINTAXESE REAJUSTARCOMPONENTEREGRAVENCIMENTO= 1 ENTAO ... FIMSE
GETSALDODEVEDORTEORICOREGRARESIDUORetorna o valor do saldo devedor téorico do componente principal do valor financiado da regra até o vencimento do contexto da parcela atual. Valor do Financiamento do grupo da parcela do contexto +(mais) valor sumarizado do campo Valor Resíduo somente da parcelas que tenham o vencimento até a data do reajuste - (menos) os valores sumarizados dos campos de valor original mais CM mais juros que tenham o vencimento até a data do reajuste.
CONTEXTOUsa o cotexto da "XPARCELAPAGAMENTO" e do reajuste
SINTAXEGETSALDODEVEDORTEORICOREGRARESIDUO
GETSALDODEVEDORTEORICOVENDARESIDUORetorna o valor do saldo devedor téorico da venda até o vencimento do contexto da parcela atual. Valor do Financiamento do grupo da parcela do contexto +(mais) valor sumarizado do campo Valor Resíduo somente da parcelas que tenham o vencimento até a data do reajuste - (menos) os valores sumarizados dos campos de valor original mais CM mais juros que tenham o vencimento até a data do reajuste.
CONTEXTOUsa o cotexto da "XPARCELAPAGAMENTO" e do reajuste
SINTAXEGETSALDODEVEDORTEORICOVENDARESIDUO
GETNUMPARCELAMESANIVERSARIOREAJUSTE

Retorna o numero da parcela que tenha o vencimento que fez aniversário no mesmo mês da data do reajuste. 

Através desta parcela será definido o limite entre o período do reajuste anual anterior e o novo período.

CONTEXTOUsa o cotexto da "XPARCELAPAGAMENTO" e do reajuste
SINTAXEGETNUMPARCELAMESANIVERSARIOREAJUSTE
GETNUMPARCELAPORDATAVENCIMENTO

Retorna o numero da parcela que tenha o vencimento que fez aniversário no mesmo mês da data do reajuste. O primeiro argumeto é a data pesquisada e o segudo é 1 para a data exata pesquisada ou 0 para o mês/ano pesquisado 

Através desta parcela será definido o limite entre o período do reajuste anual anterior e o novo período.

CONTEXTOUsa o cotexto da "XPARCELAPAGAMENTO" e do reajuste
SINTAXEGETNUMPARCELAPORDATAVENCIMENTO('01/01/2020', 1)
ADICIONADIASPRORATA

Adiciona número de dias Pro-Rata a uma data passada por parâmetro. Ou Seja, não deixa a data mudar de mês.

CONTEXTOUsa o cotexto da "XVENDA"
SINTAXEADICIONADIASPRORATA('01/01/2022', 30)
DIADOCONTRATO

Retorna o dia do aniversário do contrato (Data da Venda)

CONTEXTOUsa o cotexto da "XVENDA" 
SINTAXEDIADOCONTRATO
DATACONTRATOREAJUSTE

Retorna a data do reajuste com base no dia do aniversário do contrato e a defasagem para Correção Monetária com moeda diária.

CONTEXTOUsa o cotexto da "XPARCELAPAGAMENTO" e do reajuste
SINTAXEDATACONTRATOREAJUSTE


Exemplo

TABREGRA('VR_TX_PER','V')

Exemplo de fórmula que que irá validar se o Reajuste pode ou não executar o calculo em determinado mês.

SE  NUMVENDA = 123 OU NUMVENDA = 456 ENTAO
       EANIVERSARIOPERIODICIDADE
SENAO
       SE DATREAJUSTE <> CONVERTDATE('01/03/2018') ENTAO
             1
       SENAO
             0
       FIMSE
FIMSE



Exemplo de fórmula para calcular o índice de Juros ou CM.

SE NUMVENDA = 4445 ENTAO
      SE CODCOMPN = 3 ENTAO
            VALORINDICEREAJUSTE * 12
      SENAO
           VALORINDICEREAJUSTE
      FIMSE
SENAO
       SE DATREAJUSTE = CONVERTDATE('01/05/2018') ENTAO
            ARREDONDA(VALORINDICEREAJUSTE*1.1,9)
       SENAO
             VALORINDICEREAJUSTE
       FIMSE
FIMSE


Exemplo de fórmula para calcular o valor Base de incidência de Juros ou CM

SE NUMVENDA = 123 ENTAO
      VALORBASEREAJUSTE
SENAO
      SE DATREAJUSTE = CONVERTDATE('01/04/2018') ENTAO
            VALORBASEREAJUSTE/2
       SENAO
            VALORBASEREAJUSTE
       FIMSE
FIMSE


  • Sem rótulos