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: [email protected] 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 2 horas atrás, 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 .... 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: [email protected] 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: [email protected] 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 13 horas atrás, cefantacini disse: Atualizei e fiz o teste, porém na nova atualização o problema permanece... 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: [email protected] 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 38 minutos atrás, cefantacini disse: Esse parametrro carteira vem nulo, dai ele assume o 0 e cai no else e assume 7; 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 Sexta as 20:13 Membros Pro Postado Sexta as 20:13 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 Sexta as 20:18 Moderadores Postado Sexta as 20:18 3 minutos atrás, 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 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 Sexta as 20:26 Membros Pro Postado Sexta as 20:26 Estou passando no meu Caso a Carteira é 1 LayoutVersaoArquivo 81 estou passando ou tenho que verificar qual LayoutVersaoArquivo é para determinada carteira ?
cefantacini Postado Sábado as 11:00 Autor Postado Sábado as 11:00 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 Sábado as 12:14 Moderadores Postado Sábado as 12:14 15 horas atrás, 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 ? 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. 1 hora atrás, cefantacini disse: No meu caso eu estava preenchendo as propriedades .Cedente.TipoCarteira := tctRegistrada; (1) .Banco.LayoutVersaoArquivo := 810; 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 Sábado as 18:23 Autor Postado Sábado as 18:23 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 Ontem às 12:42 Membros Pro Postado Ontem às 12:42 Setei o tamanho = 8 para o sicob com LayoutVersaoArquivo 810 passou gerou o boleto e remessa
Membros Pro Quality Automação Postado Ontem às 13:08 Membros Pro Postado Ontem às 13:08 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 Ontem às 13:34 Moderadores Postado Ontem às 13:34 25 minutos atrás, Quality Automação disse: Porem não esta gerando com digito verificador. Antes gerava com 8 digitos + verificador (Versao antiga passando apenas LayoutVersaoArquivo 81) 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 Ontem às 13:45 Membros Pro Postado Ontem às 13:45 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