Página 5 de 6

Harbour Boleto

Enviado: 19 Fev 2014 11:41
por HASA
:))

Fico contente por poder ter ajudado,
:xau

Harbour Boleto

Enviado: 20 Fev 2014 10:33
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????

Harbour Boleto

Enviado: 20 Fev 2014 12:42
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.

Harbour Boleto

Enviado: 20 Fev 2014 13:00
por janio
Ae qndo o cliente paga o boleto eh cobrado outra taxa pela baixa??

Janio

Harbour Boleto

Enviado: 20 Fev 2014 13:31
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).

Harbour Boleto

Enviado: 30 Mar 2016 11:16
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

Harbour Boleto

Enviado: 13 Abr 2016 20:39
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.

Harbour Boleto

Enviado: 13 Abr 2016 21:09
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.

Harbour Boleto

Enviado: 18 Abr 2016 17:40
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

Harbour Boleto

Enviado: 18 Abr 2016 18:25
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

Harbour Boleto

Enviado: 18 Abr 2016 18:44
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 !

Harbour Boleto

Enviado: 18 Abr 2016 18:58
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!

Harbour Boleto

Enviado: 18 Abr 2016 20:23
por asimoes
Nosso condomínio usa o Banco Itaú, sem envio de arquivo remessa e paga 4,36 por cada boleto pago

Harbour Boleto

Enviado: 12 Mai 2016 21:41
por janio
Pessoal,

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

Precisando...

Janio

Harbour Boleto

Enviado: 12 Mai 2016 21:50
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.