Harbour Boleto

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

Moderador: Moderadores

Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Harbour Boleto

Mensagem por HASA »

:))

Fico contente por poder ter ajudado,
:xau
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Harbour Boleto

Mensagem por janio »

Alguém sabe informar se o BRADESCO cobra alguma taxa para o REGISTRO do boleto?

Estou fazendo uns testes enviando o ARQUIVO DE REMESSA e vi uma taxa estranha na conta.

O banco cobra qndo vc registra os boletos pelo arquivo de remessa????
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
Duda 'Sgluber'
Usuário Nível 3
Usuário Nível 3
Mensagens: 148
Registrado em: 11 Mar 2013 21:57
Localização: Interior de São Paulo

Harbour Boleto

Mensagem por Duda 'Sgluber' »

janio,

que eu saiba, todos os bancos cobram quando a carteira de cobrança é registrada, independente de você usar ou não a remessa de arquivos.
Comecei pra valer nos tempos do MSX e nunca mais parei... grande caminhada! :-)
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Harbour Boleto

Mensagem por janio »

Ae qndo o cliente paga o boleto eh cobrado outra taxa pela baixa??

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
Duda 'Sgluber'
Usuário Nível 3
Usuário Nível 3
Mensagens: 148
Registrado em: 11 Mar 2013 21:57
Localização: Interior de São Paulo

Harbour Boleto

Mensagem por Duda 'Sgluber' »

Aí você me pegou... mas eu arriscaria dizer que depende do banco e daquilo que foi contratado com o cliente (o emitente dos boletos).
Comecei pra valer nos tempos do MSX e nunca mais parei... grande caminhada! :-)
jcdatrindade
Usuário Nível 1
Usuário Nível 1
Mensagens: 9
Registrado em: 13 Mai 2011 10:06
Localização: Araxa / MG

Harbour Boleto

Mensagem por jcdatrindade »

Desenterrando um defunto!!!

Mereço o troféu "Pá de Ouro"

esse tópico anda meio morto,

Por onde anda esse projeto. HarbourBoleto

estou precisando imprimir boleto não em pdf, direto na impressora.

Talvez esse projeto me ajude.

Obrigado
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Harbour Boleto

Mensagem por JoséQuintas »

Por falar em boleto, a partir do ano que vém vai deixar de existir o boleto sem registro.
Acredito que isso vá aumentar o custo no banco.

O problema é se aquelas cobranças enganosas entrarem automaticamente, aí ferrou.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Harbour Boleto

Mensagem por alaminojunior »

Boa noite !

Essa classe funciona.
Tenho usado para emitir boletos com registro para o Bradesco.

Não tenho percebido (salvo engano) alterações no SVN ou CVS.
Para quem for utilizar, precisa fazer os devidos ajustes, com base na documentação que cada banco fornece.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Harbour Boleto

Mensagem por janio »

Tbm uso para emissão no Bradesco. Sem problemas!

Agora tenho emitir, pra ontem (como sempre), para o BANCO DO BRASIL!

Gero o boleto normalmente, porém ao tentar pagar aparece msg BOLETO INVALIDO!

Carteira 17
Convenio com 7 posições
Nosso Numero com 12 ou 17 posições (não sei se isso eh importante e influencia em alguma coisa)

Alguma luz do que esta acontecendo errado?

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Harbour Boleto

Mensagem por janio »

Ola a todos!

Para NOSSO NUMERO com 17 posições livres... consegui emitir e o pagamento deu certo tbm. Mas com o NOSSO NUMERO de 12 posições não deu. Mas não tem problema... com 17 posição já resolve aqui.

O que eu queria entender eh quando usar NOSSO NUMERO com 12 ou 17 posições!

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Harbour Boleto

Mensagem por alaminojunior »

Jãnio, por favor e se puder me passe com detalhes o que precisou informar para gerar boleto para O BB.
Tenho dois clientes que precisam e estou patinando aqui.

Desde já obrigado !
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Harbour Boleto

Mensagem por janio »

Beleza, Edson!

Eh bem simples como tenho feito:

No arquivo oboleto.prg:
Altere o METHOD Execute( ) CLASS oBoleto para o BANCO DO BRASIL:

