...
Término de apuração = data do “Próximo lançamento “Data do contrato” próximo lançamento” (contrato.Data_proximo_aluguel__c) do contrato+ “Dias do lançamento” (parametrizacao.snap_brok__Quantidades_dias_para_lancamentos__c) do objeto parametrizações do SnapProperty.
Se o mês da “Data do próximo lançamento” (contrato.Data_proximo_aluguel__c) do contrato for igual a 2 e “Tipo de vencimento” (contrato.tipo_vencimento__c) do contrato for igual “Vencido” e “Dia do vencimento” (contrato.Dia_vencimento__c) for maior que 28:
Término de apuração = dia igual 28, mês igual a mês da data de término da apuração - 1 mês, ano igual ao ano da data de término da apuração.
Início de apuração = data do término de apuração - 1 mês.
O sistema define qual é o último dia do mês do início de apuração calculado na etapa anterior.
Início de apuração = ano do início de apuração, mês do início de apuração e último dia encontrado na etapa anterior.
Se o sistema entrou nessa condicional, quer dizer que o dia de vencimento do contrato não está aderente com o mês de fevereiro que o lançamento compete, pois o mês de fevereiro, com exceção de anos bissextos, não possui mais que 28 dias e, portanto, a data de apuração deverá respeitar o último dia do mês de fevereiro e não o dia de vencimento estipulado no contrato no campo “Dias de vencimento” (contrato.
...
Dia_vencimento__c).
Senão se o mês da “Data do próximo lançamento” (contrato.Data_proximo_aluguel__c) do contrato for igual a 2 e “Tipo de vencimento” (contrato.tipo_vencimento__c) do contrato for igual “Antecipado” e “Dia do vencimento” (contrato.Dia_vencimento__c) for maior que 28:
Término de apuração = dia igual 28, mês igual a mês da data do término da apuração - 1 mês, ano igual ao ano da data de término da apuração.
Início de apuração = data do término de apuração - 1 mês.
O sistema define qual é o último dia do mês do início de apuração calculado na etapa anterior.
Início de apuração = ano do início de apuração, mês do início de apuração e último dia encontrado na etapa anterior.
Se o sistema entrou nessa condicional, quer dizer que o dia de vencimento do contrato não está aderente com o mês de fevereiro que o lançamento compete, pois o mês de fevereiro, com exceção de anos bissextos, não possui mais que 28 dias e, portanto, a data de apuração deverá respeitar o último dia do mês de fevereiro e não o dia de vencimento estipulado no contrato no campo “Dias de vencimento” (contrato.Dia_vencimento__c).
Se as duas condições acima não foram atendidas:
Término de apuração = dia do vencimento do contrato, mês da data de término de apuração definida na etapa anterior, ano da data de término de apuração definida na etapa anterior.
Início de apuração = término de apuração - 1 mês - 1 dia.
Se o sistema entrou neste processamento, significa que o mês do lançamento não é fevereiro e, portanto, seguirá o processamento dos dias normalmente. Este processamento consiste em adicionar quantidade de dias para lançamento na data do próximo lançamento, sendo assim, define o término da apuração como sendo a data de vencimento da próxima fatura e o início de apuração como sendo menos um mês desta data mais um dia, para que o lançamento não cobre o valor novamente do último dia que já foi apurado no mês anterior.
Se “Tipo de vencimento” igual Antecipado
Se o contrato é antecipado haverá um acréscimo de mais um mês para o término da apuração pois isso significa que a apuração deste lançamento compete ao mês seguinte de quando ele está sendo cobrado (primeiro paga depois usufrui):
Término de apuração = “início de apuração” (que foi definido na etapa anterior) + 1 mês - 1 dia.
Mês Fechado
Ciclo financeiro
O sistema cria um ciclo financeiro para controles dos lançamentos agrupados: