Harbour Boleto - campo digitavel
Enviado: 14 Jan 2025 17:02
Ola Amigos,
Uso o harbour boleto e hoje apareceu um problema.
A geração ate o vencimento em 21/02/2025 no campo digitavel do boleto fica desta maneira 99990000819600, sendo 9999 para o vencimento 21/02/2025 e 819600 para o valor.
A partir de 22/02/2025 a meu ver seria 10000, so que em um boleto que gerei no site do bradesco, ele fica 1020 para o vencimento de 14/03/2025, que pelo harbour boleto, fazendo uma alteracao ficaria 10020.
Alguem ja fez a alteracao desta rotina e poderia me ajudar e mostrar como deve ficar.
Fiz essa alteracao no rotina de oBoleto.prg
Agradeco a ajuda.
Uso o harbour boleto e hoje apareceu um problema.
A geração ate o vencimento em 21/02/2025 no campo digitavel do boleto fica desta maneira 99990000819600, sendo 9999 para o vencimento 21/02/2025 e 819600 para o valor.
A partir de 22/02/2025 a meu ver seria 10000, so que em um boleto que gerei no site do bradesco, ele fica 1020 para o vencimento de 14/03/2025, que pelo harbour boleto, fazendo uma alteracao ficaria 10020.
Alguem ja fez a alteracao desta rotina e poderia me ajudar e mostrar como deve ficar.
Fiz essa alteracao no rotina de oBoleto.prg
Código: Selecionar todos
::Merge("DTVENC" , DTOC(::DtVenc))
::Merge("DATA" , DTOC(::DtEmis))
::Merge("DATAPROC" , DTOC(::DtEmis)) // Nao sei se aqui deveria ser DATE().
::Merge("VALOR" , TRANS(::nValor, "@E 99,999,999.99"))
::Merge("NMORA" , TRANS(::nMora, "@E 999,999.99"))
::Merge("CVT" , cCVT)
::Merge("AGCC" , cAgCC)
::Merge("NUMDOC" , ::cNumDoc)
::Merge("CARTEIRA" , cCarteira)
::Merge("ESPECIETIT", ::EspecieTit)
::Merge("ACEITE" , ::Aceite)
::Merge("NNUMERO" , TRAN( cNsNm, "@R 99999999999999999-9" ) )
//cFatorVenc := STRZERO( ::DtVenc - dDataBase , 4 ) // alterado
// ALTERADO EM 14/01/2025
if ::DtVenc > ctod([21/02/2025])
cFatorVenc := STRZERO( ::DtVenc - dDataBase , 5 ) //4 > 10000
else
cFatorVenc := STRZERO( ::DtVenc - dDataBase , 4 ) //4 < 10000 = 9999
endif
// Monta Código de Barras (p/ Banco)
cDGCB := DC_Mod11( ::cCodBco, 9, .T., ::cCodBco + ::cTipoMoeda + cFatorVenc + STRZERO( ::nValor * 100, 10 ) + cCpoLivre )
cCodBar := ::cCodBco + ::cTipoMoeda + cDGCB + cFatorVenc + STRZERO( ::nValor * 100, 10 ) + cCpoLivre
// 3 1 1 4 10 25