Pular para o conteúdo principal

Junho

Melhoria entregue até 13/06/2024

Disponibilizados novos campos na fonte de dívidas

Informamos que foram disponibilizados na fonte de dívidas (dívida.busca), a Data de prescrição da dívida ativa (dataInicioContagemPrescricao) como campo e também como filtro.

Já na fonte dividas.movimentacoes.busca, foram adicionados os campos Motivo e Observação.

Vale destacar que foi alterado o service layer da Dívida ativa para receber o campo referente a data de início da contagem da prescrição.

Disponibilizadas novas funções para fórmula de acréscimos de parcelamento

Informamos que foram implementadas funções para fórmula de acréscimos de parcelamento, onde será possível buscar valores dos campos adicionais referente ao contribuinte.

Isso permite acessar facilmente informações específicas relacionadas ao contribuinte para inclusão de validações nos cálculos de acréscimos.

Veja quais são elas:

  • CamposAdicionais.valor(referente, nomeCampoAdicional, ano): Esta função retorna o valor do campo adicional informado.

Exemplo:

valorCampoAdicional = CamposAdicionais.valor(referente, "TESTE", ano)

  • CamposAdicionais.valorOpcao(referente, nomeCampoAdicional, valorOpcao, ano): Esta função retorna verdadeiro ou falso, indicando se a opção de valor informada está selecionada para o campo adicional especificado.

Exemplo:

valorCampoAdicionalOpcao = CamposAdicionais.valorOpcao(referente, 'TESTE', 'SIM', ano)

  • CamposAdicionais.valor(contribuinte,nomeCampoAdicional, ano,agrupamento): Esta função retorna o valor do campo adicional informado utilizado em um determinado agrupamento.

Exemplo:

agrupamento = Utilitarios.buscaAgrupamentoParcelamento(referente, "Descrição do agrupamento") valorCampoAdicional = CamposAdicionais.valor(referente, "TESTE", ano, agrupamento)

  • CamposAdicionais.valorOpcao(contribuinte, nomeCampoAdicional, valorOpcao, ano, agrupamento): Esta função retorna verdadeiro ou falso, indicando se a opção de valor informada está selecionada para o campo adicional utilizado em um determinado agrupamento.

Exemplo:

agrupamento = Utilitarios.buscaAgrupamentoParcelamento(referente, "Descrição do agrupamento") valorCampoAdicionalOpcao = CamposAdicionais.valorOpcao(referente, 'TESTE', 'SIM', ano, agrupamento)

Melhoria entregue até 04/06/2024

Realizada adequação no script padrão de baixa automática

Informamos que o script de baixa automática ([Tributos] DAM - FEBRABAN) foi atualizado para aprimorar o processo de baixa de lançamentos pagos com boletos emitidos como lançamento em débitos, mas cuja situação atual está inscrita em dívida ativa.

Agora, ao realizar a baixa, o sistema utilizará a guia paga (lançamento em débito) para identificar a dívida gerada para o débito em questão e prosseguir com o processo de baixa.

É importante destacar que o impacto dessa alteração é apenas no processo de identificação da dívida a ser baixada, sem alteração nas regras já existentes da baixa.

Exemplo de Funcionamento:

  1. A guia foi emitida com o lançamento em débito.
  2. O débito foi inscrito em dívida ativa.
  3. Após isso, a guia emitida em débito foi paga.
  4. O script padrão está preparado para identificar a dívida gerada para o débito em questão e realizar a baixa.

Pontos Importantes:

  • Dívida baseada na composição: A baixa será realizada na dívida onde o débito está vinculado.
  • Débitos inscritos em dívida de forma agrupada: O pagamento da guia emitida em débito baixará a dívida gerada.
  • Débito inscrito em dívida de forma separada:
    • Pagamento de guia referente a uma parcela específica baixará a dívida gerada dessa parcela.
    • Pagamento de guia referente a cota única baixará a dívida gerada com menor vencimento e, se houver mais dívidas com o mesmo vencimento, baixará a dívida com a menor parcela da composição.
  • Guia unificada: Neste caso, não será identificada a dívida para realizar a baixa, mantendo o comportamento atual.

Atenção: As regras de baixa existentes não foram alteradas. A atualização se restringe à identificação da dívida a ser baixada.

Segue abaixo a validação adicionada no script para poder identificar as baixas de débitos que foram inscritos em dívidas.

Inicia na linha 76 até a linha 120:

 //Valida se é uma divida e se foi paga pelo boleto do débito
idDivida = nulo;
dadosNumerosBaixa = FONTE_TRIBUTOS.numerosBaixa.busca(criterio: "id = ${nroBaixa} and debito.situacao = 'INSCRITA'", primeiro: true);
se(dadosNumerosBaixa.debito.id > 0){
dadosDividas = FONTE_TRIBUTOS.dividas.busca(criterio: "idDebito = ${dadosNumerosBaixa.debito.id}", primeiro: true)

se(dadosDividas.id > 0){
idDivida = dadosDividas.id;
} senao {
dadosDebitosInscritos = FONTE_TRIBUTOS.dividas.debitosInscritos.busca(criterio: "idDebito = ${dadosNumerosBaixa.debito.id}", primeiro: true);
se(dadosDebitosInscritos.idDivida > 0){
idDivida = dadosDebitosInscritos.idDivida;
}
}
}

// Valida se é uma divida e se foi paga pela cota unica
if(idDivida == nulo){
dadosNumerosBaixa = FONTE_TRIBUTOS.numerosBaixa.busca(criterio: "id = ${nroBaixa} and debito.situacao = 'ELIMINADA'", primeiro: true);
se(dadosNumerosBaixa.debito.id > 0 && dadosNumerosBaixa.debito.unica.valor == 'SIM'){
// Pega os ids das parcelas dos debitos vinculados ao lançamento da cota unica
listaIdDebitos = []
dadosDebitos = FONTE_TRIBUTOS.debitos.busca(criterio: "idLancamento = ${dadosNumerosBaixa.debito.idLancamento} and unica = 'NAO'")
for(def item : dadosDebitos){
listaIdDebitos << item.id
}

// Pega os ids das dividas vinculadas as parcelas do débito
listaDividas = [];
dadosDividas = FONTE_TRIBUTOS.dividas.debitosInscritos.busca(criterio: "idDebito in ("+listaIdDebitos.join(',')+")")
for(def item : dadosDividas){
listaDividas << item.idDivida
}

// Verifica se as dividas são agrupadas ou não
listaDividas = listaDividas.unique()
se(listaDividas.size() > 1){
// NÃO AGRUPADAS
// Pega a divida com o vencimento menor e menor parcela
idDivida = FONTE_TRIBUTOS.dividas.busca(criterio: "id in ("+listaDividas.join(',')+")", ordenacao:"dataVencimento, parcela asc", primeiro: true).id
} senao {
// AGRUPADA
idDivida = listaDividas.join(',')
}
}
}

E da linha 128 até a linha 132:

  se(idDivida == nulo) {
dadosBaixa.nroBaixa = nroBaixa
} senao {
dadosBaixa.idDivida = idDivida
}

Ao visualizar os pagamentos, quando o sistema encontrar um registro com boletos emitidos como lançamento em débitos, mas cuja situação atual está inscrita em dívida ativa, não será demonstrado o número de baixa, pois o número de baixa pago não é o que está em dívida ativa:

executando