Versões comparadas

Chave

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

CONCEITOS E APLICAÇÃO DE BOLSAS - CONDICIONAIS

Características do Requisito

Linha de Produto:

RM

Segmento:

Educacional

Módulo:

TOTVS Educacional

Rotina:

Rotina

Nome Técnico

Geração de lançamentos

Geração de lançamentos financeiros

Baixa de lançamentosBaixa de lançamentos
Parâmetros de Sistema
Parâmetros de Sistema
Cadastro de Bolsas
Cadastro de Bolsas

Rotina(s) envolvida(s)

Nome Técnico

Geração de lançamentos

Geração de lançamentos financeiros

Baixa de lançamentosCancelamento Baixa de lançamentos
AcordoAcordo de lançamentos do Educacional
Parâmetros de Sistema
Parâmetros de Sistema
Cadastro de Bolsas
Cadastro de Bolsas
Contabilização por competência
Contabilização por competência
Simulação de valores de parcelas
Simulação de valores de parcelasConversor oficialConversor da versão 12.1.9

Cadastros Iniciais:

1. Cadastro de parcelas bolsas do contrato 
2. Cadastro de responsáveis das parcelas
3. Cadastro de bolsas no contrato (opcional)parcelas do contrato

Parâmetro(s):

N/ACriação do parâmetro "Manter fórmula default para valor opcional de bolsas condicionais"

Ponto de Entrada:

N/A.

Chamados relacionados

TTDLGJ, TRUT12 e TSZTRMTVEBGW

Requisito (ISSUE): N/A.

País(es):

Todos.

Banco(s) de Dados:

SQL Server e Oracle

Tabelas utilizadas:

N/A

Sistema(s) operacional(is):

Todos.

Versões/Release:

12.1.912

Descrição

O Totvs Educacional trabalha com dois conceitos de bolsas (Incondicionais e Condicionais).

As bolsas INCONDICIONAIS são aquelas que sempre manterão o mesmo valor original de bolsas da geração.

As bolsas CONDICIONAIS são aquelas que, dependendo de alguma condição (pagamento em atraso, coeficiente de rendimento ruim do aluno, notas, frequência, etc...), terão o seu valor alterado.

Foram feitas as seguintes alterações:

1) Ajuste Labels

    1.1) Parâmetros do Educacional (De - Para)

  • (De) Utilizar escalonamento de bolsas - (Para) Utilizar bolsas condicionais. A utilização da bolsa condicional não necessariamente tem que ter um escalonamento.
  • (De) Bolsas válidas APÓS o vencimento - (Para) Bolsas incondicionais. A aplicação do parâmetro não relação nenhuma com a data de vencimento, independentemente de qualquer variável a bolsa não será perdida.
  • (De) Bolsas válidas ATÉ o vencimento - (Para) Bolsas condicionais. A regra para perda de valores da bolsa não está necessariamente ligada a data de vencimento, ela pode servir para pagamento antecipado, para análise de rendimento do aluno, ou qualquer outra campanha que a instituição trabalhe.

    1.2) Cadastro de Bolsas

  • (De)Válida após o vencimento da parcela - (Para) Bolsa incondicional – A regra para perda de valores da bolsa não está necessariamente ligada a data de vencimento, ela pode servir para pagamento antecipado, para análise de rendimento do aluno, ou qualquer outra campanha que a instituição trabalhe.

    1.3) Simulação de valores de parcelas

  • (De)Vlr. bolsa válida após vencimento - (Para) Bolsa incondicional
  • (De)Vlr. bolsa válida até vencimento - (Para) Bolsa condicional

 2) Geração de lançamentos com bolsas CONDICIONAIS: Foi criado o parâmetro "Manter fórmula default para valor opcional de bolsas condicionais" que, ao ser marcado, mantém a fórmula default associada ao valor opcional de bolsas condicionais na geração de lançamentos. Essa fórmula que será responsável por setar os valores de bolsas condicionais. Para que seja considerado o valor de bolsas do lançamento, poderá ser utilizada a função de fórmula VALORBOLSALAN(). Exemplo: VALORBOLSALAN(0,0,'-1'). Caso o parâmetro esteja desmarcado, a geração de lançamentos calculará e atribuirá o valor das bolsas condicionais ao valor opcional parametrizado para Bolsas condicionais do lançamento anulando a fórmula vinculada a esse campo.

