Jump to content
Fivewin Brasil

gera boleto do cobrebem em pdf


edutraini

Recommended Posts

Pessoal uso a rotina do cobrebem para gerar os Boletos

Ate funciona perfeitamente

Agora um cliente me pediu para gerar um programa "Carta de Atraso" aonde gero um email para o cliente que esta devendo e anexo um boleto com vencimento atualizado.

Não sei como gerar um boleto novo e anexar no email pois assim que gero o boleto aparece o boleto para imprimir

EU gostaria de gerar esse boleto em pdf em anexar no email tudo automaticamente

Alguem poderia me dar uma dica

Link to comment
Share on other sites

Edutraini,

A Cobrebem não desenvolveu (apesar de prometido) a geração do boleto em PDF. A Dll está parada a muito tempo, não está tendo atualizações e sempre que questionamos o suporte deles falam que não tem previsão... O que tudo indica é que eles descontinuaram o produto, mas continuam vendendo licenças.

Uma alternativa que você tem é, em vez de mandar o boleto via PDF enviá-lo em HTML, aqui mesmo no fórum e no manual tem exemplos de como fazer.

Att.

Herberson Gontijo

Link to comment
Share on other sites

Ola Fladimir

O que faço é, ao invés de mandar imprimir faço assim

oCBX:CalcularDadosBoletos()

e pego o retorno dos dados

cCodigoAgencia := oCBX:CodigoAgencia
cCodigoCedente := oCBX:CodigoCedente
cNumeroCCorrente := oCBX:NumeroContaCorrente
cCodigoCarteira := oCBX:CodigoCarteira
cNrBanco := oCBX:NumeroBanco
entre outros, e assim mando para a FAST, muito simples
Espero ter ajudado.
Link to comment
Share on other sites

Com certeza ajudou muito, desconhecia este método CalcularDadosBoleto.

Abrindo um parenteses, aki, com isto não daria pra gente fazer apenas os layouts das mudanças q virão (nem sei quais mudanças realmente são) mas li em algum post por aki q seriam mais de layout.

Se forem mesmo rodamos o método pegamos os dados e ajustamos os layouts via FAST e/ou HTML.

[]´s

Link to comment
Share on other sites

Pessoal estou fazendo um teste usando esse comando

oCbx:PadroesBoleto:PadroesBoletoImpresso:NomeImpressora := "boleto"

oCbx:ImprimeBoletosSemPreview()
aonde impressora boleto é uma impressora em pdf
agora so preciso achar uma forma de salvar o pdf com um nome que eu quiser pois ele grava com o nome Boleto bancario
se alguem tiver alguma dica
Link to comment
Share on other sites

Nao entendi muito bem.... Pode explicar melhor o que exatamente o CalcularDadosBoletos() faz e como voce manda para o Fast?

Ola Fladimir

O que faço é, ao invés de mandar imprimir faço assim

oCBX:CalcularDadosBoletos()

e pego o retorno dos dados

cCodigoAgencia := oCBX:CodigoAgencia
cCodigoCedente := oCBX:CodigoCedente
cNumeroCCorrente := oCBX:NumeroContaCorrente
cCodigoCarteira := oCBX:CodigoCarteira
cNrBanco := oCBX:NumeroBanco
entre outros, e assim mando para a FAST, muito simples
Espero ter ajudado.
Link to comment
Share on other sites

Olá Eduardo , esta eu posso tentar te responder. O oCBX:CalcularDadosBoletos() vai gerar a linha digitável, ou seja o numero do codigo de barras do boleto. Feito isso, pode-se pegar os dados necessarios para fazer o boleto , como no exemplo

cCodigoAgencia := oCBX:CodigoAgencia
cCodigoCedente := oCBX:CodigoCedente
cNumeroCCorrente := oCBX:NumeroContaCorrente
cCodigoCarteira := oCBX:CodigoCarteira
cNrBanco := oCBX:NumeroBanco
com a linha digitavel e os outros dados do boleto, vc pode inserir num arquivo temporario e gerar os boletos com a fastreport. Aqui no forum já foi postado uma vez os .FR3 de boletos de diversos bancos. Se precisar posso procurar e te enviar.
Att.
William
Link to comment
Share on other sites

show de bola, nao precisa não.... mas se precisar já sei então pra quem pedir !

vlw abraços e obrigado

Olá Eduardo , esta eu posso tentar te responder. O oCBX:CalcularDadosBoletos() vai gerar a linha digitável, ou seja o numero do codigo de barras do boleto. Feito isso, pode-se pegar os dados necessarios para fazer o boleto , como no exemplo

cCodigoAgencia := oCBX:CodigoAgencia
cCodigoCedente := oCBX:CodigoCedente
cNumeroCCorrente := oCBX:NumeroContaCorrente
cCodigoCarteira := oCBX:CodigoCarteira
cNrBanco := oCBX:NumeroBanco
com a linha digitavel e os outros dados do boleto, vc pode inserir num arquivo temporario e gerar os boletos com a fastreport. Aqui no forum já foi postado uma vez os .FR3 de boletos de diversos bancos. Se precisar posso procurar e te enviar.
Att.
William
Link to comment
Share on other sites

Colegas eu uso a impressão do boleto com fastreport da forma postado acima (na epoca foi o Jackson que me ajudou),arquivo remessa e retorno gero na mão(abaixo postei o codigo para vcs ver que é simples) , hoje peguei o manual do bradesco aonde explica mastigado como gerar o codigo de barra, não achei tão complicado assim, será se a gente se reunir e cada um criar a geração de codigo de barra de um banco não estarei reslvido nosso problema, pois aqui so uso cobrebem por causa do código de barra.

