[18.0][MIG] l10n _br_stock_account#4590
Conversation
|
Hi @renatonlima, |
9b352b9 to
f90e9a3
Compare
c28e0f6 to
a7952ed
Compare
|
Olá @rvalyi parece que existem dois erros relacionados ao teste do Simples Nacional:
2026-06-09 23:32:55,688 349 ERROR odoo odoo.addons.l10n_br_stock_account.tests.test_invoicing_picking: ERROR: InvoicingPickingTest.test_simples_nacional
Traceback (most recent call last):
File "/opt/odoo/odoo/fields.py", line 1274, in __get__
recs._fetch_field(self)
File "/opt/odoo/odoo/models.py", line 4120, in _fetch_field
self.fetch(fnames)
File "/opt/odoo/odoo/models.py", line 4158, in fetch
fetched = self._fetch_query(query, fields_to_fetch)
File "/opt/odoo/odoo/models.py", line 4269, in _fetch_query
field.read(fetched)
File "/opt/odoo/odoo/fields.py", line 4690, in read
lines = comodel.search_fetch(domain, field_names)
File "/opt/odoo/odoo/models.py", line 1778, in search_fetch
query = self._search(domain, offset=offset, limit=limit, order=order or self._order)
File "/opt/odoo/odoo/models.py", line 5812, in _search
self.browse().check_access('read')
File "/opt/odoo/odoo/models.py", line 4444, in check_access
raise result[1]()
odoo.exceptions.AccessError: You are not allowed to access 'Grupo de informações sobre o CréditoPresumido' (nfe.40.gcred) records.
This operation is allowed for the following groups:
- NF-e/NFe Manager
- NF-e/NFe User
Contact your administrator to request access if necessary.Isso pode ser resolvido incluindo o Grupo NFe Manager quando o módulo l10n_br_nfe estiver instalado, para isso fiz a seguinte alteração em https://github.com/akretion/l10n-brazil/blob/18.0-mig-l10n_br_stock_account/l10n_br_stock_account/tests/common.py#L25: @classmethod
def get_default_groups(cls):
groups = super().get_default_groups()
groups |= (
cls.env.ref("l10n_br_fiscal.group_user")
| cls.env.ref("l10n_br_fiscal.group_manager")
| cls.env.ref("stock.group_stock_manager")
)
module_l10n_br_nfe = cls.env["ir.module.module"].search(
[("name", "=", "l10n_br_nfe")]
)
if module_l10n_br_nfe and module_l10n_br_nfe.state == "installed":
groups |= cls.env.ref("l10n_br_nfe.group_manager")
return groupsA partir dessa alteração surge outro erro que parece com aquele que foi visto no PR Mas nesse caso está acontecendo no método action_post no mesmo teste, segue o LOG: 2026-06-17 20:04:16,952 19 ERROR odoo odoo.addons.l10n_br_stock_account.tests.test_invoicing_picking: ERROR: InvoicingPickingTest.test_simples_nacional
Traceback (most recent call last):
File "/home/odoo/app/external-src/l10n-brazil/l10n_br_stock_account/tests/test_invoicing_picking.py", line 702, in test_simples_nacional
invoice.action_post()
File "/opt/venv/lib/python3.12/site-packages/odoo/addons/account/models/account_move.py", line 5558, in action_post
self._post(soft=False)
File "/home/odoo/app/external-src/l10n-brazil/l10n_br_account_payment_order/models/account_move.py", line 93, in _post
result = super()._post(soft)
^^^^^^^^^^^^^^^^^^^
File "/home/odoo/app/external-src/l10n-brazil/l10n_br_account/models/account_move.py", line 681, in _post
return super()._post(soft=soft)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/odoo/addons/l10n_latam_invoice_document/models/account_move.py", line 181, in _post
return super()._post(soft)
^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/odoo/addons/stock_account/models/account_move.py", line 49, in _post
posted = super()._post(soft)
^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/odoo/addons/account/models/account_move.py", line 5186, in _post
move.checked = move.journal_id.autocheck_on_post
^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/odoo/fields.py", line 1426, in __set__
records.write({self.name: write_value})
File "/home/odoo/app/external-src/l10n-brazil/l10n_br_account/models/account_move.py", line 120, in write
res = super().write(vals)
^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/odoo/addons/account/models/account_move.py", line 3456, in write
with self._sync_dynamic_lines(container):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/contextlib.py", line 137, in __enter__
return next(self.gen)
^^^^^^^^^^^^^^
File "/home/odoo/app/external-src/l10n-brazil/l10n_br_account/models/account_move.py", line 467, in _sync_dynamic_lines
with super()._sync_dynamic_lines(container):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/contextlib.py", line 137, in __enter__
return next(self.gen)
^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/odoo/addons/account/models/account_move.py", line 3265, in _sync_dynamic_lines
stack.enter_context(self._sync_dynamic_line(
File "/usr/local/lib/python3.12/contextlib.py", line 526, in enter_context
result = _enter(cm)
^^^^^^^^^^
File "/usr/local/lib/python3.12/contextlib.py", line 137, in __enter__
return next(self.gen)
^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/odoo/addons/account/models/account_move.py", line 3144, in _sync_dynamic_line
dirty_recs_before[dirty_fname] = False
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/odoo/models.py", line 7092, in __setitem__
return self._fields[key].__set__(self, value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/odoo/fields.py", line 1426, in __set__
records.write({self.name: write_value})
File "/home/odoo/app/external-src/l10n-brazil/l10n_br_account_payment_order/models/account_move_line.py", line 228, in write
return super().write(values)
^^^^^^^^^^^^^^^^^^^^^
File "/home/odoo/app/external-src/l10n-brazil/l10n_br_account/models/account_move_line.py", line 143, in write
res = super().write(values)
^^^^^^^^^^^^^^^^^^^^^
File "/home/odoo/app/external-src/bank-payment/account_payment_partner/models/account_move_line.py", line 42, in write
return super().write(vals)
^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/odoo/addons/account/models/account_move_line.py", line 1749, in write
result = super().write(vals)
^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/odoo/addons/analytic/models/analytic_mixin.py", line 166, in write
return super().write(vals)
^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/odoo/models.py", line 4723, in write
self.check_access('write')
File "/opt/venv/lib/python3.12/site-packages/odoo/models.py", line 4444, in check_access
raise result[1]()
odoo.exceptions.AccessError: Uh-oh! Looks like you have stumbled upon some top-secret records.
Sorry, Because I am accountman! (id=34) doesn't have 'write' access to:
- Journal Item (account.move.line)
If you really, really need access, perhaps you can win over your friendly administrator with a batch of freshly baked cookies.A semelhança entre os erros está no fato de que não parece ser realmente um problema de Permissões de Acesso, porque é possível verificar antes: Incluindo a alteração abaixo em https://github.com/akretion/l10n-brazil/blob/18.0-mig-l10n_br_stock_account/l10n_br_stock_account/tests/test_invoicing_picking.py#L694 # Confirm Invoice
self.assertTrue(self.env.user.has_group("l10n_br_fiscal.group_manager"))
self.assertTrue(self.env.user.has_group("account.group_account_manager"))
self.assertEqual(self.env.user, invoice.user_id)
for ln in invoice.invoice_line_ids:
ln.name = "Teste de Permissão de Acesso no account.move.line"
# invoice.sudo().action_post()
invoice.action_post()Então tem algo a ser investigado no LOG para entender o problema, com o sudo() o teste deixa de gerar erro, devemos incluir aqui o teste com o sudo para deixar o PR verde? Vi que você adaptou os testes aqui para a refatoração que foi feita no PR Você acredita que é melhor fazer apenas uma adaptação simples para essa atualização aqui na Migração e em outro PR fazer a refatoração completa ou não teria nenhum problema em fazer isso aqui? Tem outra alteração que foi feita no stock_picking_invoicing no PR sobre replace assert with self.assertTrue que também pode ser considerada aqui. Posso ver de incluir essas alterações em commits separados para permitir analise, como foi feito no PR da v17 |
460a1a9 to
453223b
Compare
453223b to
4b3d631
Compare
|
Salve @mbcosta o modulo ta instalando e passando os testes quando instala apenas ele localmente mas pelo jeito ainda tem uns conflitos com outros modulos. Tou vendo isso apenas para deixar verde. Se quiser ver de melhorar os testes depois fique a vontade, pode ver tba migração do l10n_br_sale_stock (o l10n_br_sale acabou de entrar) e l10n_br_purchase_stock (o l10n_br_purchase deve entrar em breve) se quiser pois nao pretendo trabalhar neles esses dias. |
|
Certo @rvalyi vou ver de testar o modulo e tentar identificar os outros erros que acontecem aqui, no caso do l10n_br_sale_stock acredito que seria importante fazer a migração na sequencia v17 e depois v18, estou aguardando uma resposta no PR de migração do sale_stock_picking_invoicing Dependendo se não houver resposta na próxima semana eu posso ver de criar um novo PR lá. No caso do l10n_br_purchase_stock acredito que tem um PR que pode ser visto antes da migração o PR Apesar do PR estar em Rascunho parece que seria melhor já ter isso resolvido na v16 antes da migração, o que você acha? |
|
@mbcosta temos sim mais prioridade nesses PR da 16.0 mesmo. Inclusive ontem até ajustei o PR da importação da NFe que ta quase ok tb. Vou ver de deixar pronto esse fds. A migração do l10n_br_sale_stock e l10n_br_purchase_stock não é tao prioritar assim. Bom que essas coisas começam a ficar bem limpas tb finalmente. |
e413576 to
386ccf3
Compare
386ccf3 to
514bb37
Compare
73fb859 to
11214c3
Compare
[MIG] l10n_br_stock_account: Method expect CR [MIG] l10n_br_stock_account: Method paramenters [MIG]l10n_br_stock_account:Field quantity_done del [MIG]l10n_br_stock_account: Field now compute type [MIG] l10n_br_stock_account: Adapt View [MIG] l10n_br_stock_account: Remove Mig Scripts
…ding on partner_id/quantity while preserving ind_final
11214c3 to
312b34a
Compare
No description provided.