3) Simulação de valores de parcelas: Os valores mostrados para bolsas condicionais serão os valores de bolsas condicionais calculados para o contrato (Independente de fórmula e data de cálculo).

4) Baixa de lançamentos com bolsas CONDICIONAIS: Ao cadastrar uma bolsa no sistema com o campo "Bolsas incondicionais" DESMARCADO, é habilitado o campo "Ordem de perda" que indicará a ordem em que as bolsas perderão valor na baixa. A ordem de baixa das bolsas será o inverso da ordem de perda, ou seja, o menor número de Ordem de perda terá a menor prioridade de baixa. Os valores gerados de cada bolsa serão registrados no campo VALOR da tabela SBOLSALAN. Os valores baixados de cada bolsa serão registrados no campo VALORBAIXA da tabela SBOLSALAN.

Bolsas com a mesma Ordem de perda, terão os seus valores proporcionalizados com relação ao valor original total gerado para cada ordem de perda.

Seguem abaixo algumas situações exemplificando as ordens de perda:

O contrato do aluno possuirá três bolsas (A, B e C) com valores originais de bolsa nos valores de 100.00, 100.00 e 100.00 totalizando 300.00

Exemplo 1 - Valores de bolsas condicionais iguais aos valores originais de bolsas gerados e mesma ordem de perda (1):

Se não houver diferença entre os valores gerados e os valores baixados, ao baixar o lançamento com as bolsas, o sistema atribuirá ao valor baixado o valor original gerado para bolsa (SBOLSALAN.VALORBAIXADO = SBOLSALAN.VALOR)

Exemplo 2 - Valores de bolsas condicionais diferentes dos valores originais de bolsas gerados e mesma ordem de perda (1):

Caso haja diferença entre os valores gerados e os valores baixados, o sistema ordenará as bolsas CONDICIONAIS por ordem DECRESCENTE  de ordem de perda para que, o maior número de ordem de perda seja a primeira bolsa a ser baixada.

Consideraremos que o valor calculado para as bolsas condicionais na baixa seja de 250.00 (Calculado através da fórmula associada ao valor opcional vinculado a bolsas condicionais)

Como todas as bolsas possuem a mesma ordem de perda, sistema processará os registros de SBOLSALAN na sequência:

  • Bolsa (A) - SBOLSALAN.VALOR = 100, SBOLSALAN.VALORBAIXADO = 100
  • Bolsa (B) - SBOLSALAN.VALOR = 100, SBOLSALAN.VALORBAIXADO = 100
  • Bolsa (C) - SBOLSALAN.VALOR = 100, SBOLSALAN.VALORBAIXADO = 50

Exemplo 3 - Valores de bolsas condicionais diferentes dos valores originais de bolsas gerados e diferentes ordens de perda:

Caso haja diferença entre os valores gerados e os valores baixados, o sistema ordenará as bolsas CONDICIONAIS por ordem DECRESCENTE  de ordem de perda para que, o maior número de ordem de perda seja a primeira bolsa a ser baixada.

Consideraremos que o valor calculado para as bolsas condicionais na baixa seja de 250.00 (Calculado através da fórmula associada ao valor opcional vinculado a bolsas condicionais) com as seguintes ordens de perda por bolsa:

  • Bolsa (A) - ORDEMDEPERDA = 1
  • Bolsa (B) - ORDEMDEPERDA = 2
  • Bolsa (C) - ORDEMDEPERDA = 3

