Página 6 de 6

Harbour Boleto

Enviado: 13 Mai 2016 08:21
por janio
Edson,

O que acho mais chato nessa questão dos boletos é que para um mesmo banco temos diversos tipos/modos de boletos, nr de digitos de convenios, nr de digitos do 'nosso numero', etc...

Ja emitia para Bradesco com 'nosso numero' de 11 digitos, e Banco do Brasil com 'nosso numero' de 17 digitos. Ontem consegui fazer os ajustes na classe para emitir para CEF com 'nosso numero' de 15 digitos. Procure saber qntos digitos no 'nosso' numero vc vai usar. Pelo que vi a CEF de 15, 11 e 17 digitos (uma zona).

Porém, o HarbourBoleto so tem um modelo de boleto. Agora estou precisando daqueles boletos tipo carnê, com canhoto à esquerda.

Janio

Harbour Boleto

Enviado: 13 Mai 2016 09:56
por alaminojunior
janio escreveu:Edson,

O que acho mais chato nessa questão dos boletos é que para um mesmo banco temos diversos tipos/modos de boletos, nr de digitos de convenios, nr de digitos do 'nosso numero', etc...

Ja emitia para Bradesco com 'nosso numero' de 11 digitos, e Banco do Brasil com 'nosso numero' de 17 digitos. Ontem consegui fazer os ajustes na classe para emitir para CEF com 'nosso numero' de 15 digitos. Procure saber qntos digitos no 'nosso' numero vc vai usar. Pelo que vi a CEF de 15, 11 e 17 digitos (uma zona).

Porém, o HarbourBoleto so tem um modelo de boleto. Agora estou precisando daqueles boletos tipo carnê, com canhoto à esquerda.

Janio
Jânio, no caso aqui são quinze dígitos, fora o DV.

Precisávamos do manual da CEF para emissão destes boletos. Vou ver se consigo algo.

Harbour Boleto

Enviado: 13 Mai 2016 10:21
por janio
Pois pronto, Edson!

Eh bem facil resolver o que vc ta querendo. Eh so preencher uma variavel la no harbour boleto que funciona! Eu passei horas ate descobrir isso kkkk!

Jaja posto aqui como fiz q deu certo!

Janio

Harbour Boleto

Enviado: 13 Mai 2016 11:38
por janio
O pulo do gato pra mim no boleto da CEF foi preencher a variavel ::cTipoCob! Então preenchi essa variavel com "14" (o 1 significa carteira registrada, e o 4 significa que é o cliente que emite o boleto (se não mim engano).

Então o boleto da CEF funciona igual aos outros bancos: Vc informa o 'nosso numero' com 15 caracteres, sequencial e sem digito verificador!

No arquivo oBoleto.prg, no METHOD Execute( ) CLASS oBoleto, na parte referente a CEF eu deixei conforme abaixo:

Código: Selecionar todos

      CASE ::cCodBco == "104"  // Caixa

            ** Cedente e DV, OK Testado **
            ::cDvCDPF := DC_Mod11(::cCodBco, 9, .F., ::cCDPF )
            ** xx **

            ** NossoNumero e DV, OK Testado **

  	    ::cTipoCob := "14" // (preencher essa variavel)

	    cAux_NN := ::cTipoCob + ::cNossoNumero
            ::cDGNN := DC_Mod11(::cCodBco, 9, .F., cAux_NN )
            cNsNm := ::cTipoCob + '/' + ::cNossoNumero + '-' + ::cDGNN

            ** xx **

            cAgcc := ::cNumAgencia + "/" + ::cCDPF + "-" + ::cDvCDPF

            ** Campo Livre e DV, OK Testado **
            Aux_Livre := ::cCDPF + ::cDvCDPF + ;
                         SubStr( ::cNossoNumero, 1, 3 ) + SubStr( ::cTipoCob, 1, 1 ) + ; // Constante1, cTipoCob (1)Registrada, (2) Sem Registro
                         SubStr( ::cNossoNumero, 4, 3 ) + SubStr( ::cTipoCob, 2, 1 ) + ; // Constante2, cTipoCob (4)Emissao Cedente, (1)Caixa Via Correio, Agencia ou Email ( Forma de Envio )
                         SubStr( ::cNossoNumero, 7, 9 )
            DG_Livre  := DC_Mod11(::cCodBco, 9, .F., Aux_Livre )
            cCpoLivre := Aux_Livre + DG_Livre
            ** xx *            
Abaixo vou anexar um boleto gerado por um proprio sistema da Caixa, e o boleto gerado por mim no HarbourBoleto. Percebam que a linha digitavel (codigo de barras) ficou exatamente igual ao boleto emitido pelo sistema da caixa!