Closed marcosgerene closed 1 year ago
@marcosgerene , boa tarde.
Os dois manuais que eu tenho aqui, da CEF 240 posições, são: V005 e V006 - ambos de Setembro de 2007.
Certamente, de lá pra cá, surgiram códigos de beneficiário com 7 dígitos, o que fez a versão ser alterada.
Acredito que o melhor seria atualizar para a versão mais recente. Porém, conforme o print do manual que você colocou ai, devemos ter muita atenção em verificar todo o resto dos campos do manual e comparar com o script do Boleto2Net. Isso pq, com 6 dígitos, existe um 0 na direita, e com 7 dígitos, não tem. Isso válido para remessa e retorno.
Provavelmente a versão implementada vai continuar funcionando (aliás, está funcionando, pois aqui tenho casos de uso dessa carteira) - mas novos clientes, precisam homologar na versão mais recente.
@rafd75 Fiz um commit mas ainda não abri o PR, vou tentar ver se alguém daqui pode revisar o manual e vou fazer alguns testes, mas o problema meu é, se eu simplesmente "mudar" alguns campos como meu commit sugere pode haver uma quebra em casos como o seu.
Considerando que todos os campos (e posições) serão revisados, não acredito em quebra do que esteja funcionando não.
Veja - imagine um novo cliente aqui... vou precisar homologar e minha versão é antiga...
Então vou corrigir, mas a alteração irá acabar chegando para quem já usa a versão "antiga"... e eu acredito que a nova versão continuaria funcionando.
Obs: o outro caminho seria implementar multiplas versões de layout, e setar de alguma forma isso... Mas entendo que essa solução é terrível... imagina daqui um tempo, quantas versões não estariam dentro do componente.
@rafd75 faz sentido.
Vou revisar o CNAB 240 porque é o que vou mexer no momento, acredito que eu abra o PR entre essa e a próxima semana,
OK... combinado.
@rafd75
A remessa foi validada com meus ajustes. Tive que mexer no código de barras, mais especificamente no campo livre, então vamos validar também o boleto gerado.
Os testes já exitentes passaram com sucesso:
Assim que receber retorno dos boletos abro o PR.
Legal ... !!!
Senhores,
Estou com demanda para emissão de boletos Caixa, CNAB 240.
Segue o resultado da primeira validação:
Linha 1 - Pede-se 101 ou 107, mas no fonte temos 050 corrigido.
reg.Adicionar(TTiposDadoEDI.ediNumericoSemSeparador_, 0164, 003, 0, "050", '0');
Manual:
Aqui, especificamente, temos ainda outra situação, valida-se sempre 6 dígitos ao formatar o cedente, (e depois pede 9, achei estranho), mas neste caso podemos ter 7 dígitos dependendo da versão do layout.
Cedente.Codigo = codigoCedente.Length <= 6 ? codigoCedente.PadLeft(6, '0') : throw Boleto2NetException.CodigoCedenteInvalido(codigoCedente, 9);
Linha 2: Pede-se 060 ou 067 e está fixado 030
reg.Adicionar(TTiposDadoEDI.ediNumericoSemSeparador_, 0014, 003, 0, "030", '0');
Manual:
030, aparentemente, é para retorno.
Linha 3 - Falha interna minha.
Bom dia amigo, estou com o mesmo problema, ja subiu essa alteração ?
@WillPvt
Acho que essa correção está no PR -> #330
Senhores,
Estou com demanda para emissão de boletos Caixa, CNAB 240.
Segue o resultado da primeira validação:
Linha 1 - Pede-se 101 ou 107, mas no fonte temos 050 fixado.
https://github.com/BoletoNet/boleto2net/blob/1d68a4f3f1fe76994975e1ca6566efc1f0b47734/Boleto2.Net/Banco/BancoCaixa.cs#L326
Manual:
Aqui, especificamente, temos ainda outra situação, valida-se sempre 6 dígitos ao formatar o cedente, (e depois pede 9, achei estranho), mas neste caso podemos ter 7 dígitos dependendo da versão do layout.
https://github.com/BoletoNet/boleto2net/blob/1d68a4f3f1fe76994975e1ca6566efc1f0b47734/Boleto2.Net/Banco/BancoCaixa.cs#L37
Linha 2: Pede-se 060 ou 067 e está fixado 030
https://github.com/BoletoNet/boleto2net/blob/1d68a4f3f1fe76994975e1ca6566efc1f0b47734/Boleto2.Net/Banco/BancoCaixa.cs#L352
Manual:![image](https://user-images.githubusercontent.com/15945003/135319224-4ba873cb-a4fa-4383-8393-8995af7656fd.png)
030, aparentemente, é para retorno.
Linha 3 - Falha interna minha.