Como as bolsas possuem ordens de perda diferentes, sistema processará os registros de SBOLSALAN na sequência:

  • Bolsa (C) - SBOLSALAN.VALOR = 100, SBOLSALAN.VALORBAIXADO = 100
  • Bolsa (B) - SBOLSALAN.VALOR = 100, SBOLSALAN.VALORBAIXADO = 100
  • Bolsa (A) - SBOLSALAN.VALOR = 100, SBOLSALAN.VALORBAIXADO = 50

  Exemplo 4 - Valores de bolsas condicionais diferentes dos valores originais de bolsas gerados e diferentes ordens de perda:

Caso haja diferença entre os valores gerados e os valores baixados, o sistema ordenará as bolsas CONDICIONAIS por ordem DECRESCENTE  de ordem de perda para que, o maior número de ordem de perda seja a primeira bolsa a ser baixada.

Consideraremos que o valor calculado para as bolsas condicionais na baixa seja de 100.00 (Calculado através da fórmula associada ao valor opcional vinculado a bolsas condicionais) com as seguintes ordens de perda por bolsa:

  • Bolsa (A) - ORDEMDEPERDA = 1
  • Bolsa (B) - ORDEMDEPERDA = 2
  • Bolsa (C) - ORDEMDEPERDA = 2

Como a bolsa (A) possui ordem de perda diferente e as bolsas (B) e (C) possuem mesmos valores de ordens de perda, o sistema processará os registros de SBOLSALAN conforme abaixo:

  • Bolsa (C) - SBOLSALAN.VALOR = 100, SBOLSALAN.VALORBAIXADO = 50 (<VALOR ORIGINAL DA BOLSA> / <VALOR TOTAL DE BOLSAS POR ORDEM DE PERDA>) * <VALOR DISPONIVEL PARA BAIXA ANTES DE PROCESSAR A ORDEM DE PERDA> = (100 / 200) * 100 = 50
  • Bolsa (B) - SBOLSALAN.VALOR = 100, SBOLSALAN.VALORBAIXADO = 50 (<VALOR ORIGINAL DA BOLSA> / <VALOR TOTAL DE BOLSAS POR ORDEM DE PERDA>) * <VALOR DISPONIVEL PARA BAIXA ANTES DEPROCESSAR A ORDEM DE PERDA> = (100 / 200) * 100 = 50
  • Bolsa (A) - SBOLSALAN.VALOR = 100, SBOLSALAN.VALORBAIXADO = 0

 

OBSERVAÇÃO:

As bolsas INCONDICIONAIS terão sempre o mesmo valor nos campos SBOLSALAN.VALOR e SBOLSALAN.VALORBAIXA

Procedimento para Implantação

  1. Configuração dos respectivos valores opcionais para bolsas condicionais e incondicionais
  2. Marcação do parâmetro para manter fórmula default associada a valores de bolsas condicionais.

Alteração no preenchimento do campo CODPARCELALAN da tabela SLAN a fim de evitar a duplicidade de registros de lançamentos para uma mesma parcela financeira.

Os processos alterados foram:

  1. Geração de lançamentos financeiros do Educacional
  2. Geração de acordo de lançamentos do Educacional
  3. Cancelamento de lançamentos do Educacional
  4. Conversor oficial da versão 12.1.9

Nos três primeiros processos citados acima, temos a alteração de preenchimento do campo SLAN.CODPARCELALAN.

No item 4, temos um backup da tabela SLAN na tabela SLAN_OLD_CODPARCELALAN bem como a alteração de todos os registros de SLAN com o campo IDLAN precedido por um '#'. 

Exemplo:  #10024

Em seguida, o conversor processará todos os registros de SLAN vinculados à alguma parcela, ou seja, SLAN.IDPARCELA não poderá ser nulo. A ordem de processamento será de registros NÃO CANCELADOS (FLAN.STATUSLAN <> 2) e, sem seguida, os lançamentos CANCELADOS (STATUSLAN = 2) para não priorizarmos um lançamento cancelado com o valor correto no caso de duplicidade de registros.

