Cobrança Bancária

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Cobrança Bancária

Mensagem por fladimir »

Olá pessoal estou pensando em usar a solução através do COBREBEM para gerar os Boletos e imprimir na Laser ou mandar por e-mail, além de possibilitar trabalhar com Remessa e Retorno, mas a questão é a seguinte no site deles tem um exemplo para FiveWin, mas olhando o código parece q da pra utilizar no xHarbour, mas esta dando erro:

"Unrecoverable error 9013: No starting procedure
called from hb_stackinit(0)"

segue abaixo código...

Código: Selecionar todos

STATIC FUNCTION ExemploCBXBoleto()

LOCAL oCBX, oBoleto

/* Linhas Originais substituidas pelo CreateObject por trabalhar em xHarbour 1.2.1
* Necessário efetuar download da lib TOleAuto em http://www.cobrebem.com/downloads/cbx/hbole.zip
oCBX := TOleAuto():New("CobreBemX.ContaCorrente")
*/

oCBX := CreateObject("CobreBemX.ContaCorrente")

// Monta arquivo de licença de teste para banco 748 carteira C
oCBX:ArquivoLicenca := "c:\CobreBemX\748-C.conf"

// Monta dados da conta corrente
oCBX:CodigoAgencia := "1234-5"
oCBX:NumeroContaCorrente := "00000123-X"
oCBX:CodigoCedente := "123456"
oCBX:InicioNossoNumero := "00001"
oCBX:FimNossoNumero := "99999"
oCBX:ProximoNossoNumero := "00015"

oCBX:PadroesBoleto:PadroesBoletoImpresso:ArquivoLogotipo := "c:\CobreBemX\Imagens\BannerCBX.gif"
oCBX:PadroesBoleto:PadroesBoletoImpresso:CaminhoImagensCodigoBarras := "c:\CobreBemX\Imagens\"

oBoleto := oCBX:DocumentosCobranca:Add()

// Monta dados do sacado
oBoleto:NomeSacado := "Fulano de Tal"

// Monta dados do documento de cobrança
oBoleto:DataVencimento := "01/10/2002"
oBoleto:NumeroDocumento := "12345"
oBoleto:ValorDocumento := 123.45

oCBX:ImprimeBoletos()

oCBX:End()

RETURN( NIL )

no caminhos especificados no código estão o arquivo de configuração 748-C.conf baixado do www.cobrebem.com.br e as imagens tb.

Fico no aguardo...

Sucesso!!!

:)Pos
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Cobrança Bancária

Mensagem por alxsts »

Olá!

não estaria faltando a Function ou Procedure Main()?
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Re: Cobrança Bancária

Mensagem por fladimir »

Era isso mesmo colega obrigado... agora rodou só q apresenta um erro conforme abaixo:

Código: Selecionar todos

C:\testes\cobrebem>cobrebem
Error BASE/1004  Class: 'NIL' has no exported method: PADROESBOLETOIMPRESSO Arguments: ( [ 1] = Type: U)

Error at ...: EXEMPLOCBXBOLETO(23) in Module: COBREBEM.PRG
Called from : EXEMPLOCBXBOLETO(23) in Module: COBREBEM.PRG
Called from : MAIN(2) in Module: COBREBEM.PRG
Alguém já passou por isso... ?

Abaixo código do CobreBem.PRG q contém a função ExemploCBXBoleto()

Código: Selecionar todos

Proc Main
   ExemploCBXBoleto()
Return

STATIC FUNCTION ExemploCBXBoleto()
LOCAL oCBX, oBoleto

// Necessário efetuar download da lib TOleAuto em http://www.cobrebem.com/downloads/cbx/hbole.zip
//oCBX := TOleAuto():New("CobreBemX.ContaCorrente")
oCBX := CreateObject("CobreBemX.ContaCorrente")

// Monta arquivo de licença de teste para banco 001 carteira 18
oCBX:ArquivoLicenca := "c:\CobreBemX\748-C.conf"

// Monta dados da conta corrente
oCBX:CodigoAgencia := "1234-5"
oCBX:NumeroContaCorrente := "00000123-X"
oCBX:CodigoCedente := "123456"
oCBX:InicioNossoNumero := "00001"
oCBX:FimNossoNumero := "99999"
oCBX:ProximoNossoNumero := "00015"

oCBX:PadroesBoleto:PadroesBoletoImpresso:ArquivoLogotipo := "c:\CobreBemX\Imagens\BannerCBX.gif"
oCBX:PadroesBoleto:PadroesBoletoImpresso:CaminhoImagensCodigoBarras := "c:\CobreBemX\Imagens\"

oBoleto := oCBX:DocumentosCobranca:Add()

// Monta dados do sacado
oBoleto:NomeSacado := "Fulano de Tal"

// Monta dados do documento de cobrança
oBoleto:DataVencimento := "01/10/2002"
oBoleto:NumeroDocumento := "12345"
oBoleto:ValorDocumento := 123.45

oCBX:ImprimeBoletos()
oCBX:End()

RETURN( NIL )
Obrigado colegas...

sucesso!!!

:)Pos
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Cobrança Bancária

Mensagem por alxsts »

Olá!
fladimir escreveu:oCBX := CreateObject("CobreBemX.ContaCorrente")
Ao que parece, não foi possível instanciar a classe. Assim, oCBX ficou igual a NIL...
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Cobrança Bancária

Mensagem por alxsts »

Olá!
após instanciar a classe, teste se oCBX é um objeto:

Código: Selecionar todos

If Valtype( oCBX ) <> "O"
       Alert( "Erro...")
Endif
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Re: Cobrança Bancária

Mensagem por fladimir »

Obrigado colega fiz o teste e passou, criei um variável chamada xTipo := ValType( oCBX ) e a mesma ficou igual a "O" Objeto

Não sei o que pode ser...
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Re: Cobrança Bancária

Mensagem por fladimir »

descobri 2 erros q faziam com que não funcionasse....

1º - Se observarem o código acima verão q o caminho esta c:\CobreBemX\.... e eu tinha colocado no C:\CobreBem...

2º - Após verificar isso percebi tb q continuava gerando erro pq lendo o manual do CobreBemX percebi q tinha faltado REGISTRAR a DLL (cobrebemx.dll)

É isso aí...

Vlw pessoal... Sucesso!!!

:)Pos
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Re: Cobrança Bancária

Mensagem por rochinha »

Amiguinho,

Acrescente este trecho para auxilia-lo no registro de forma transparente:

Código: Selecionar todos

function Main()
        local oWnd, oAcx
        RegisterServer( "CobreBemX.ocx" )
        ...
return nil 

#pragma BEGINDUMP
        #include <hbapi.h>
        #include <windows.h>
        typedef LONG ( * PDLLREGISTERSERVER ) ( void );
        HB_FUNC( REGISTERSERVER )
        {
           HMODULE hDll = LoadLibrary( hb_parc( 1 ) );
           LONG lReturn = 0;
           if( hDll )
           {
              FARPROC pRegisterServer = GetProcAddress( hDll, "DllRegisterServer" );
              if( pRegisterServer )
                 lReturn = ( ( PDLLREGISTERSERVER ) pRegisterServer )();
              FreeLibrary( hDll );
           }
           hb_retnl( lReturn );
        }        
#pragma ENDDUMP
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Re: Cobrança Bancária

Mensagem por fladimir »

Obrigado Rochicha pela dica....

Sucesso!!!
:)Pos
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Re: Cobrança Bancária

Mensagem por lugab »

Fladimir,

Sera q vc pode postar o código final corrigido ?

É q eu to querendo aprender a mexer nesse trem chamado "boleto bancário", pra ver se consigo fazer um pro Bradesco....

Grato,

Gabriel
lugab
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Re: Cobrança Bancária

Mensagem por fladimir »

Claro colega... segue abaixo:

Código: Selecionar todos

Function Main()
    ExemploCBXBoleto()
Return nil 

STATIC FUNCTION ExemploCBXBoleto()
LOCAL oCBX, oBoleto

* Necessário efetuar download da lib TOleAuto em http://www.cobrebem.com/downloads/cbx/hbole.zip
* oCBX := TOleAuto():New("CobreBemX.ContaCorrente")
oCBX := CreateObject("CobreBemX.ContaCorrente")

* Monta arquivo de licença de teste para banco 001 carteira 18
oCBX:ArquivoLicenca := "c:\CobreBemX\001-18.conf" // Esse arquivo é gerado no link: www.cobrebem.com/cgi-bin/GeraArquivoLicencaTeste

* Monta dados da conta corrente conforme especificado no link acima que varia de banco pra banco
oCBX:CodigoAgencia := "0000.00"
oCBX:CodigoCedente := "00000"
oCBX:NumeroContaCorrente := "000000-0"
oCBX:OutroDadoConfiguracao1 := "0"
oCBX:InicioNossoNumero := "00001"
oCBX:FimNossoNumero := "99999"
oCBX:ProximoNossoNumero := "00015"

oCBX:PadroesBoleto:PadroesBoletoImpresso:ArquivoLogotipo := "c:\CobreBemX\Imagens\BannerCBX.gif"
oCBX:PadroesBoleto:PadroesBoletoImpresso:CaminhoImagensCodigoBarras := "c:\CobreBemX\Imagens\"

oBoleto := oCBX:DocumentosCobranca:Add()

// Atencao por ser uma licenca de teste as informacoes abaixo mesmo q vc mude como exemplo abaixo o valor do boleto esta 123,25 ele fixa em 1,90

* Monta dados do sacado
oBoleto:NomeSacado := "Fulando de Teste"

* Monta dados do documento de cobrança
oBoleto:DataVencimento := "01/10/2010"
oBoleto:NumeroDocumento := "12345"
oBoleto:ValorDocumento := 123.45

oCBX:ImprimeBoletos()
oCBX:End()

RETURN( NIL )
É isso ai, aqui deu certo uso o xHarbour 1.2.1, lembrando q antes tem q baixar do www.cobrebem.com.br a licença (arquivo para banco do cedente) e tb a DLL (que deve ser registrada antes)

Sucesso!!!
:)Pos
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Re: Cobrança Bancária

Mensagem por lugab »

Obrigado Fladimir,

1) essa DLL é paga é ?
  • lembrando q antes tem q baixar do www.cobrebem.com.br a licença (arquivo para banco do cedente) e tb a DLL (que deve ser registrada antes)
2) Tem um monte de coisas nesse site. Quai mesmo o nome dos 2 arquivos q devemos baixar , pra trabalhar com o xharbour ?

Gabriel
lugab
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Re: Cobrança Bancária

Mensagem por fladimir »

Sim a DLL é paga e gerada especificamente pro CEDENTE q irá utilizar, no site tem os valores, mas pra vc ter uma idéia pra 1 CEDENTE custa 250,00 uma única vez, mas é possivel utilizar para qualquer banco que consta na lista deles q são todos os principais e mais muitos outros.

O arquivo é o q vc vai gerar na lista do link: http://www.cobrebem.com/cgi-bin/GeraArquivoLicencaTeste

E a Dll vc pega do link: http://www.cobrebem.com.br/downloads/cb ... reBemX.zip

Abraço e Sucesso!!!
:)Pos
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Re: Cobrança Bancária

Mensagem por lugab »

Valeu Fladimir...

Ta tudo esclarecido

gabriel
lugab
Responder