Boletos do Banco Itaú

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Gerald
Usuário Nível 1
Usuário Nível 1
Mensagens: 39
Registrado em: 06 Jul 2004 17:50
Localização: Caldas Novas
Contato:

Boletos do Banco Itaú

Mensagem por Gerald »

Alguem tem a rotina desses boletos, não ele pronto mas como descobrir o digito verificador e etc...?
Quando disserem que seu trabalho não é o de um profissional, lembre-se: Amadores construíram a arca de Noé, profissionais, o Titanic...

www.1grau.com\comunidadeclipper
skype = "gpfranca"
novo email: geraldo@usinfo.com.br
Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Mensagem por Trazom »

Ola galera,

nao desencoraja nao, mas o codigo de barra de boleto é um nó, é formado por um monte de informação, pode ter até o valor do titulo, a data de vencimento é o numero de dias apos um determinado dia em 1997 se nao me engano, etc, apesar de nao ter a menor ideia como se faz pra imprimir o boleto, acho que eh mais facil que o codigo de barra, se nao me engano tem no site www.febraban.org

valeu
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Mensagem por Trazom »

Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Mensagem por Trazom »

consultei e nao achei a informacao sobre codigo de barra, tenho um manual impresso do banco rural
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
Avatar do usuário
Dercide
Usuário Nível 1
Usuário Nível 1
Mensagens: 18
Registrado em: 18 Ago 2003 18:44

Mensagem por Dercide »

Gerald,

Para calcular o nosso numero dos boletos bancarios, você deve pedir para o seu cliente solicitar junto a cobrança do Itau, ou qualquer banco que seja, o manual de cobrança eletronica, pois cada banco possui uma maneira diferente de calcular o NOSSO NUMERO. Necessariamente você não precisa imprimir os boletos, o Itau fornece o seu programa de cobrança eletronica, o SISCOB, onde você pode digitar os boletos, ou importar um arquivo texto gerado pelo seu sistema, ai o proprio SISCOB imprime os boletos com codigo de barras, etc...

Aqui na minha empresa assim como em varios clientes meu, o meu sistema financeiro emite as notas fiscais, depois eu entro no meu modulo de HOMEBANKING, seleciono quais titulos eu quero mandar para o banco, seleciono o banco, e qual modelo de arquivo de exportação, feito isso eu exporto todos os dados, depois entro no programa do banco, importo e imprimo todos os boletos. Vale lembrar, que no mesmo banco, de acordo com o tipo de cobrança, existem deversos lay-outs diferentes, por isso eu tenho um gerador, onde eu defino os lay-out dos arquivos dos bancos.