O preenchimento do campo citado acima, segue as regras abaixo:

1) PARA LANÇAMENTOS QUE NÃO SÃO BOLSAS DE CRÉDITO

CodParcelaLan =
# +
SLAN.CODCOLIGADA +   (Coligada)
SLAN.IDPARCELA +          (Id. da Parcela)
FLAN.CODCOLCFO +        (Coligada do Cliente Fornecedor)
FLAN.CODCFO +               (Código do Cliente Fornecedor)
SPARCELA.CODSERVICO (Código do serviço da parcela)

Exemplo:

CODPARCELALAN = #1132601C015841 =>

#            (Caractere coringa para identificar o novo formato de CODPARCELALAN) +
1            (Coligada)
13260   (Id. da Parcela)
1            (Coligada do Cliente Fornecedor)
C01584 (Código do Cliente Fornecedor)
1            (Código do serviço da parcela)                                     

   

2) PARA LANÇAMENTOS DE BOLSAS DE CRÉDITO

CodParcelaLan =
# +
SLAN.CODCOLIGADA +   (Coligada)
SLAN.IDPARCELA +          (Id. da Parcela)
FLAN.CODCOLCFO +        (Coligada do Cliente Fornecedor)
FLAN.CODCFO +               (Código do Cliente Fornecedor)
SPARCELA.CODSERVICO (Código do serviço da parcela)
SBOLSALAN.CODBOLSA  (Código da Bolsa de Crédito) +
SBOLSALAN.IDLAN           (Ref. do lançamento do responsável do aluno - origem)     

Exemplo:

CODPARCELALAN = #1132601C005201518114 =>

#            (Caractere coringa para identificar o novo formato de CODPARCELALAN) +
1            (Coligada)
13260   (Id. da Parcela)
1            (Coligada do Cliente Fornecedor)
C00520 (Código do Cliente Fornecedor)
1            (Código do serviço da parcela)                                              
5            (Código da Bolsa de Crédito)
18114   (Ref. do lançamento do responsável do aluno - origem)      

                       

3) PARA LANÇAMENTOS CANCELADOS (STATUSLAN = 2)

O preenchimento do CODPARCELALAN obedecerá as regras acima caso o lançamento seja de bolsa de crédito ou não e concatenará o valor do CODPARCELALAN encontrado com uma string no formato: '##' + (Data no formato: yyyymmdd) + (Hora no formato: hhMMss)                                        

Exemplo:

CODPARCELALAN = #1132901C015841##20151222104623 (Lançamento cancelado em 22/12/2015 10:46:23)

OBSERVAÇÃO :

A geração de lançamentos e a geração de acordo preencherão o campo em questão conforme itens 1 e 2 acima

O cancelamento de lançamentos do Educacional preencerá o campo em questão conforme item 3 acima.

Caso sejam encontrados registros duplicados na base a ser convertida, o conversor verificará se o valor para SLAN.CODPARCELALAN encontrado já foi preenchido em algum outro registro. Em caso afirmativo, o preenchimento do campo será o valor gerado anteriormente para CODPARCELALAN + '$' + <QUANTIDADE DE REGISTROS COM O MESMO VALOR DE CODPARCELALAN ENCONTRADA>

Procedimento para Implantação

Necessária execução do conversor de base 12.1.9

Procedimento para Configuração

N/A

Procedimento para Utilização

  1. Converter a base para a versão Instalação do release 12.1.9
  2. Gerar um lançamento financeiro para uma parcela qualquer de um contrato
  3. Cancelar um lançamento do Educacional gerado anteriormente
  4. Gerar um acordo para um lançamento do Educacional
    imento por Competência.
 
  1. 12 ou posterior
  2. Configuração dos valores opcionais para bolsas condicionais e incondicionais
  3. Geração de lançamentos para parcelas com esses tipos de bolsas
  4. Baixa de lançamentos com os tipos de bolsas acima citados.