nRegistro:=1
nTotal:=0
oFile1 = TTxtFile():New( cPath1+"BOLETO\REMESSA\"+marqui )
wlin='0'
wlin+='1'
wlin+='REMESSA'
wlin+='01'
wlin+='COBRANÇA'+space(7)
wlin+='35570496646501300208'
wlin+='EMPRESA FRIOS'+space(19)
wlin+='033'
wlin+='SANTANDER'+space(6)
wlin+=strzero(day(date()),2)+strzero(month(date()),2)+RIGHT(STR(YEAR(date()),4),2) //substr(str(year(date()),42),3,2)
wlin+=repl('0',16)
wlin+=space(275)
wlin+='013'
wlin+=strzero(nRegistro,6)+chr(13)+chr(10)
oFile1:PutStr( wlin )
for i=1 to len(aBoleto)
    nVMulta:=0
    oBoleto := oCBX:DocumentosCobranca:Add()
    oBoleto:NossoNumero := aBoleto[i,2]
    oCBX:calcularDadosBoletos()          
    oCBX:GravaArquivoRemessa()
    nNosso:=substr(oBoleto:NossoNumero,6,8)   //);
    wlin='1'     // 01 A 01
    wlin+='02'   // 02 A 03
    wlin+=R_CnpjLienar(aEmpresa[1,1])  // 004 A 017
    wlin+='35570496646501300208'       // 018 A 037
    wlin+=aBoleto[i,4]+space(15)       // 038 A 062
    wlin+=nNosso                       // 063 A 070
    wlin+='000000'                     // 071 A 076
    wlin+=space(1)                     // 077 A 077
    wlin+='0'                          // 078 A 078 
    wlin+='0000'                       // 079 A 082
    wlin+='00'                         // 083 A 084
    wlin+=repl('0',13)                 // 085 A 097
    wlin+=space(4)                     // 098 A 101
    wlin+='000000'                     // 102 A 107
    wlin+='5'                          // 108 A 108
    wlin+='01'                         // 109 A 110
    wlin+=aBoleto[i,4]                 // 111 A 120
    wlin+=strzero(day(aBoleto[i,10]),2)+strzero(month(aBoleto[i,10]),2)+RIGHT(STR(YEAR(aBoleto[i,10]),4),2) //str(year(boleto->vencto),2)
    wlin+=strzero(aBoleto[i,5]*100,13) // 127 A 139
    wlin+='033'                        // 140 A 142
    wlin+='00000'                      // 143 A 147
    wlin+='05'                         // 148 A 149
    wlin+='N'                          // 150 A 150
    wlin+=strzero(day(aBoleto[i,9]),2)+strzero(month(aBoleto[i,9]),2)+RIGHT(STR(YEAR(aBoleto[i,9]),4),2)
    wlin+='00'                         // 157 A 158
    wlin+='00'                         // 159 A 160
    //wlin+=repl('0',13)               // 161 A 173
    wlin+=strzero(nVMulta*100,13)      // 161 A 173
    wlin+='000000'                     
    wlin+=repl('0',13)
    wlin+=repl('0',13)
    wlin+=repl('0',13)
    if len(alltrim(aBoleto[i,20]))<14
        wlin+='02'
    else
        wlin+='01'
    endif
    wlin+=R_CnpjLienar(aBoleto[i,20])
    wlin+=aBoleto[i,8]  //+space(5)
    wlin+=aBoleto[i,12] //+space(5)
    wlin+=left(aBoleto[i,15],12)
    wlin+=substr(aBoleto[i,18],1,5)
    wlin+=substr(aBoleto[i,18],7,3)
    wlin+=substr(aBoleto[i,16],1,15)
    wlin+=aBoleto[i,17]
    wlin+=space(30)
    wlin+=space(1)
    wlin+='I'  //space(1)
    wlin+='84'
    wlin+=space(6)
    wlin+='00'
    wlin+=space(1)
    nRegistro++
    wlin+=strzero(nRegistro,6)+chr(13)+chr(10)
    oFile1:PutStr( wlin )
    nTotal+=aBoleto[i,5]
next
nRegistro++
wlin='9'
wlin+=strzero(nRegistro,6)
wlin+=strzero(nTotal*100,13)
wlin+=repl('0',374)
wlin+=strzero(nRegistro,6)+chr(13)+chr(10)
oFile1:PutStr( wlin )
oFile1:End()
 

Luiz Fernando

Link to comment
Share on other sites

Luiz concordo com vc mas acredito q seria mas talvez seria mais produtivo (pensando a longo prazo) a gente (q usa o cobrebem) ver qual projeto de Boleto esta mais maduro e eh Open (exemplo HarbourBoleto talvez) e começarmos a usar ele e cada 1 focar em 1 banco q use mais por exemplo trabalho mais com Sicredi e BB, q ai o projeto teria mais pessoas e futuramente caso mude nao somente regras de layout temos ja uma mini comunidade e um projeto q estara caminhando.

Link to comment
Share on other sites

Amigos, deem uma olhada no projeto ACBr, que é um conjunto de componentes para automação comercial feitos em pascal (Lazarus/Delphi) que possui muitos recursos interessantes, e um deles é o ACBrBoleto. A comunidade é bastante ativa e possui muito apoio de fabricantes, como Bematech, Daruma, etc. Eu uso através do ACBrMonitor que é um programa que recebe comandos por .TXT ou Socket e com isso consigo utilizar as funcionalidades do ACBr através do Xharbour. Uso com muito sucesso a vários anos realizando a comunicação com ECF, emissão de NF-e, etc.

Deem uma olhada, acredito que vai ajudar bastante.

http://www.projetoacbr.com.br/

[]´s

Fabio Souza

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...