Código: Selecionar todos

      CASE ::cCodBco == "001"  // Brasil

         IF LEFT( cCarteira, 2 ) $ "16|18" // SEM REGISTRO, Carteira com 17 Posicoes Livres

           // Janio
            If      Len(::cNossoNumero) = 17
	            cNsNm := ::cNossoNumero
	            cCpoLivre := "000000" + ::cNossoNumero + "18"
				ElseIf  Len(::cNossoNumero) = 12
	            ::cCDPF := StrZero( Val( ::cCDPF ), 7 )
	            ::cNossoNumero := ::cCDPF + StrZero( Val( ::cNossoNumero ), 10 )
	            cNsNm := ::cNossoNumero
	            cCpoLivre := "000000" + ::cNossoNumero + "18"
	         Endif

         ELSE
	// Jânio - CARTEIRA 17 registrada (18.04.2016)
      	cNsNm := ::cNossoNumero
         cCpoLivre := "000000" + ::cNossoNumero + StrZero(VAL(cCarteira), 2)

         ENDIF

Na emissão do boleto:

Código: Selecionar todos

		lPrint       = .t.
		lPreview     = .t.
		lPromptPrint = .t.

   	oBol := oBoleto():New(boleto->CODBCO)
   	oBol:lAnsi       := .t.
   	oBol:lRemessa    := .f. // Se nao quiser gerar Arquivo Remessa.
   	oBol:lBoleto     := .t. // Se nao quiser gerar Boleto Bancario.
   	oBol:nBolsPag    := 1
      
	   oBol:Cedente     := AllTrim( empresa->NOMEMP )
	   oBol:CedenteCNPJ := AllTrim( empresa->CGCEMP )

		oBol:cCDPF       := AllTrim( boleto->CODCED )     // Cod. Cedente / Cod. Empresa no Banco
		oBol:cNumCC      := AllTrim( boleto->CODCTA )     // Numero da Conta
		oBol:cDvCC       := AllTrim( boleto->DIGCTA )     // DV Conta 
		oBol:cNumAgencia := AllTrim( boleto->CODAGE )     // Agencia
		oBol:cDVAgencia  := AllTrim( boleto->DIGAGE )     // Digito Agencia
		oBol:cCarteira   := AllTrim( boleto->CARTEI )     // Carteira de Cobranca

   	oBol:EspecieTit  := If( vFlg = "P", "NP", "NF" )
         
   	*------------------------------------------------------------------*
   	* Cria html - Sempre colocar apos a definicao completa do Cedente, *
   	* isso influencia na criacao do Arquivo Remessa.                   *
   	*------------------------------------------------------------------*
   	oBol:Open( "boleto", , , , , .F. ) // .F. Padrao CNAB240, .T. Padrao CNAB400

		vInstrucoes = "CONSIDERAR QUITADO SO APOS  COMPENSACAO DO(S) CHEQUE(S) PELO BANCO SACADO. APOS O VENCIMENTO, COBRAR " + AllTrim( Trans( empresa->PCTMLT, "@E 99.99" ) ) + " % DE JUROS AO MES E PROTESTAR NO 5o. DIA UTIL."

		If vFlg = "P"
			parc = parcela->NOSNUM
		Else
			parc = ParcNfe->NOSNUM
		Endif

		If Empty(parc)
			
			nNossoNumero = AllTrim( boleto->CODCED )

			If vFlg = "P"
				Select Parcela
			Else
				Select ParcNfe
			Endif
			
			DbSetOrder(2)
			DbGoTop()
		   OrdScope( 0, nNossoNumero )
		   OrdScope( 1, nNossoNumero )
			DbGoTop()
			
			Count to nNrBlt
			
			DbGoBottom()
	
			If boleto->QTDENN = 12
			
				If left(nosnum, Len( AllTrim( boleto->CODCED ) ) ) != nNossoNumero
					bNossoNumero = AllTrim( boleto->CODCED ) + StrZero( 0, 11 - Len( AllTrim( boleto->CODCED ) ) )
					mNossoNumero = AllTrim( Str( Val( Left(bNossoNumero,11) ) + 1 ) )				
				Else
					mNossoNumero = AllTrim( Str( Val( Left(nosnum,11) ) + 1 ) )			
				Endif

				oNossoNumero = DigNossoNumero(mNossoNumero) 
				kNossoNumero = mNossoNumero + oNossoNumero

			ElseIf boleto->QTDENN = 17 // banco do brasil 17 posicoes

				If nNrBlt = 0
					bNossoNumero = AllTrim( boleto->CODCED ) + "0000000000"
					mNossoNumero = AllTrim( Str( Val( bNossoNumero ) + 1 ) )
				Else
					mNossoNumero = AllTrim( Str( Val( nosnum ) + 1 ) )			
				Endif
	
				kNossoNumero = mNossoNumero

			Endif
	
			OrdScope( 0, Nil )
			OrdScope( 1, Nil )
			
		Endif
		
		If vFlg = "P"
			Select PARCELA
			DbSetOrder(1)
		   DbGoTop()
		   DbSeek( Str(vPEDIDO,6) + Str(vSEQPRC,2) )
		Else
			Select ParcNfe
			DbSetOrder(1)
			DbGoTop()
			DbSeek( Str(vCODEMT,2) + vSERNFE + Str(vNUMNFE,6) + Str(vSEQPRC,2) )
		Endif
		
		empresa->( DbGoTop() )

		while !eof()

   	   oBol:SACADO       := Left(CLIENTE->NOMCLI,40)
   	   oBol:ENDERECO     := AllTrim(CLIENTE->ENDCLI) + ", " + cliente->NUMERO
   	   oBol:BAIRRO       := CLIENTE->BAIRRO
   	   oBol:CIDADE       := CIDADE->CIDADE
   	   oBol:ESTADO       := CIDADE->ESTADO
   	   oBol:CEP          := CLIENTE->CEPCLI
   	   oBol:CNPJ         := If( CLIENTE->TIPPES = "1", CLIENTE->CGCCLI, CLIENTE->CPFCLI )
   	   oBol:nMulta       := empresa->PCTMLT    //0.00           // Multa Apos Vencimento
   	   oBol:nMora        := If( EMPRESA->JURMES > 0, EMPRESA->JURMES / 30, 0 )  //6              // Mora Diaria a Ser Cobrado Por Dia de Atraso
   	   oBol:nDiasProt    := 5              // Dias Para Protesto
   	   oBol:DtEmis       := If( vFlg = "P", parcela->DATEMI, parcNfe->DATEMI )
   	   oBol:DtVenc       := vDatVen
   	   oBol:cNumDoc      := If( vFlg = "P", Trans(vPEDIDO, "@E 999,999"), Trans(vNumNfe, "@E 999,999") ) + "-" + StrZero(vSEQPRC,2)  // Seu Numero do Documento
	   	
   	   cNossoNumBd       := If( vFlg = "P", parcela->NOSNUM, parcNfe->NOSNUM )
   	   
   	   If     boleto->QTDENN = 12
   	   	oBol:cNossoNumero := If( Empty(cNossoNumBd), Left(kNossoNumero,11), Left(cNossoNumBd,11) )
   	   ElseIf boleto->QTDENN = 17
   	   	oBol:cNossoNumero := If( Empty(cNossoNumBd), kNossoNumero, AllTrim(cNossoNumBd) )
			Endif

   	   If vFLGVLR = "S"
   	   	oBol:nValor       := vVlrBlt
   	   Else
	   	   oBol:nValor       := " "
			Endif

   	   oBol:Aceite       := "N"          
   	   oBol:Execute()    // monta html

   	   exit

   	Enddo
 
   	If vFlg = "P"
   		If Empty(parcela->NOSNUM)
   			Select Parcela
	   		TRAVA()
	   		replace NOSNUM with kNossoNumero
	   	Endif
	   Else
   		If Empty(parcNfe->NOSNUM)
   			Select ParcNfe
	   		TRAVA()
	   		replace NOSNUM with kNossoNumero
	   	Endif	   
   	Endif

  		DESTRAVA()
   	
   	oBol:Close()
   	oBol:Print() // Imprime o boleto

So lembrando que o NOSSO NUMERO de 17 posições eh LIVRE (sem dígito) e SEQUENCIA! Vc deve controlar isso!

Alguma duvida mim avisa!

PS: agora estou correndo atrás pra gerar o ARQUIVO DE REMESSA!
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Harbour Boleto

Mensagem por asimoes »

Nosso condomínio usa o Banco Itaú, sem envio de arquivo remessa e paga 4,36 por cada boleto pago
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Harbour Boleto

Mensagem por janio »

Pessoal,

Alguém se ja tem no HarbourBoleto um modelo de boleto que seja tipo carnê? com canhoto à esquerda!

Precisando...

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Harbour Boleto

Mensagem por alaminojunior »

Essa classe está parada há bastante tempo. Precisei mexer num monte de coisas dela para poder emitir Bradesco com registro e emissão pelo banco. Mas ainda não entendi algumas coisas.

Atualmente estou precisando emitir para CEF e estou perdidinho.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Responder