Harbour Boleto
Enviado: 30 Mai 2011 18:27
consegui compilar no linux, mas da um na hora que vai trocar alguns caracteres pelo gif do codigo de barra.
alguem passou por isso?
alguem passou por isso?
Ola..sygecom escreveu:Claro,
É tão simples que gerei um EXE que pode ser chamado até do Clipper com o codigo em anexo.
Como faço isso ? Utilizar as classes !Baixe o Harbourboleto e utilize suas classes para gerar seus boletos.
É eu também estou a pouco tempo trabalhando com o xHarbour/harbour e menos ainda com o HarbourBoleto. Na verdade são os PRGs que fazem parte do HarbourBoleto, você deve colocar eles junto aos seus PRGs ou referenciar a eles na sua compilação, de forma que eles passem a fazer parte do seu sistema.Paulo Pereira escreveu:Desculpem sou novato,, perdi horas e nao consigo entender,,tem varios prg, ch etc..imagens, etc
onde colocar tudo isso ?
Eu uso harbour 2.1 hbmk2
Se você já baixou o pacote do HarbourBoleto no Source Forge você deve localizar os arquivos oBoleto.prg, oRemessa.prg, oRetorno.prg, xhbrun.prg e MyFun.c e incluí-los na sua compilação.Paulo Pereira escreveu:Como faço isso ? Utilizar as classes !
Código: Selecionar todos
Procedure main()
Local oBol,;
cCodBanco:= "001" //Banco do Brasil
oBol = oBoleto(cCodBanco) //Usa a Classe Criando o Objeto oBol.
oBol:lAnsi := .t. //Usando uma propriedade (lAnsi) do Objeto oBol, você pode ver no arquivo oBoleto todas as propriedades existentes.
oBol:lBoleto := .t. // Se nao quiser gerar Boleto Bancario.
oBol:nBolsPag := 1
oBol:Modelo := "" // Modelo SIGCB, Padrao da Caixa BOL_SIGCB104.htm, ( oBol:Modelo:="" -> Padrao bol.htm )
oBol:Cedente := "Sua Empresa" //Nome do Cedente
oBol:CedenteCNPJ := "99999999999999"
oBol:cCDPF := "123456" // Cod. Cedente / Cod. Empresa no Banco
oBol:cNumCC := "999999" // Numero da Conta
oBol:cDvCC := "9" // DV Conta
oBol:cNumAgencia := "0000" // Agencia
oBol:cDVAgencia := "5" // Digito Agencia
oBol:cCarteira := "1" // Carteira de Cobranca
oBol:EspecieTit := "DM"
oBol:Open( "boleto", , , , , .F. ) // .F. Padrao CNAB240, .T. Padrao CNAB400
oBol:SACADO := "NOME"
oBol:ENDERECO := "ENDERECO"
oBol:BAIRRO := "BAIRRO"
oBol:CIDADE := "CIDADE"
oBol:ESTADO := "SP"
oBol:CEP := "99999999"
oBol:CNPJ := "99999999999" // cnpj sem ".-/"
oBol:INSTRUCOES := "." + CRLF + "Txt Livre 1" + CRLF + "Txt Livre 2" // aqui voce pode por o que quiser ate CRLF
oBol:nMulta := 1.50 // Multa Apos Vencimento
oBol:nMora := 0.40 // Mora Diaria a Ser Cobrado Por Dia de Atraso
oBol:nDiasProt := 5 // Dias Para Protesto
oBol:DtEmis := CTOD("20/10/2009") // Data Proc/Emissao
oBol:DtVenc := CTOD("30/10/2009") // Vencimento
oBol:cNumDoc := "12345678900" // Seu Numero do Documento
oBol:cNossoNumero := "000000000000019" // Tam(15)
oBol:nValor := 12.34 // Valor do Boleto
oBol:Aceite := "S"
oBol:Execute() // monta html
//Este exemplo foi retirado e adaptado do demoboleto.prg, disponível junto com o HarbourBoleto
O HarbourBoleto pode trabalhar com arquivos .INI onde você define os dados do cedente e as boletas que você deseja que ele gere, olhe o arquivo bol.ini, feito isto basta chamar o hboleto.exe que ele vai ler este arquivo ini e gerar os boletos como configurado. Para conseguir gerar este arquivo .ini a partir da sua aplicação, você deve incorporar o programa inifiles.prg e dar uma lida para aprender a criar o arquivo INI de forma que o hboleto.exe possa ler e gerar os boletos.Paulo Pereira escreveu:Deveria ter uma lib, ai bastava fazer referencias ao objeto boleto..
Ou um executavel externo que eu chame passando paramentros,
ou ainda um program residente..que le um txt ou algo assim..
Alguma solucao ?
isso aconteceu comigo, o problema era o tamanho do NOSSO NUMERO que eu tinha indicado.Paulo Pereira escreveu:Usando o Hboleto e modificando o bol.ini. estou com problema no campo nosso numero.
O banco do Brasil me deu uma faixa de numeros. com tamanho 17
se eu coloco esse numero 14939010076000001 sai assim: 000000***********
Bem, no HarbourBoleto você tem a propriedade cCDPF da classe oBoleto, não foi utilizada no exemplo do INI, nela você vai informar o seu Convênio, no caso do exemplo que você passou seria 149390. A numeração sequencial do seu boleto é que você vai informar no campo Nosso Número. Caso você tenha que informar este CEB, você terá que concatenar ele a sua numeração.Paulo Pereira escreveu:Usando o Hboleto e modificando o bol.ini. estou com problema no campo nosso numero.
O banco do Brasil me deu uma faixa de numeros. com tamanho 17
se eu coloco esse numero 14939010076000001 sai assim: 000000***********
Código: Selecionar todos
local cCeb:= "1007",;
nNossoNum:= 0
//Na parte de definição do Cedente
//... outros dados do Cedente
oBol:cCDPF = "149390"
//Na parte dos boletos dentro do laço (While/For)
//...outros dados do boleto
nNossoNum++
oBol:cNossoNumero = cCeb+StrZero(nNossoNum,11-len(cCeb))