Ir para conteúdo
  • Cadastre-se

dev botao

ACBRMonitorPLUS Boleto bancario como passar o "informativo"


Ver Solução Respondido por Daniel InfoCotidiano,
  • Este tópico foi criado há 733 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Uso o ACBrMonitorPlus 1.4.0.82 e estou integrando o boleto do Santander e já consigo gerar o boleto.  Estou seguindo o manual em https://acbr.sourceforge.io/ACBrMonitor/ModeloTituloArquivoINI.html onde explica para fornecer o texto informativo da seguinte forma:
 

Informativo=Informativo de Boleto1|Informativo de Boleto2|Informativo de Boleto3

O que gostaria de gerar no PDF do boleto com as 4 linhas abaixo:

- Cobrar juro diario do R$ 4,20  após o vencimento

- cobrar multa de 2% após o vencimento

- duvidas: (66) 34xx-xxxx ou [email protected]

* Protestar 10 dias apos o vencimento

 

Já tentei usar separado por pipe (conforme o manual),por ponto-e-virgula  e também tentei separado por "\n" e também não funcionou, imprimindo sempre a 1a linha apenas !

Aproveitado, achei a fonte de impressão dessas linhas que citei bem ruim.  Tem como usar outra fonte/tamanho ?

  • Membros Pro
Postado

Abaixo bloco do dos comandos executados pelo ACBr (observa-se aí a versão atualizada do ACBr) :

10/11/2022 19:06:49 - ACBr MonitorPLUS Ver.1.4.0.140 - x86
10/11/2022 19:06:49 - Aguardando comandos ACBr
10/11/2022 19:06:49 - Monitorando Comandos TXT em: v:\nfe1ent.txt
10/11/2022 19:06:49 - Respostas gravadas em: v:\nfe1sai.txt
10/11/2022 19:06:49 - Log de comandos será gravado em: v:\nfe1com.txt
10/11/2022 19:06:49 - Log de mensagens da NFe/NFCe será gravado em: v:\nfe1mens.txt
10/11/2022 19:07:38 - BOLETO.LimparLista
10/11/2022 19:07:38 - OK: 
10/11/2022 19:08:00 - BOLETO.IncluirTitulos("v:\boleto\14052\bol0000368309.ini", "P" )
10/11/2022 19:08:00 - OK: 

Abaixo  o arquivo do titulo: conforme o último comando acima (boleto/14052/bol0000368309.ini):

[Titulo1]
NumeroDocumento=P0071941/0101  
NossoNumero=368309
Carteira=1
ValorDocumento=62,12
Vencimento=10112022
DataDocumento=10112022
DataProcessamento=10112022
DataMoraJuros=10112022
DataMulta=10112022
ValorMoraJuros=0,09
MultaValorFixo=1,24
LocalPagamento=Pagavel em qualquer agencia bancaria
Especie=DM
EspecieMod=R$
Sacado.NomeSacado=VALDIR XXXXXXXXXXX SILVA                       
Sacado.CNPJCPF=739.000.000-00    
Sacado.Pessoa=0
Sacado.Logradouro=R. RONDONOPOLIS
Sacado.Numero=912
Sacado.Bairro=CENTRO              
Sacado.Complemento=
Sacado.Cidade=PRIMAVERA DO LESTE                      
Sacado.UF=MT
Sacado.CEP=78850-000
Informativo=Apos vencimento cobrar juros de R$ 0,09 ao dia.|Apos vencimento cobrar multa de R$ 1,24|Nro Interno: P0071941/01
Verso=False
Aceite=2
OcorrenciaOriginal.TipoOcorrencia=0
TipoImpressao=1
CodigoMora=1
TipoDesconto=0
TipoDesconto2=0
CarteiraEnvio=0


Na imagem anexo apresento a forma como eu entendi e desenvolvi a emissão do boleto. No geral ficou muito bom e fácil de trabalhar, falta lapidar esses detalhes que eu não consegui entender. 

Como explico na imagem não sei de onde saiu a mensagem já que não é a mesma que eu passei para o ACBr.

 

informativo.jpg

  • Membros Pro
Postado

Boa tarde, desculpa a demora. 

Qual o objetivo desse teste com as instruções abaixo (para que eu possa já identificar os resultados) ?

Instrucao1=01 

Instrucao2=02

