-
-
Notifications
You must be signed in to change notification settings - Fork 250
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] l10n_br_cnab #1636
Comments
@marcos-mendez isso também aconteceu comigo, eu resolvi apagando os dados das tabelas a baixo antes de atualizar o modulo: "l10n_br_cnab_mov_instruction_code" "l10n_br_cnab_return_move_code" |
Eu já tinha percebido isso antes, mas não abri uma issue pois queria tentar achar a fonte do problema antes, eu acho que é algo relacionado a colaboração do @mbcosta nessa PR #1558. houve alteração nos ids dos records na pasta data, ai isso faz com que as informações se repitam, caso você já tenha uma base montada. Talvez tenha faltado um script de migração, eu acho, não olhei muito a fundo. |
Boa @netosjb!!! SHOW DE BOLA Salvou em, vou verificar isso, mas realmente, como te disse, tem muita coisa que está sem script de migração e isso afeta e muito a comunidade. Vou tentar esse macete que você falou e te aviso |
ola @marcos-mendez e @netosjb realmente é o PR que está causando o problema, especificamente esse commit 186bcc9 eu acabei não vendo a questão de migrar os dados, apaga-los e depois atualizar como o @netosjb disse funciona, mas você vai precisar reconfigurar os Modos de Pagamentos que estavam usando algum desses códigos depois, veja também que no PR é removido o conjunto de códigos CNAB 240 genérico, pelo o que vi não há padrão no uso dos códigos mesmo no 240 cada Banco pode usar um conjunto de códigos específicos com diferentes descrições, os arquivos data passaram a ser separados por banco e no começo do conjunto de códigos tem o link para o website da fonte https://github.com/OCA/l10n-brazil/blob/12.0/l10n_br_account_payment_order/data/cnab_codes/banco_bradesco_cnab_240_400.xml#L5 , desculpem pelo transtorno, nos próximos dias posso ver para incluir o script de migração, PR são bem vindos. |
@marcos-mendez conseguiu resolver o problema? Veja se a issue possa ser fechada |
@marcos-mendez @netosjb a solução de apagar os códigos não deve ser feita no caso de algum já ter sido usado em uma Ordem de Debito isso vai deixar as linhas com o campo do Código de Instrução do Movimento vazio e assim a única forma de saber o código que foi usado na linha de uma determinada Ordem será abrindo o arquivo TXT gerado, eu subi ontem a correção com o script de migração. As "branchs" oficiais são consideradas estáveis e existe um esforço nesse sentido, esse problema foi um erro meu que acabei avaliando um cenário apenas, mais uma vez me desculpem pelo transtorno causado, vou procurar marca-los em novos PRs referentes ao CNAB. |
Verdade, acabei sugerindo uma solução não muito certa, é que no meu caso não deu problema pois eu ainda não tinha iniciado o uso do CNAB. Tenho bastante interesse no módulo, vou ficar acompanhando as prs e ajudar a revisar, obrigado. |
valeu @netosjb eu que vacilei na resposta Sobre o CNAB usando o modulo l10n_br_account_payment_brcobranca com os dados de demonstração é possível testar a impressão do Boleto e geração do arquivo TXT a ser enviado ao Banco do Itau/400, Bradesco/400, CEF/240, SICREDI/240, Banco do Brasil/400, UNICRED/400 nesse caso é possível simular o retorno( TXT enviado pelo Banco ) para validar a conciliação dos pagamentos, com um caso de valor recebido Maior e outro Menor, os arquivos estão na pasta l10n_br_account_payment_brcobranca/tests/data https://github.com/OCA/l10n-brazil/tree/12.0/l10n_br_account_payment_brcobranca/tests/data . No caso de outros bancos que já estão implementados na biblioteca BRCobrança https://github.com/kivanio/brcobranca/tree/master é preciso incluir os Códigos CNAB de Instrução e Retorno na pasta https://github.com/OCA/l10n-brazil/tree/12.0/l10n_br_account_payment_order/data/cnab_codes ( os xml_ids que causaram o bug relatado ). |
@mbcosta tá bem legal mesmo a implementação, já fiz os testes com o boleto do Itaú, enviei pra banco e deu tudo certo. |
@netosjb um P.S. importante sobre "Tenho bastante interesse no seu módulo" Apesar de eu ter feito uma parte da implementação do CNAB outras pessoas também contribuíram:
O CNAB acaba sendo um assunto extenso basicamente por essa falta de padrão entre eles( o uso de diferentes códigos tanto de Instrução quanto de Retorno), e ainda hoje existem questões em aberto que provavelmente só serão vistas a partir da v14:
Portanto apesar de hoje eu estar mais focado em manter e resolver os problemas a implementação do CNAB é resultado do trabalho de várias pessoas e a ideia é que existam mais pessoas para chamar o modulo de "seu" como mantedores para garantir a qualidade mas o modulo pertence a comunidade, com mais pessoas testando, usando e dando retorno sobre os erros a qualidade do modulo acabará sendo maior. |
** Descreva o bug **
fiz um pull da branch principal para ter a versão mais atualizada, usei a flag -u all para atualizar todos os modulos e deu este erro
`WARNING riviera-new odoo.modules.loading: Transient module states were reset
2021-09-15 22:34:58,419 157946 ERROR riviera-new odoo.modules.registry: Failed to load registry
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 758, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 663, in _tag_record
record = model.with_context(rec_context)._load_records([data], self.mode == 'update')
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3888, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3802, in _load_records_create
return self.create(values)
File "", line 2, in create
File "/usr/lib/python3/dist-packages/odoo/api.py", line 462, in _model_create_multi
return create(self, arg)
File "/usr/lib/python3/dist-packages/odoo/addons/mail/models/mail_thread.py", line 272, in create
threads = super(MailThread, self).create(vals_list)
File "", line 2, in create
File "/usr/lib/python3/dist-packages/odoo/api.py", line 462, in _model_create_multi
return create(self, arg)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3583, in create
records = self._create(data_list)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3715, in _create
records._validate_fields(name for data in data_list for name in data['stored'])
File "/usr/lib/python3/dist-packages/odoo/models.py", line 1126, in _validate_fields
check(self)
File "/usr/lib/python3/dist-packages/odoo/custom-addons/l10n-brazil/l10n_br_account_payment_order/models/l10n_br_cnab_data_abstract.py", line 54, in check_code
% (record.code, code_name_exist)
odoo.exceptions.ValidationError: ('The Code 09 already exist 09 - Inclusão do Registro Detalhe Bloqueado for Bank and CNAB type.', None)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 86, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 417, in load_modules
force, status, report, loaded_modules, update_module, models_to_check)
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 313, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 222, in load_module_graph
load_data(cr, idref, mode, kind='data', package=package, report=report)
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 68, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 802, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 865, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 764, in parse
exc_info[2]
File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 86, in reraise
raise value.with_traceback(tb)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 758, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 663, in _tag_record
record = model.with_context(rec_context)._load_records([data], self.mode == 'update')
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3888, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3802, in _load_records_create
return self.create(values)
File "", line 2, in create
File "/usr/lib/python3/dist-packages/odoo/api.py", line 462, in _model_create_multi
return create(self, arg)
File "/usr/lib/python3/dist-packages/odoo/addons/mail/models/mail_thread.py", line 272, in create
threads = super(MailThread, self).create(vals_list)
File "", line 2, in create
File "/usr/lib/python3/dist-packages/odoo/api.py", line 462, in _model_create_multi
return create(self, arg)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3583, in create
records = self._create(data_list)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3715, in _create
records._validate_fields(name for data in data_list for name in data['stored'])
File "/usr/lib/python3/dist-packages/odoo/models.py", line 1126, in _validate_fields
check(self)
File "/usr/lib/python3/dist-packages/odoo/custom-addons/l10n-brazil/l10n_br_account_payment_order/models/l10n_br_cnab_data_abstract.py", line 54, in check_code
% (record.code, code_name_exist)
odoo.tools.convert.ParseError: "The Code 09 already exist 09 - Inclusão do Registro Detalhe Bloqueado for Bank and CNAB type.
None" while parsing /usr/lib/python3/dist-packages/odoo/custom-addons/l10n-brazil/l10n_br_account_payment_order/data/cnab_codes/banco_bradesco_cnab_240_400.xml:115, near
Protestar
09
2021-09-15 22:34:58,428 157946 CRITICAL riviera-new odoo.service.server: Failed to initialize database
riviera-new
.Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 758, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 663, in _tag_record
record = model.with_context(rec_context)._load_records([data], self.mode == 'update')
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3888, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3802, in _load_records_create
return self.create(values)
File "", line 2, in create
File "/usr/lib/python3/dist-packages/odoo/api.py", line 462, in _model_create_multi
return create(self, arg)
File "/usr/lib/python3/dist-packages/odoo/addons/mail/models/mail_thread.py", line 272, in create
threads = super(MailThread, self).create(vals_list)
File "", line 2, in create
File "/usr/lib/python3/dist-packages/odoo/api.py", line 462, in _model_create_multi
return create(self, arg)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3583, in create
records = self._create(data_list)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3715, in _create
records._validate_fields(name for data in data_list for name in data['stored'])
File "/usr/lib/python3/dist-packages/odoo/models.py", line 1126, in _validate_fields
check(self)
File "/usr/lib/python3/dist-packages/odoo/custom-addons/l10n-brazil/l10n_br_account_payment_order/models/l10n_br_cnab_data_abstract.py", line 54, in check_code
% (record.code, code_name_exist)
odoo.exceptions.ValidationError: ('The Code 09 already exist 09 - Inclusão do Registro Detalhe Bloqueado for Bank and CNAB type.', None)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/service/server.py", line 1162, in preload_registries
registry = Registry.new(dbname, update_module=update_module)
File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 86, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 417, in load_modules
force, status, report, loaded_modules, update_module, models_to_check)
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 313, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 222, in load_module_graph
load_data(cr, idref, mode, kind='data', package=package, report=report)
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 68, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 802, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 865, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 764, in parse
exc_info[2]
File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 86, in reraise
raise value.with_traceback(tb)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 758, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 663, in _tag_record
record = model.with_context(rec_context)._load_records([data], self.mode == 'update')
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3888, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3802, in _load_records_create
return self.create(values)
File "", line 2, in create
File "/usr/lib/python3/dist-packages/odoo/api.py", line 462, in _model_create_multi
return create(self, arg)
File "/usr/lib/python3/dist-packages/odoo/addons/mail/models/mail_thread.py", line 272, in create
threads = super(MailThread, self).create(vals_list)
File "", line 2, in create
File "/usr/lib/python3/dist-packages/odoo/api.py", line 462, in _model_create_multi
return create(self, arg)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3583, in create
records = self._create(data_list)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3715, in _create
records._validate_fields(name for data in data_list for name in data['stored'])
File "/usr/lib/python3/dist-packages/odoo/models.py", line 1126, in _validate_fields
check(self)
File "/usr/lib/python3/dist-packages/odoo/custom-addons/l10n-brazil/l10n_br_account_payment_order/models/l10n_br_cnab_data_abstract.py", line 54, in check_code
% (record.code, code_name_exist)
odoo.tools.convert.ParseError: "The Code 09 already exist 09 - Inclusão do Registro Detalhe Bloqueado for Bank and CNAB type.
None" while parsing /usr/lib/python3/dist-packages/odoo/custom-addons/l10n-brazil/l10n_br_account_payment_order/data/cnab_codes/banco_bradesco_cnab_240_400.xml:115, near
Protestar
09
`
Reproduzir
Etapas para reproduzir o comportamento:
Comportamento esperado
atualizar normalmente
** Contexto adicional **
Ambiente em produção
@renatonlima pode me ajudar? o que devo fazer? não entendi o porque do erro
The text was updated successfully, but these errors were encountered: