cefantacini Postado 25 Março Postado 25 Março Depois das mudanças no campo Nosso Numero no sicoob no inicio do ano eu fiz os ajustes no programa para se adaptar as modificações do componente. Na ocasião fui orientado aqui no fórum a preencher o LayoutVersaoArquivo com 810 se fosse boleto do sicoob. Porém atualizei o ACBr semana passada e agora ao gerar uma remessa do Sicoob recebo a seguinte mensagem de erro: Teria alguma configuração adicional a fazer depois da atualização?
Moderadores Juliomar Marchetti Postado 25 Março Moderadores Postado 25 Março Lembre-se que as contas antigas ainda continua com 7 digitos somente as novas que é 8 então para com 8 usa 810 e para 7 deixa zerado Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: juliomar_m@yahoo.com.br http://www.juliomarmarchetti.com.br
cefantacini Postado 25 Março Autor Postado 25 Março Conta bancária vc diz? Até antes da atualização dos ACBr estava funcionando normal com o leiaute 810 e 8 dígitos nessa conta.... Está mensagem aparece quando eu peço para gerar a remessa....
cefantacini Postado 26 Março Autor Postado 26 Março Eu fiz um teste de atualizar o ACBr novamente hoje e a mensagem de erro permaneceu. Dai voltei a versão anterior que eu tinha (backup) de antes da atualização de sábado passado e o problema foi resolvido. Pelo que percebi foi alguma alteração recente no ACBr que está gerando o problema ....
Moderadores Juliomar Marchetti Postado 26 Março Moderadores Postado 26 Março Em 26/03/2025 at 13:27, cefantacini disse: Eu fiz um teste de atualizar o ACBr novamente hoje e a mensagem de erro permaneceu. Dai voltei a versão anterior que eu tinha (backup) de antes da atualização de sábado passado e o problema foi resolvido. Pelo que percebi foi alguma alteração recente no ACBr que está gerando o problema .... Expandir olha então o que foi feito de mudanças no change log e no winmerge ou diff do svn Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: juliomar_m@yahoo.com.br http://www.juliomarmarchetti.com.br
cefantacini Postado 26 Março Autor Postado 26 Março Provavelmente o problema é nessa procedure CalcularTamMaximoNossoNumero, mais eu não consegui entender como ela é codificada
Moderadores Juliomar Marchetti Postado 26 Março Moderadores Postado 26 Março Atualiza o svn pois houve mudanças hoje a tarde Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: juliomar_m@yahoo.com.br http://www.juliomarmarchetti.com.br
cefantacini Postado 26 Março Autor Postado 26 Março Atualizei e fiz o teste, porém na nova atualização o problema permanece...
Moderadores Juliomar Marchetti Postado 27 Março Moderadores Postado 27 Março Em 26/03/2025 at 22:43, cefantacini disse: Atualizei e fiz o teste, porém na nova atualização o problema permanece... Expandir Então é outra coisa que está faltando do seu lado se ainda assim achar que é algo no componente e quiser modificar testar e anexar aqui para validarmos Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: juliomar_m@yahoo.com.br http://www.juliomarmarchetti.com.br
cefantacini Postado 27 Março Autor Postado 27 Março Eu depurei e acredito que encontrei onde está o problema, mais não tenho certeza se a solução que encontrei pode dar algum "efeito colateral" No ACBr novo, dentro do arquivo: ....\Fontes\ACBrBoleto\ACBrBancoSicoob.pas tem uma procedure que não tem no mesmo arquivo do ACBr antigo: . . function TACBrBancoSicoob.CalcularTamMaximoNossoNumero(const Carteira: String; const NossoNumero : String = ''; const Convenio: String = ''): Integer; begin case StrToIntDef(Carteira,0) of 1 : begin if fpLayoutVersaoArquivo = 810 then Result := 8 else Result := 7 end; 9 : Result := 9; else Result := 7; end; fpTamanhoMaximoNossoNum := Result; end; Esse parametrro carteira vem nulo, dai ele assume o 0 e cai no else e assume 7; Se eu simplesmente tratar o else da mesma forma que o 1 o problema fica resolvido function TACBrBancoSicoob.CalcularTamMaximoNossoNumero(const Carteira: String; const NossoNumero : String = ''; const Convenio: String = ''): Integer; begin case StrToIntDef(Carteira,0) of 1 : begin if fpLayoutVersaoArquivo = 810 then Result := 8 else Result := 7 end; 9 : Result := 9; else begin if fpLayoutVersaoArquivo = 810 then Result := 8 else Result := 7 end; end; fpTamanhoMaximoNossoNum := Result; end;
Moderadores BigWings Postado 27 Março Moderadores Postado 27 Março Em 27/03/2025 at 18:47, cefantacini disse: Esse parametrro carteira vem nulo, dai ele assume o 0 e cai no else e assume 7; Expandir Você está informando a carteira ao adicionar os títulos para gerar a remessa? BigWingsAjude o Projeto ACBr crescer - Assine o SAC
Membros Pro Quality Automação Postado 25 Abril Membros Pro Postado 25 Abril estou com o mesmo problema antes de atualizar estava normal atualizei também ocorre o mesmo erro .Se retornar para a versao anterior o erro nao acontece
Moderadores BigWings Postado 25 Abril Moderadores Postado 25 Abril Em 25/04/2025 at 20:13, Quality Automação disse: estou com o mesmo problema antes de atualizar estava normal atualizei também ocorre o mesmo erro .Se retornar para a versao anterior o erro nao acontece Expandir Agora é feita uma validação de acordo com a carteira e a propriedade LayoutVersaoArquivo. Então certifique-se de informar essas duas propriedades antes do nosso número. BigWingsAjude o Projeto ACBr crescer - Assine o SAC
Membros Pro Quality Automação Postado 25 Abril Membros Pro Postado 25 Abril Estou passando no meu Caso a Carteira é 1 LayoutVersaoArquivo 81 estou passando ou tenho que verificar qual LayoutVersaoArquivo é para determinada carteira ?
cefantacini Postado 26 Abril Autor Postado 26 Abril No meu caso eu estava preenchendo as propriedades .Cedente.TipoCarteira := tctRegistrada; (1) .Banco.LayoutVersaoArquivo := 810; Porem, depurando, percebi que mesmo eu tendo preenchido a propriedade TipoCarteira com 1, quando chegava na procedure function TACBrBancoSicoob.CalcularTamMaximoNossoNumero(const Carteira: String; const NossoNumero : String = ''; const Convenio: String = ''): Integer; begin case StrToIntDef(Carteira,0) of 1 : begin if fpLayoutVersaoArquivo = 810 then Result := 8 else Result := 7 end; 9 : Result := 9; else Result := 7; end; fpTamanhoMaximoNossoNum := Result; end; O parâmetro Carteira chegava como 0 Se mudar a linha case StrToIntDef(Carteira,0) of para case StrToIntDef(Carteira,1) of Fica resolvido, porém optei por não mudar o fonte do ACBr para não correr risco de problema em futuras atualizações. Sendo assim a melhor solução que encontrei foi voltar a usar o nossonumero com 7 posições.
Moderadores BigWings Postado 26 Abril Moderadores Postado 26 Abril Em 25/04/2025 at 20:26, Quality Automação disse: Estou passando no meu Caso a Carteira é 1 LayoutVersaoArquivo 81 estou passando ou tenho que verificar qual LayoutVersaoArquivo é para determinada carteira ? Expandir Versao 81 é para nosso número de 7 dígitos + dígito verificador calculado pelo ACBr. Versao 810 você pode informar os 8 dígitos. Em 26/04/2025 at 11:00, cefantacini disse: No meu caso eu estava preenchendo as propriedades .Cedente.TipoCarteira := tctRegistrada; (1) .Banco.LayoutVersaoArquivo := 810; Expandir Precisa informar a carteira ao preencher os dados do título: .Banco.LayoutVersaoArquivo := 810; .Titulo.Carteira := '1' .Titulo.Modalidade := '01' .Titulo.NossoNumero := 12345678 BigWingsAjude o Projeto ACBr crescer - Assine o SAC
cefantacini Postado 26 Abril Autor Postado 26 Abril No meu caso encontrei o erro, eu estava atribuindo .Titulo.Carteira depois de .Titulo.NossoNumero, foi só atribuir antes que resolveu. 1
Membros Pro Quality Automação Postado 29 Abril Membros Pro Postado 29 Abril Setei o tamanho = 8 para o sicob com LayoutVersaoArquivo 810 passou gerou o boleto e remessa
Membros Pro Quality Automação Postado 29 Abril Membros Pro Postado 29 Abril Porem não esta gerando com digito verificador. Antes gerava com 8 digitos + verificador (Versao antiga passando apenas LayoutVersaoArquivo 81) agora se eu passar tamanho 8 e LayoutVersaoArquivo 810 ele gera sem o digito com isso se eu tentar pagar ele da erro falando que o boleto n esta registrado junto ao banco no caso teria a possibilidade de passar 8 digitos + verificador como antigamente ?
Moderadores BigWings Postado 29 Abril Moderadores Postado 29 Abril Em 29/04/2025 at 13:08, Quality Automação disse: Porem não esta gerando com digito verificador. Antes gerava com 8 digitos + verificador (Versao antiga passando apenas LayoutVersaoArquivo 81) Expandir Nunca foi 8 dígitos + verificador. Ou é 7 + DV como antigamente (81), ou você informa os 8 dígitos (810). Pode ser que na impressão podia estar aparecendo 8 + DV mas não era a realidade. BigWingsAjude o Projeto ACBr crescer - Assine o SAC
Membros Pro Quality Automação Postado 29 Abril Membros Pro Postado 29 Abril Entendi. vou então manter o LayoutVersaoArquivo 81 passando o tamanho 7.Obrigado pelo retorno
Recommended Posts
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora