Mrboleto Ban
Enviado: 15 Set 2025 10:40
Bom dia amigos.
Alguém teria classe Mrboletos atualizada para o Banco do Brasil?
Eu tenho a versão abaixo, mas está desatualizada.
Desde já agradeço.
segue a minha versão:
Method Banco_001() Class MR_Boleto
::Banco_Dv_____ := "9"
::Banco_Nome___ := "Banco do Brasil"
::Prefixo______ := PADL( ALLTRIM( Left( ::Prefixo______, 6 ) ), 6, '0' )
::Prefixo_DV___ := PADL( ALLTRIM( Left( ::Prefixo_DV___, 1 ) ), 1, '0' )
IF Left( ::Carteira_____, 2 ) $ "16|18|SR"
::Carteira_____ := PADL( ALLTRIM( Left( ::Carteira_____, 2 ) ), 2, '0' )
::Conta________ := PADL( ALLTRIM( Left( ::Conta________, 8 ) ), 8, '0' )
::NossoNumero__ := ::Prefixo______ + ::Prefixo_DV___+ PADL( ALLTRIM( Left( ::NossoNumero__, 10 ) ), 10, '0' )
::NossoNumer_DV := ::DC_Mod11( ::Banco________, 9, .F. , ::NossoNumero__, .F. )
::NossoNumero_z := ::NossoNumero__ + '-' + ::NossoNumer_DV
//*-----------------------------------------------------------------*
// Indicacao do NN com 17 Posicoes Livres
//*-----------------------------------------------------------------*
::Campo_Livre__:= REPL( '0', 6 ) + ::NossoNumero__ + ::Carteira_____
ELSE
::Carteira_____ := PADL( ALLTRIM( Left( ::Carteira_____, 2 ) ), 8, '0' )
::Conta________ := PADL( ALLTRIM( Left( ::Conta________, 8 ) ), 8, '0' )
::NossoNumero__ := ::Prefixo______ + PADL( ALLTRIM( Left( ::NossoNumero__, 5 ) ), 5, '0' )
::NossoNumer_DV := ::DC_Mod11( ::Banco________, 9, .F., ::NossoNumero__, .F. )
::NossoNumero_z := Tran( ::NossoNumero__, "@R 99.999.999.999" ) + "-" + ::NossoNumer_DV
::Campo_Livre__:= ::NossoNumero__ + ::Banco_Agencia + ::Conta________ + ::Carteira_____
ENDIF
::Ag_Cod_Cedent := TRAN( ::Banco_Agencia + '-' + ::Banco_Ag_Dv__ + '/'+ ::Conta________ + '-' + ::Conta_DV_____, "@!")
Return NIL
Alguém teria classe Mrboletos atualizada para o Banco do Brasil?
Eu tenho a versão abaixo, mas está desatualizada.
Desde já agradeço.
segue a minha versão:
Method Banco_001() Class MR_Boleto
::Banco_Dv_____ := "9"
::Banco_Nome___ := "Banco do Brasil"
::Prefixo______ := PADL( ALLTRIM( Left( ::Prefixo______, 6 ) ), 6, '0' )
::Prefixo_DV___ := PADL( ALLTRIM( Left( ::Prefixo_DV___, 1 ) ), 1, '0' )
IF Left( ::Carteira_____, 2 ) $ "16|18|SR"
::Carteira_____ := PADL( ALLTRIM( Left( ::Carteira_____, 2 ) ), 2, '0' )
::Conta________ := PADL( ALLTRIM( Left( ::Conta________, 8 ) ), 8, '0' )
::NossoNumero__ := ::Prefixo______ + ::Prefixo_DV___+ PADL( ALLTRIM( Left( ::NossoNumero__, 10 ) ), 10, '0' )
::NossoNumer_DV := ::DC_Mod11( ::Banco________, 9, .F. , ::NossoNumero__, .F. )
::NossoNumero_z := ::NossoNumero__ + '-' + ::NossoNumer_DV
//*-----------------------------------------------------------------*
// Indicacao do NN com 17 Posicoes Livres
//*-----------------------------------------------------------------*
::Campo_Livre__:= REPL( '0', 6 ) + ::NossoNumero__ + ::Carteira_____
ELSE
::Carteira_____ := PADL( ALLTRIM( Left( ::Carteira_____, 2 ) ), 8, '0' )
::Conta________ := PADL( ALLTRIM( Left( ::Conta________, 8 ) ), 8, '0' )
::NossoNumero__ := ::Prefixo______ + PADL( ALLTRIM( Left( ::NossoNumero__, 5 ) ), 5, '0' )
::NossoNumer_DV := ::DC_Mod11( ::Banco________, 9, .F., ::NossoNumero__, .F. )
::NossoNumero_z := Tran( ::NossoNumero__, "@R 99.999.999.999" ) + "-" + ::NossoNumer_DV
::Campo_Livre__:= ::NossoNumero__ + ::Banco_Agencia + ::Conta________ + ::Carteira_____
ENDIF
::Ag_Cod_Cedent := TRAN( ::Banco_Agencia + '-' + ::Banco_Ag_Dv__ + '/'+ ::Conta________ + '-' + ::Conta_DV_____, "@!")
Return NIL