Skip to content

[18.0][MIG] l10n _br_stock_account#4590

Open
rvalyi wants to merge 608 commits into
OCA:18.0from
akretion:18.0-mig-l10n_br_stock_account
Open

[18.0][MIG] l10n _br_stock_account#4590
rvalyi wants to merge 608 commits into
OCA:18.0from
akretion:18.0-mig-l10n_br_stock_account

Conversation

@rvalyi

@rvalyi rvalyi commented Jun 6, 2026

Copy link
Copy Markdown
Member

No description provided.

@OCA-git-bot OCA-git-bot added mod:l10n_br_account Module l10n_br_account mod:l10n_br_fiscal Module l10n_br_fiscal mod:l10n_br_stock_account Module l10n_br_stock_account mod:l10n_br_base Module l10n_br_base series:18.0 mod:l10n_br_stock Module l10n_br_stock labels Jun 6, 2026
@OCA-git-bot

Copy link
Copy Markdown
Contributor

Hi @renatonlima,
some modules you are maintaining are being modified, check this out!

@rvalyi
rvalyi force-pushed the 18.0-mig-l10n_br_stock_account branch from 9b352b9 to f90e9a3 Compare June 6, 2026 05:05
@OCA-git-bot OCA-git-bot removed mod:l10n_br_account Module l10n_br_account mod:l10n_br_base Module l10n_br_base labels Jun 6, 2026
@rvalyi
rvalyi force-pushed the 18.0-mig-l10n_br_stock_account branch 2 times, most recently from c28e0f6 to a7952ed Compare June 9, 2026 23:08
@rvalyi
rvalyi marked this pull request as draft June 11, 2026 03:50
@mbcosta

mbcosta commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

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 groups

A 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

@rvalyi
rvalyi force-pushed the 18.0-mig-l10n_br_stock_account branch from 460a1a9 to 453223b Compare June 19, 2026 02:12
@OCA-git-bot OCA-git-bot added the mod:l10n_br_account Module l10n_br_account label Jun 19, 2026
@rvalyi
rvalyi force-pushed the 18.0-mig-l10n_br_stock_account branch from 453223b to 4b3d631 Compare June 19, 2026 02:20
@rvalyi

rvalyi commented Jun 19, 2026

Copy link
Copy Markdown
Member Author

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.

@mbcosta

mbcosta commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

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?

@rvalyi

rvalyi commented Jun 19, 2026

Copy link
Copy Markdown
Member Author

@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.

@mbcosta
mbcosta force-pushed the 18.0-mig-l10n_br_stock_account branch from e413576 to 386ccf3 Compare June 22, 2026 22:33
@OCA-git-bot OCA-git-bot removed the mod:l10n_br_account Module l10n_br_account label Jun 22, 2026
@rvalyi
rvalyi force-pushed the 18.0-mig-l10n_br_stock_account branch from 386ccf3 to 514bb37 Compare June 25, 2026 22:30
@rvalyi
rvalyi force-pushed the 18.0-mig-l10n_br_stock_account branch 2 times, most recently from 73fb859 to 11214c3 Compare July 15, 2026 14:06
@rvalyi
rvalyi marked this pull request as ready for review July 15, 2026 14:30
OCA-git-bot and others added 29 commits July 25, 2026 22:06
[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
@rvalyi
rvalyi force-pushed the 18.0-mig-l10n_br_stock_account branch from 11214c3 to 312b34a Compare July 26, 2026 01:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

mod:l10n_br_fiscal Module l10n_br_fiscal mod:l10n_br_stock_account Module l10n_br_stock_account mod:l10n_br_stock Module l10n_br_stock series:18.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.