Eu possuo alguns manuais de cobranças, inclusive do ITAU, se você quise, dá um toque que eu te mando via email.
Nota de Moderação:
por [url=https://pctoledo.org/forum/memberlist.php?mode=viewprofile&u=100899][color=#00AA00]Pablo César[/color][/url]: (de acordo a sua ultima citação) 
 
Enviar por email, resolver através de meios privados são práticas não aceitas aqui no fórum. Desestimulamos este tipo de procedimento, já que o objetivo do fórum é para servir como fonte centralizadora de informações, onde os usuários possam compartilhar de forma pública e não exclusiva. Favor ler a Regra Geral do Fórum (itens 10,11,12 e 13).
Abraços,

Dercide.
dercide@terra.com.br
Magno
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 05 Ago 2004 13:19
Localização: Belo Horizonte
Contato:

Mensagem por Magno »

Caro amigo,
A geração de boleta não é tão complicado quanto parece.
Basta ter um pouco de fôlego e analisar o código que está no site do Toledo.

Veja em
https://pctoledo.org/download/boletos.zip

Imprime Boletos Bancários em impressoras laser (Bancos: Brasil, Banespa, Bradesco, Itaú e Safra). Autor: Adriano Diógenes de Almeida
Faz os cálculos de todos os dígitos verificadores, tais como o do nosso número, dígito geral, cedente e banco.

Infelizmente ele não imprime boleto da CAIXA ECONÔMICA.
Contudo, analisando o lay out dos Códigos da CEF, fiz as alterações necessárias e deu certo. Por enaquanto, o meu único problema é consegiur o lay out da LOGOMARCA "caixa" (um arquivo do tipo msc).

A propósito, se alguém puder me ajudar, favor enviar.

Baixe o arquivo, analise e caso tenha alguma dúvida, entre em contato.

A unica restrição do programa é que ele gera somente em impressora laser. (utilizo a HP5m).

Atenciosamente

Carlos Magno.
Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

Mensagem por Trazom »

Achei o tal manual do banco rural

acredito ser próprio do banco rural, porém acredito que deve haver alguma semelhanca com outros bancos:

o código de barras para a cobranca contem 44 posicoes

03 - banco, 104 cef, 237 bradesco, etc
01 - moeda: 9- real,
01 - digito verificador do codigo de barras
04 - fator de vencimento
10 - valor do documento
25 - campo livre

fator de vencimento: a data de referencia é 07/10/1997
o fator é o numero de dias apos esta data, por exemplo para ctod(''05/08/2004'') -ctod(''07/10/1997'') = 2494

digito verificador:

dispor o numeros na sequencia indicada abaixo e multiplicar por seus respectivos pesos:

exemplo:

104 9 x 2494 0000123456 (25 digitos campo livre) == cod barras

432 9 8765 4329876543 2987654329876543298765432 == pesos


multiplica os valores pelos respectivos pesos, soma e divide por 11, o digito sera 11 menos o resto da divisao

ja encontrei alguns campos livres com conteudos diferentes como:

1 - tipo de cobranca = 0
3 - agencia
9 - conta
1 - digito da conta
7 - nosso numero
1 - digito nosso numero
3 - zeros

ou ainda

1 - tipo de cobranca = 9
3 - agencia cedente
3 - codigo reduzido do cliente
15 - seu numero
3 - zeros

de forma geral pode verificar boletos impressos por usuario, que normalmente segue esta discriminacao

valeu
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
Gerald
Usuário Nível 1
Usuário Nível 1
Mensagens: 39
Registrado em: 06 Jul 2004 17:50
Localização: Caldas Novas
Contato:

Mensagem por Gerald »

Trazom escreveu:Achei o tal manual do banco rural

acredito ser próprio do banco rural, porém acredito que deve haver alguma semelhanca com outros bancos:

o código de barras para a cobranca contem 44 posicoes

03 - banco, 104 cef, 237 bradesco, etc
01 - moeda: 9- real,
01 - digito verificador do codigo de barras
04 - fator de vencimento
10 - valor do documento
25 - campo livre

fator de vencimento: a data de referencia é 07/10/1997
o fator é o numero de dias apos esta data, por exemplo para ctod(''05/08/2004'') -ctod(''07/10/1997'') = 2494

digito verificador:

dispor o numeros na sequencia indicada abaixo e multiplicar por seus respectivos pesos:

exemplo:

104 9 x 2494 0000123456 (25 digitos campo livre) == cod barras

432 9 8765 4329876543 2987654329876543298765432 == pesos


multiplica os valores pelos respectivos pesos, soma e divide por 11, o digito sera 11 menos o resto da divisao

ja encontrei alguns campos livres com conteudos diferentes como:

1 - tipo de cobranca = 0
3 - agencia
9 - conta
1 - digito da conta
7 - nosso numero
1 - digito nosso numero
3 - zeros

ou ainda

1 - tipo de cobranca = 9
3 - agencia cedente
3 - codigo reduzido do cliente
15 - seu numero
3 - zeros

de forma geral pode verificar boletos impressos por usuario, que normalmente segue esta discriminacao

valeu
Valeu amigos, era isso mesmo que eu estava procurando. Valeu.
Quando disserem que seu trabalho não é o de um profissional, lembre-se: Amadores construíram a arca de Noé, profissionais, o Titanic...

www.1grau.com\comunidadeclipper
skype = "gpfranca"
novo email: geraldo@usinfo.com.br
BHS
Usuário Nível 2
Usuário Nível 2
Mensagens: 79
Registrado em: 16 Out 2007 12:01
Localização: SOROCABA/SP

Mensagem por BHS »

Bom dia amigos

baixei esse exemplo que pesquisei no forum

https://pctoledo.org/download/boletos.zip

li ele e pintou uma dúvida, ele manda pra Lpt1, mas se direcionar pra arquivo vai funcionar com o Dosprinter por exemplo ??!!

Obrigado

BHS
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Vc pode desenvoler em harbour/xaharbour tem umas soluções para Boleto bancario bem bacana...
http://sourceforge.net/projects/harbourboleto/
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
hucf
Usuário Nível 1
Usuário Nível 1
Mensagens: 13
Registrado em: 13 Dez 2007 10:29
Localização: Sao Paulo

Boleto Itau

Mensagem por hucf »

Fiz PRG para gerar boleto Itau em HTML.
Após gerar , basta abrir com IExplorer e imprimir.
O ideal é ler o manual do banco para entender como gerar os dados.
Infelizmente não achei o manual , talvez consiga com o Itau.
Segue o PRG , mas para funcionar precisa dos GIF´S do codigo de barras ,
posso mandar por e-mail !

Boa sorte,
Hu

Código: Selecionar todos

#include "fileio.ch"
* tbo2.prg - Gera arq. padrao HTML para Boleto

priv __dir_banc,__dir_img,__lin_digi,__cod_barr,__cod_banc,__dat_venc
priv __val_nomi,__dat_refe,vcod := {},vlin := {},__vnm_docu
priv __aceite,__esp_docu,__nom_cede,__nom_saca
set date format 'DD-MM-YYYY'

cls
* Dados a serem definidos
__cod_banc := '341'
__cod_agen := 'nnnn'  // string com n.o agencia bco
__cod_cart := '175'
__num_docu := '00000000'
__cta_cede := 'nnnnn' // string com n.o cta corrente
__cta_dgvf := '0'
__dat_refe := ctod('07-10-1997')
__dat_venc := ctod('  -  -    ')
__val_nomi := 0
__vnm_docu := val(__num_docu)
__nom_arqu := spac(30)
*                      1234567890123456789012345678901234567890
__nom_saca := 'ACME DO BRASIL                      '
__dad_juro := spac(40)
__dad_mult := spac(40)

@05,05 say 'Cod. Banco .....:' get __cod_banc pict '999'
@06,05 say 'Cod. Agencia ...:' get __cod_agen pict '9999'
@07,05 say 'Cod. Carteira ..:' get __cod_cart pict '999'
@08,05 say 'N.o Documento ..:' get __vnm_docu pict '@r 99999999' valid !empty(__vnm_docu)
*                 567890123456789012                      34567
@09,05 say 'N.o Conta ......:' get __cta_cede pict '99999'
@09,28 say '-'                 get __cta_dgvf pict '9'
@10,05 say 'Valor Titulo ...:' get __val_nomi pict '@er 999,999,999.99' valid !empty(__val_nomi)
@11,05 say 'Data Vencimento :' get __dat_venc valid (__dat_venc > __dat_refe)
@12,05 say 'Nome Sacado ....:' get __nom_saca pict '@!'
@13,05 say 'Juros ..........:' get __dad_juro pict '@!'
@14,05 say 'Multa ..........:' get __dad_mult pict '@!'
@15,05 say 'Nome Arq. ......:' get __nom_arqu pict '@!' valid !empty(__nom_arqu)
read

if lastkey() = 27
   quit
endi

__cod_moed := '9'
__nom_saca := alltrim(__nom_saca)
__nom_arqu := alltrim(__nom_arqu)
__num_docu := strzero(__vnm_docu,8)
__fat_venc := strzero(__dat_venc-__dat_refe,4)
__dat_venc :=dtoc(__dat_venc)
* Digito verif. "Nosso Numero"
__dgvf     := mod_10(__cod_agen+__cta_cede+__cod_cart+__num_docu)

__aceite   := ' Não '
__nom_cede := 'XXX'  // string com nome cedente
__esp_docu := 'DP'
*aadd(vobs,'*** Não pagar este boleto ***')
*aadd(vobs,'É apenas uma demonstração')

* Seq. numerica ref. para calcular __dig_veri
__cod_barr := ''
__cod_barr += __cod_banc                     //  001-003 cod. banco
__cod_barr += __cod_moed                     //  004-004 cod. moeda 9 -> Real
*__cod_barr += __dig_veri                     //  005-005 dig. verificador
__cod_barr += __fat_venc                     //  005-008 fat. vencimento (n.o dias a partir data ref.)
__cod_barr += strzero(__val_nomi * 100,10)   //  009-018 val. nominal do titulo
__cod_barr += __cod_cart                     //  019-021 cod. carteira
__cod_barr += __num_docu                     //  022-029 n.o documento
__cod_barr += __dgvf                         //  030-030 dig. verif. n.o docu
__cod_barr += __cod_agen                     //  031-034 cod. agencia
__cod_barr += __cta_cede                     //  035-039 conta cedente sem digito
__cod_barr += __cta_dgvf                     //  040-040 dig. verif. conta
__cod_barr += '000'                          //  041-043 zero fixo

* Calculando e inserindo dig. verificador
__dig_veri := mod_11(__cod_barr)
__cod_barr := stuff(__cod_barr,5,0,__dig_veri)

*memowrit('cod_bar.txt',__cod_barr)

aadd(vcod,__cod_banc)                     //  001-003 cod. banco
aadd(vcod,__cod_moed)                     //  004-004 cod. moeda 9 -> Real
aadd(vcod,__dig_veri)                     //  005-005 dig. verificador
aadd(vcod,__fat_venc)                     //  006-009 fat. vencimento (n.o dias a partir data ref.)
aadd(vcod,strzero(__val_nomi * 100,10))   //  010-019 val. nominal do titulo
aadd(vcod,__cod_cart)                     //  020-022 cod. carteira
aadd(vcod,__num_docu)                     //  023-030 n.o documento
aadd(vcod,__dgvf)                         //  031-031 dig. verif. n.o docu
aadd(vcod,__cod_agen)                     //  032-035 cod. agencia
aadd(vcod,__cta_cede)                     //  036-040 conta cedente sem digito
aadd(vcod,__cta_dgvf)                     //  041-041 dig. verif. conta cedente
aadd(vcod,'000')                          //  042-044 zero fixo

__lin_digi := ''
__lin_digi += __cod_banc                       //  001-003 cod. banco
__lin_digi += __cod_moed                       //  004-004 cod. moeda 9 -> Real
__lin_digi += __cod_cart + left(__num_docu,2)  //  005-009 pos. 20-24 cod. barras
__lin_digi += mod_10(__lin_digi)               //  010-010 digito verif. 1.o campo
__lin_digi += right(__num_docu,6)              //  011-016 pos. 25 a 30
__lin_digi += __dgvf                           //  017-017 pos. 31
__lin_digi += left(__cod_agen,3)               //  018-020 3 dig. agencia
__lin_digi += mod_10(subs(__lin_digi,11,10))   //  021-021 digito verif. 2.o campo
__lin_digi += right(__cod_agenc,1)             //  022-022 ult. dig. agencia
__lin_digi += __cta_cede                       //  023-027
__lin_digi += __cta_dgvf                       //  028-028
__lin_digi += '000'                            //  029-031 pos. 44
__lin_digi += mod_10(subs(__lin_digi,22,10))   //  032-032 digito verif. 3.o campo
__lin_digi += __dig_veri                       //  033-033 digito verif. geral
__lin_digi += __fat_venc                       //  034-037
__lin_digi += strzero(__val_nomi * 100,10)     //  038-047

*          1         2         3         4
* 123456789012345678901234567890123456789012345678901234567890
*      6     2     8      5     1      8 0
* 99999.99999 99999.999999 99999.999999 9 99999999999999
__lin_digi := stuff(__lin_digi, 6,0,'.')
__lin_digi := stuff(__lin_digi,12,0,' ')
__lin_digi := stuff(__lin_digi,18,0,'.')
__lin_digi := stuff(__lin_digi,25,0,' ')
__lin_digi := stuff(__lin_digi,31,0,'.')
__lin_digi := stuff(__lin_digi,38,0,' ')
__lin_digi := stuff(__lin_digi,40,0,' ')

*memowrit('lin_dig.txt',__lin_digi)

aadd(vlin,__cod_banc                     )   //  001-003 cod. banco
aadd(vlin,__cod_moed                     )   //  004-004 cod. moeda 9 -> Real
aadd(vlin,__cod_cart + left(__num_docu,2))   //  005-009 cod. carteira + ...
aadd(vlin,mod_10(__lin_digi)             )   //  010-010 digito verif. 1.o campo
aadd(vlin,right(__num_docu,6)            )   //  011-016 pos. 25 a 30
aadd(vlin,__dgvf                         )   //  017-017 pos. 31
aadd(vlin,left(__cod_agen,3)             )   //  018-020 3 dig. agencia
aadd(vlin,mod_10(subs(__lin_digi,11,10)) )   //  021-021 digito verif. 2.o campo
aadd(vlin,right(__cod_agenc,1)           )   //  022-022 ult. dig. agencia
aadd(vlin,__cta_cede                     )   //  023-027
aadd(vlin,__cta_dgvf                     )   //  028-028
aadd(vlin,'000'                          )   //  029-031 pos. 44
aadd(vlin,mod_10(subs(__lin_digi,22,10)) )   //  032-032 digito verif. 3.o campo
aadd(vlin,__dig_veri                     )   //  033-033 digito verif. geral
aadd(vlin,__fat_venc                     )   //  034-037
aadd(vlin,strzero(__val_nomi * 100,10)   )   //  038-047

html_boleto(__lin_digi,__cod_barr,vlin,vcod)

******************************************************************************
function html_boleto
******************************************************************************
memvar __cod_banc,__cod_agen,__cod_cart,__num_docu,__cta_cede,__cta_dgvf,;
       __dat_venc,__val_nomi,__dgvf,__nom_cede,__nom_saca,__esp_docu,;
       __aceite,__nom_arqu
para __linh,__bcod,vlin,vcod
priv __text,vtab := {},__tref

__val_nomi := tran(__val_nomi,'@er 9,999,999.99')
__dat_docu := dtoc(date())
__dat_proc := __dat_docu

aadd(vtab,{'0','NNWWN'})
aadd(vtab,{'1','WNNNW'})
aadd(vtab,{'2','NWNNW'})
aadd(vtab,{'3','WWNNN'})
aadd(vtab,{'4','NNWNW'})
aadd(vtab,{'5','WNWNN'})
aadd(vtab,{'6','NWWNN'})
aadd(vtab,{'7','NNNWW'})
aadd(vtab,{'8','WNNWN'})
aadd(vtab,{'9','NWNWN'})

* Def. padrao 2 of 5 do cod. barras
__segm := ''
for __i = 1 to len(__bcod) step 2
    * Segmento barra
    __npos := ascan(vtab,{ |v| v[1] = subs(__bcod,__i,1) })
    __segb := vtab[__npos,2]
    * Segmento espaco
    __npos := ascan(vtab,{ |v| v[1] = subs(__bcod,__i+1,1) })
    __sege := vtab[__npos,2]
    for __j = 1 to len(__segb)
        __segm += subs(__segb,__j,1) + subs(__sege,__j,1)
    next
next

__narq := 'bol_ref.txt'
__crrt := chr(13)+chr(10)
if !file(__narq)
   alert(' Nao tem Arq. ')
endi

__text := ''
__npos := 1
__tref := memoread(__narq)

do whil .t.
   __ltxt := ''
   for __i = __npos to len(__tref)
       if (subst(__tref,__i,1) + subst(__tref,__i+1,1)) = __crrt
          __npos += 2
          exit
       endi
       __ltxt += subst(__tref,__i,1)
       __npos += 1
   next
    * Verificando se existe campo variavel
    if !empty((__pos_camp := at('',__ltxt)))
       __ltxt := subst(__ltxt,__pos_camp+1,len(alltrim(__ltxt))-2)
       __ltxt := &__ltxt
    endi
    __text += __ltxt
    __text += __crrt
    if __npos >= len(__tref)
       exit
    endi
endd

__text += '    <tr valign="top">' + __crrt
__text += '      <td width="67%" valign="center">  ' + __crrt
* Start Code
__text += '         <img src="pf.gif" border="0" width="1" height="49"' + chr(13) + chr(10)
__text += '        ><img src="bf.gif" border="0" width="1" height="49"' + chr(13) + chr(10)
__text += '        ><img src="pf.gif" border="0" width="1" height="49"' + chr(13) + chr(10)
__text += '        ><img src="bf.gif" border="0" width="1" height="49"' + chr(13) + chr(10)

for __i = 1 to len(__segm)
    __text += '         ><img src="'
    if mod(__i,2) # 0
       __text += iif(subs(__segm,__i,1)='W','pg.gif"','pf.gif"')
    else
      __text += iif(subs(__segm,__i,1)='W','bg.gif"','bf.gif"')
    endi
    __text += ' border="0"'
    __text += iif(subs(__segm,__i,1)='W',' width="3"',' width="1"')
    __text += ' height="49"' + chr(13) + chr(10)
next

* Stop Code
__text += '        ><img src="pg.gif" border="0" width="3" height="49"' + chr(13) + chr(10)
__text += '        ><img src="bf.gif" border="0" width="1" height="49"' + chr(13) + chr(10)
__text += '        ><img src="pf.gif" border="0" width="1" height="49"' + chr(13) + chr(10)
**
__text += '      </td>' + __crrt
__text += '      <td width="33%" align="center">' + __crrt
__text += '         ' + __crrt
__text += '      </td>' + __crrt
__text += '    </tr>' + __crrt
__text += '</table>' + __crrt
__text += '</html>'
**
memowrit(__nom_arqu,__text)

retu NIL

******************************************************************************
function mod_10
******************************************************************************
* MOD 10 - formula LUHN
para __nref
priv __i,__soma,__dver,__vsgm

__soma := 0
for __i = 1 to len(__nref)
    __segm := subst(__nref,len(__nref)-__i+1,1)
    __vsgm := iif(mod(__i,2)#0,2*val(__segm),val(__segm))
    __vsgm := iif(__vsgm>9,iif(__vsgm=18,9,mod(__vsgm,9)),__vsgm)  // <---
    __soma += __vsgm
next

__dver := 10 - mod(__soma,10)
__dver := iif(__dver=10,0,__dver)
retu alltrim(str(__dver,0))


******************************************************************************
function mod_11
******************************************************************************
para __nref
priv __i,__j,__soma,__dver

__soma := 0
for __i = 1 to len(__nref) step 8
    for __j = 2 to 9
        if len(__nref)-__i-__j+3 < 1
           __i := len(__nref)
           exit
        endi
        __segm := subst(__nref,len(__nref)-__i-__j+3,1)
        __soma += val(__segm) * __j
    next
next

__dver := 11 - mod(__soma,11)
__dver := iif(__dver=1 .or. __dver=10 .or. __dver=11,1,__dver)

retu alltrim(str(__dver,0))
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Muito bom seu aplicativo caro HU, este é mais um exemplo de como imprimir em formato HTML se ter a preocupação de impressoras e ao mesmo tempo este exemplo pode alavancar outros boletos de outros bancos. Amanhã vou checar o código de barras, mas pelo que me pareceu correpodem ao número acima do boleto. Parabéns pelo seu trabalho e muito obrigado por estar compartindo conosco.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
BHS
Usuário Nível 2
Usuário Nível 2
Mensagens: 79
Registrado em: 16 Out 2007 12:01
Localização: SOROCABA/SP

Mensagem por BHS »

bom dia amigos

gostei de poder fazer o boleto em HTML, porém em nossa empresa usamos o Bradesco !!
esses gifs de código de baarras onde eu posso encontra-los (bradesco) ?

Obrigado

BHS
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Eu não possuo instrução algma do Bradesco, mas acho que tanto a estrutura TODA do boleto (aqui apresentado pelo colega HU) como a do código de barras DEVERÃO serem as MESMAS. O que muda é o código do banco, da agência, (talvez carteira ?), logotipo, código do banco (gráfico, gif) mas o resto deve ser padrão do BC. Você BHS, poderia checar com o Bradesco ou até mesmo comparando boleto do Bradesco se o código de barras mantém o mesmo padrão que aqui apresentado ?.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
hucf
Usuário Nível 1
Usuário Nível 1
Mensagens: 13
Registrado em: 13 Dez 2007 10:29
Localização: Sao Paulo

Boleto Bradesco

Mensagem por hucf »

Saudações ,
Até onde sei cada banco tem seu próprio "layout" , o manual da Febraban é útil para entender o geral , mas para fazer o boleto de um bco específico sempre é melhor utilizar o manual do próprio bco. O problema é conseguir através do bco ...
Vc pode tentar procurar na Internet , sempre se acha alguns e aí o problema é saber se é válido !
O programa que fiz é específico para o Itaú , para outros bcos o layout do boleto PODE SER eventualmente DIFERENTE , mas isso pode ser resolvido obtendo um boleto impresso do ref. bco e o "logo" (por isso o arq. "BCO_REF.TXT"). A questão é o posicionamento dos dados no código de barras , isto é os dados são geralmente os mesmos porém o seu posicionamento no código de barras varia de bco para bco.
Os GIF´s são universais para o padrão de código de barras utilizados nos boletos.

Feliz Natal pra todos.
Espero ter ajudado e boa sorte
Hu
Responder