Realizei esse teste mas NÂO teve nenhum efeito no texto informativo do boleto !

Estou me baseando no fonte em: https://github.com/frones/ACBr/blob/master/Fontes/ACBrBoleto/ACBrBancoSantander.pas para entender o fluxo das informações.

Inclusive no fonte do link acima (conforme bloco abaixo, onde citei apenas o bloco do CNAB 240 - que é o meu caso), que como não entra no "if" do protesto, vai entrar no "else" logo independente de eu informar qualquer valor em "instrucao1"  ela será defina como instrucao1 := '0' ! Ainda no meu caso, para tratar o código de baixa/devolução, em contato com o banco pediram pra informar "instrucao2=1", que decorrido o prazo de 28 dias o banco deve baixar e devolver para o emitente analisar e ver como vai proceder !

 

function TACBrBancoSantander.InstrucoesProtesto(const ACBrTitulo: TACBrTitulo): String;
var
  sDiasProtesto: String;
begin
  Result := '';
  if ACBrBanco.ACBrBoleto.LayoutRemessa = c240 then
  begin
    {Intruções}
    with ACBrTitulo do
    begin
      try
        {Instruções}
        Instrucao1 := Trim(Instrucao1);
        Instrucao2 := Trim(Instrucao2);

        if ((DataProtesto <> 0) and (DiasDeProtesto > 0)) then
        begin
          if not MatchText(Instrucao1, ['0', '1', '2', '3', '9']) then
            Instrucao1 := DefineTipoDiasProtesto(ACBrTitulo);
          // Dias para protesto
          sDiasProtesto := PadLeft(IntToStr(DiasDeProtesto), 2, '0');
        end
        else
        begin
          Instrucao1 := '0';  // Não protestar
          SDiasProtesto := '00';
        end;

        // Baixa/Devolução
        if (Instrucao2 = '') then
          Instrucao2 := '2' // NAO BAIXAR / NAO DEVOLVER
        else
        begin
          if not MatchText(Instrucao2, ['1', '2', '3']) then
            raise Exception.Create('Código de Baixa/Devolução informado incorretamente!');
        end;

      finally
        Result := Instrucao1 + sDiasProtesto + Instrucao2;
      end;
    end;

 

  • Consultores
Postado

@EveCar
Bom dia !
Qdo informo instrução1=1, instrução2=2.. ele imprime com msg pre definidas (desde q vc tenha informado o juros, multa..etc)... exemplo na imagem abaixo.. eu nao escrevi nada no campo de instrucoes... 
isso em componente, e esperava que o monitor se comportasse da mesma forma. Mas você chegou a testar ai né, informando 1 e 2 nas instruções (apenas p efeito de testes) ?
screenshot_20221121_092957.png

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Membros Pro
Postado

Bom dia, 

Sim, testei, porém deveria ser permitido informar essa mensagem livremente, uma vez que a empresa pode colocar alguma informação que facilite o cliente identificar o que esta pagando nesse boleto.

Poderia ficar essa mensagem da imagem que você postou com mensagem padrão quando não for informado uma mensagem !

Eu usei conforme o manual do ACBrMonitor (ponto 1 do anexo), e creio que assim como está no manual seria ótimo ! Veja no ponto 2 do anexo o texto passado no INI, e veja no ponto 3 como saiu no boleto ! 

Veja no ponto 2 que após o pipe "|" havia a informação do "Nro interno: N1234567/90" que é de extrema importância para a empresa e para o sacado.

 

boleto_santander.png.1152ecc8f056229486d0cb4f47d58f7a.png

  • Consultores
Postado

@EveCar
Estava fazendo alguns testes aqui e vou te enviar um arquivo texto, o mesmo que usei nos meus testes, resultando na imagem abaixo.
Se você renomear o meu txt para ent.txt e enviar na pasta que trabalha e depois pedir p imprimir.
Exemplo_boleto.txt

que vai resultar no boleto com as seguintes informações:
screenshot_20221121_100145.png

Se puder testar, aguardo feedback

  • Curtir 1
Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Membros Pro
Postado

Ola Daniel, 

Testei e recebi um boleto idêntico ao que postou !!

Obrigado pela dica, agora entendi que é a linha "mensagem="  que me interessa ! Eu estava informando na linha "Informativo=".

 

 

  • Curtir 2
  • Este tópico foi criado há 733 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.