Ir para conteúdo
  • Cadastre-se

dev botao

algumas divergentes contido arquivo de remessa com o boleto da Caix


  • Este tópico foi criado há 2612 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá Amigos.

Recebi algumas solicitação de clientes na geração de boleto e arquivos de remessa pela ACBrBancoCaixa

(240 posições), mais para que boleto possa atualizado pelo cedente do boleto após o vencimento pelo

link abaixo

(https://bloquetoexpresso.caixa.gov.br/bloquetoexpresso/index.jsp) estaria com algumas divergentes contido arquivo de remessa com o boleto da Caixa .

Nos seguintes campos.

No segmento R

Campo 14.3R> Nome Código da Multa>Posição 066 > contém o valor 1, deve conter o valor 2

(Código da multa: 1- Valor fixo, 2- Percentual)

Porem quando o valor de multa for  fixo de ser informado código de multa "1" e campo 16.3R  Valor/Percentual Ser Aplicado , Posição 75 até 89

Preencher de acordo com a informação do campo 14.3R (Código da Multa),

utilizando duas casas decimais: Se 14.3R = '0', preencher com zeros; Se = ‘1’, informar Valor;

 Se = ‘2’, informar percentual; Como não havia implementação para esse caso no fontes  ACBrBancoCaixa

tive realizar algumas alteração fontes ACBrBoleto e ACBrBancoCaixa.

Caso não esteja no padrão do ACBr fico grato que seja analisando,

pois fiz algumas alterações para poder recebe valor 1 no campo código multa 1 e para recebe valor fixo da multa igual o valor contido campo observação 

no boleto gerado pelo Acbr.

Seguir as alterações dos arquivos abaixo.

 Na Classe TACBrTitulo  property CodigoMulta : String read fCodigoMulta write SetCodigoMulta;

 procedure TACBrTitulo.SetCodigoMulta(const AValue: String);

 begin

   if fCodigoMulta = AValue then

      exit;

   fCodigoMulta := AValue;

 end;

Na ACBrBancoCaixa alteração feitas

      {Multa}

      if (PercentualMulta > 0) then

        ADataMulta := IfThen(DataMoraJuros > 0,

                             FormatDateTime('ddmmyyyy', DataMoraJuros),

                             FormatDateTime('ddmmyyyy', Vencimento + 1))

      else

      begin

        ADataMulta := PadLeft('', 8, '0');

        CodigoMulta  := '0';

      end;

               IfThen(CodigoMulta  = '1' ,'1',

               IfThen((PercentualMulta <> null) and (PercentualMulta > 0), '2', '0'))         + //  66 a 66  - Código da Multa

               ADataMulta                                                                     + //  67 a 74  - Data da Multa

               IfThen(CodigoMulta  = '1',IntToStrZero(round(ValorDocumento * PercentualMulta),15),

               IfThen(PercentualMulta > 0, IntToStrZero(round(PercentualMulta * 100), 15),

                      PadRight('', 15, '0')))                                                   + //  75 a 89  - Valor/Percentual a ser aplicado

 

ACBrBancoCaixa.pas

ACBrBoleto.pas

Editado por Pablo Gimenez
laytout do topic
Link para o comentário
Compartilhar em outros sites

desculpa não tinha entendido , mais seguir o link do manual , na paginá 30 .

http://www.caixa.gov.br/Downloads/cobranca-caixa/Manual_Leiaute_CNAB240_SIGCB.pdf

e manual em anexo Especificação do Código de Barras para Boletos de Cobrança
Sem Registro e Registrada no SIGCB

na paginá 15 no item Cobrança Registrada

ESP_COD_BARRAS_SIGCB_COBRANCA_CAIXA.pdf

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde.

No ACBrBancoCaixa.pas anexo a popriedade CodigoMulta não é utilizada em nenhum momento.

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

 Bom Dia 

Juliana

a propriedade CodigoMulta é utilizada no segmento R para informa que valor da multa é fixo conforme documentação SIGCB_Cobranca_Caixa_Manual_de_Leiaute_CNAB240_SIGCB_outubro_2015.pdf

pagina 30

Segmento R 

A cobrança de multa por atraso no pagamento do título pelo Pagador  no campo 14.3R posição 66 

dever : ‘0’ (Sem Multa); ou '1' (Valor Fixo); ou '2' (Percentual)

Esse Alteração permite que o valor 1 possa ser informado no momento da criação do arquivo de remessa pelo  ACBrBancoCaixa.pas

Mais foi do meu jeito a alteração , podendo ter outras formulas  de ser feito.

qualquer duvidas me avisar

 

Editado por Pablo Gimenez
Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde.

 O ideal seria tratar como é feito com o código de mora, observe o uso da propriedade CodigoMora nas classe do componente. Seria interessante colocar a mesma validação por classe de forma que os usuários possam informar somente códigos válidos.

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

48 minutos atrás, Pablo Gimenez disse:

Bom dia, Pessoal ,Algumas novidades !!!

Ainda não foi anallisado.

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • 4 semanas depois ...

Estou no aguardo do retorno da analise , caso possível ter uma previsão,  pois fazem mais de um mês que está  em analise.

Seguir os arquivos com as alterações finais e implementações. 

 

ACBrBancoCaixa.pas

ACBrBoleto.pas

Editado por Pablo Gimenez
adciona oalavra
Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde

Vc fez novos ajustes?

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

No fonte ACBrBoleto.pas está implementado os CodigoMulta e CodigosMultaAceitos 

, Mais do fontes ACBrBancoCaixa.pas alterei para recebe o valor do CodigoMulta direto , caso contrario 3

IfThen (ValorMoraJuros > 0, CodigoMora ,'3')+ //118 - Código de juros de mora: Valor por dia

Acho que agora não será necessário colocar o valor de zero  para CodigoMulta  , Conforme linhas abaixo no fontes ACBrBancoCaixa.pas

  {Multa}
      if (PercentualMulta > 0) then
        ADataMulta := IfThen(DataMoraJuros > 0,
                             FormatDateTime('ddmmyyyy', DataMoraJuros),
                             FormatDateTime('ddmmyyyy', Vencimento + 1))
      else
      begin
        ADataMulta := PadLeft('', 8, '0');
        CodigoMulta  := '0';
      end;

Para 
      if (PercentualMulta > 0) then
        ADataMulta := IfThen(DataMoraJuros > 0,
                             FormatDateTime('ddmmyyyy', DataMoraJuros),
                             FormatDateTime('ddmmyyyy', Vencimento + 1))
      else
        ADataMulta := PadLeft('', 8, '0');
      end;

 

 

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

A propriedade CodigosMultaAceitos tem por finalidade garantir que sejam informados valores válidos para o banco, não entendi sua explicação da alteração.

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2612 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...