diff --git a/l10n_br_purchase_stock/README.rst b/l10n_br_purchase_stock/README.rst index b10aa9d67d09..0818c28d3bd5 100644 --- a/l10n_br_purchase_stock/README.rst +++ b/l10n_br_purchase_stock/README.rst @@ -17,22 +17,42 @@ Brazilian Localization Purchase Stock :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--brazil-lightgray.png?logo=github - :target: https://github.com/OCA/l10n-brazil/tree/14.0/l10n_br_purchase_stock + :target: https://github.com/OCA/l10n-brazil/tree/16.0/l10n_br_purchase_stock :alt: OCA/l10n-brazil .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/l10n-brazil-14-0/l10n-brazil-14-0-l10n_br_purchase_stock + :target: https://translation.odoo-community.org/projects/l10n-brazil-16-0/l10n-brazil-16-0-l10n_br_purchase_stock :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-brazil&target_branch=14.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-brazil&target_branch=16.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -This module extends the standard Odoo purchase module for Brazil, -specially when selling products with NFe's. - -It deals with the propagation of the fiscal operation and allow the creation -of Picking and Invoices generated by a Purchase Order. +O módulo estende o +`l10n_br_stock_account `__ +para ser usado em **Compras** incluindo a possibilidade de criar a +Fatura de um Pedido de Compra a partir da Ordem de Recebimento/Stock +Picking, ao definir a **Política de Faturamento de Compras** como: + +- **Pedido de Compra / Purchase Order**, mantém o comportamento padrão e + a criação da Fatura será feita a partir do **Pedido de + Compra/purchase.order** + +- **Ordem de Recebimento / Stock Picking**, desabilita a criação de + Faturas a partir do **Pedido de Compra** para os casos onde o 'Tipo do + Produto' é 'Produto', mas no caso de ser 'Serviço' ainda será possível + criar a partir do **Pedido de Compra** + +A implementação foi feita para que a Fatura criada a partir do +'stock.picking' seja a mais similar possível com a que é criada a partir +do 'purchase.order', e ao usar os métodos do módulo **purchase** para +obter os Dados usados na criação de uma nova Fatura isso também acaba +evitando a necessidade de 'glue modules' (pequenos módulos criados +apenas para evitar dependencias indiretas), então quando qualquer módulo +incluir um novo campo na Fatura criada a partir do Pedido de Compra esse +novo campo também deverá ser incluido na Fatura criada a partir do +'stock.picking', por exemplo o módulo +`account_payment_purchase `__. **Table of contents** @@ -42,23 +62,74 @@ of Picking and Invoices generated by a Purchase Order. Installation ============ -This module depends on: +O módulo depende do: -* l10n_br_purchase -* l10n_br_stock_account +- l10n_br_purchase +- l10n_br_stock_account Configuration ============= -No configuration required. +Defina a **Politica de Faturamento de Compras**, se a Fatura deverá ser +criada a partir do **Pedido de Compra/purchase.order** ou da **Ordem de +Recebimento/stock.picking** isso pode ser feito em: + +**Definições > Usuários e Empresas > Empresas** Selecione a Empresa, aba +**Fiscal** e depois na aba **Compras** + +ou + +**Compras > Configuração > Definições** Na seção **Faturamento** + +Usage +===== + +Se a **Política de Faturamento de Compras** estiver definida como +**Ordem de Recebimento/Stock Picking** é possível criar tanto uma Fatura +para uma Ordem de Recebimento quanto uma Fatura para diversas Ordens de +Recebimentos: + +- Caso uma Fatura para uma Ordem de Recebimento + +Na **Ordem de Recebimento**, referente ao **Pedido de Compra**, depois +de **Validar** essa Ordem deverá aparecer o botão **Criar Fatura** onde +ao clicar será possível criar a Fatura, nesse caso o campo **Grupo** +estará **Coleta**. + +- Caso uma Fatura para diversas Ordens de Recebimento + +Por estender o **l10n_br_stock_account** é possível criar uma **Fatura +Agrupada**, para isso é preciso ir na 'Visão Lista/Tree View' selecionar +as **Ordens de Recebimentos**, criadas a partir de diversos **Pedidos de +Compras** e que possuem o mesmo **Parceiro/Fornecedor**, clicar no botão +**Ação** em seguida **Criar rascunho das faturas** e no campo **Grupo** +selecionar **Parceiro** para assim criar apenas uma Fatura ou seja N +Pedidos de Compras com N Ordens de Recebimento de um mesmo Fornecedor +podem ter apenas uma Fatura/Documento Fiscal relacionado. + +Known issues / Roadmap +====================== + + Changelog ========= +16.0.1.0.0 (2025-01-22) +----------------------- + +- [MIG] Migração para a v16 + +14.0.1.0.0 (2022-09-16) +----------------------- + +- [MIG] Migração para a v14 + 12.0.1.0.0 (2020-04-27) -~~~~~~~~~~~~~~~~~~~~~~~ +----------------------- -* Split l10n_br_purchase module in two l10n_br_purchase and l10n_br_purchase_stock. +- [REF] Separado o módulo l10n_br_purchase em dois l10n_br_purchase e + l10n_br_purchase_stock. Bug Tracker =========== @@ -66,7 +137,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -74,25 +145,27 @@ Credits ======= Authors -~~~~~~~ +------- * Akretion Contributors -~~~~~~~~~~~~ +------------ + +- `Akretion `__: -* Renato Lima -* Magno Costa + - Renato Lima + - Magno Costa Other credits -~~~~~~~~~~~~~ +------------- The development of this module has been financially supported by: -* AKRETION LTDA - www.akretion.com +- AKRETION LTDA - `www.akretion.com `__ Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -115,6 +188,6 @@ Current `maintainers `__: |maintainer-renatonlima| |maintainer-mbcosta| -This module is part of the `OCA/l10n-brazil `_ project on GitHub. +This module is part of the `OCA/l10n-brazil `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/l10n_br_purchase_stock/__manifest__.py b/l10n_br_purchase_stock/__manifest__.py index c422856b0aa1..45ccfb7e75e1 100644 --- a/l10n_br_purchase_stock/__manifest__.py +++ b/l10n_br_purchase_stock/__manifest__.py @@ -8,7 +8,7 @@ "author": "Akretion, Odoo Community Association (OCA)", "maintainers": ["renatonlima", "mbcosta"], "website": "https://github.com/OCA/l10n-brazil", - "version": "14.0.3.2.0", + "version": "16.0.1.0.0", "depends": [ "l10n_br_purchase", "l10n_br_stock_account", diff --git a/l10n_br_purchase_stock/migrations/14.0.2.0.0/pre-migration.py b/l10n_br_purchase_stock/migrations/14.0.2.0.0/pre-migration.py deleted file mode 100644 index ef93feac4ca3..000000000000 --- a/l10n_br_purchase_stock/migrations/14.0.2.0.0/pre-migration.py +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright (C) 2024-Today - Akretion (). -# @author Magno Costa -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from openupgradelib import openupgrade - -_column_renames = { - "res_company": [ - ("purchase_create_invoice_policy", "purchase_invoicing_policy"), - ], -} - - -@openupgrade.migrate(use_env=True) -def migrate(env, version): - openupgrade.rename_columns(env.cr, _column_renames) diff --git a/l10n_br_purchase_stock/models/purchase_order.py b/l10n_br_purchase_stock/models/purchase_order.py index 3b1c667bee08..5101527ab2a6 100644 --- a/l10n_br_purchase_stock/models/purchase_order.py +++ b/l10n_br_purchase_stock/models/purchase_order.py @@ -48,5 +48,4 @@ def _prepare_picking(self): values["fiscal_operation_id"] = False if self.company_id.purchase_invoicing_policy == "stock_picking": values["invoice_state"] = "2binvoiced" - return values diff --git a/l10n_br_purchase_stock/pyproject.toml b/l10n_br_purchase_stock/pyproject.toml new file mode 100644 index 000000000000..4231d0cccb3d --- /dev/null +++ b/l10n_br_purchase_stock/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/l10n_br_purchase_stock/readme/CONFIGURE.md b/l10n_br_purchase_stock/readme/CONFIGURE.md new file mode 100644 index 000000000000..8e383fe2ae35 --- /dev/null +++ b/l10n_br_purchase_stock/readme/CONFIGURE.md @@ -0,0 +1,10 @@ +Defina a **Politica de Faturamento de Compras**, se a Fatura deverá ser criada a partir do **Pedido de Compra/purchase.order** ou da **Ordem de Recebimento/stock.picking** +isso pode ser feito em: + +**Definições > Usuários e Empresas > Empresas** +Selecione a Empresa, aba **Fiscal** e depois na aba **Compras** + +ou + +**Compras > Configuração > Definições** +Na seção **Faturamento** diff --git a/l10n_br_purchase_stock/readme/CONFIGURE.rst b/l10n_br_purchase_stock/readme/CONFIGURE.rst deleted file mode 100644 index e7dc235973ab..000000000000 --- a/l10n_br_purchase_stock/readme/CONFIGURE.rst +++ /dev/null @@ -1 +0,0 @@ -No configuration required. diff --git a/l10n_br_purchase_stock/readme/CONTRIBUTORS.md b/l10n_br_purchase_stock/readme/CONTRIBUTORS.md new file mode 100644 index 000000000000..bba4146b5ca0 --- /dev/null +++ b/l10n_br_purchase_stock/readme/CONTRIBUTORS.md @@ -0,0 +1,3 @@ +- [Akretion](https://www.akretion.com/pt-BR): + - Renato Lima \<\> + - Magno Costa \<\> diff --git a/l10n_br_purchase_stock/readme/CONTRIBUTORS.rst b/l10n_br_purchase_stock/readme/CONTRIBUTORS.rst deleted file mode 100644 index a89a7c85a532..000000000000 --- a/l10n_br_purchase_stock/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,2 +0,0 @@ -* Renato Lima -* Magno Costa diff --git a/l10n_br_purchase_stock/readme/CREDITS.rst b/l10n_br_purchase_stock/readme/CREDITS.md similarity index 65% rename from l10n_br_purchase_stock/readme/CREDITS.rst rename to l10n_br_purchase_stock/readme/CREDITS.md index 6f3f0d5e1b6c..b9eb4c0c361d 100644 --- a/l10n_br_purchase_stock/readme/CREDITS.rst +++ b/l10n_br_purchase_stock/readme/CREDITS.md @@ -1,3 +1,3 @@ The development of this module has been financially supported by: -* AKRETION LTDA - www.akretion.com +- AKRETION LTDA - www.akretion.com diff --git a/l10n_br_purchase_stock/readme/DESCRIPTION.md b/l10n_br_purchase_stock/readme/DESCRIPTION.md new file mode 100644 index 000000000000..49b877931e63 --- /dev/null +++ b/l10n_br_purchase_stock/readme/DESCRIPTION.md @@ -0,0 +1,7 @@ +O módulo estende o [l10n_br_stock_account](https://github.com/OCA/l10n-brazil/tree/16.0/l10n_br_stock_account) para ser usado em **Compras** incluindo a possibilidade de criar a Fatura de um Pedido de Compra a partir da Ordem de Recebimento/Stock Picking, ao definir a **Política de Faturamento de Compras** como: + +* **Pedido de Compra / Purchase Order**, mantém o comportamento padrão e a criação da Fatura será feita a partir do **Pedido de Compra/purchase.order** + +* **Ordem de Recebimento / Stock Picking**, desabilita a criação de Faturas a partir do **Pedido de Compra** para os casos onde o 'Tipo do Produto' é 'Produto', mas no caso de ser 'Serviço' ainda será possível criar a partir do **Pedido de Compra** + +A implementação foi feita para que a Fatura criada a partir do 'stock.picking' seja a mais similar possível com a que é criada a partir do 'purchase.order', e ao usar os métodos do módulo **purchase** para obter os Dados usados na criação de uma nova Fatura isso também acaba evitando a necessidade de 'glue modules' (pequenos módulos criados apenas para evitar dependencias indiretas), então quando qualquer módulo incluir um novo campo na Fatura criada a partir do Pedido de Compra esse novo campo também deverá ser incluido na Fatura criada a partir do 'stock.picking', por exemplo o módulo [account_payment_purchase](https://github.com/OCA/bank-payment/tree/16.0/account_payment_purchase). diff --git a/l10n_br_purchase_stock/readme/DESCRIPTION.rst b/l10n_br_purchase_stock/readme/DESCRIPTION.rst deleted file mode 100644 index a072e8fbebcf..000000000000 --- a/l10n_br_purchase_stock/readme/DESCRIPTION.rst +++ /dev/null @@ -1,5 +0,0 @@ -This module extends the standard Odoo purchase module for Brazil, -specially when selling products with NFe's. - -It deals with the propagation of the fiscal operation and allow the creation -of Picking and Invoices generated by a Purchase Order. diff --git a/l10n_br_purchase_stock/readme/HISTORY.md b/l10n_br_purchase_stock/readme/HISTORY.md new file mode 100644 index 000000000000..ba06de28c97e --- /dev/null +++ b/l10n_br_purchase_stock/readme/HISTORY.md @@ -0,0 +1,12 @@ +## 16.0.1.0.0 (2025-01-22) + +- \[MIG\] Migração para a v16 + +## 14.0.1.0.0 (2022-09-16) + +- \[MIG\] Migração para a v14 + +## 12.0.1.0.0 (2020-04-27) + +- \[REF\] Separado o módulo l10n_br_purchase em dois l10n_br_purchase e + l10n_br_purchase_stock. diff --git a/l10n_br_purchase_stock/readme/HISTORY.rst b/l10n_br_purchase_stock/readme/HISTORY.rst deleted file mode 100644 index 2550b12d6ecf..000000000000 --- a/l10n_br_purchase_stock/readme/HISTORY.rst +++ /dev/null @@ -1,4 +0,0 @@ -12.0.1.0.0 (2020-04-27) -~~~~~~~~~~~~~~~~~~~~~~~ - -* Split l10n_br_purchase module in two l10n_br_purchase and l10n_br_purchase_stock. diff --git a/l10n_br_purchase_stock/readme/INSTALL.md b/l10n_br_purchase_stock/readme/INSTALL.md new file mode 100644 index 000000000000..cfbb1f3f798e --- /dev/null +++ b/l10n_br_purchase_stock/readme/INSTALL.md @@ -0,0 +1,4 @@ +O módulo depende do: + +- l10n_br_purchase +- l10n_br_stock_account diff --git a/l10n_br_purchase_stock/readme/INSTALL.rst b/l10n_br_purchase_stock/readme/INSTALL.rst deleted file mode 100644 index 49d063be17fd..000000000000 --- a/l10n_br_purchase_stock/readme/INSTALL.rst +++ /dev/null @@ -1,4 +0,0 @@ -This module depends on: - -* l10n_br_purchase -* l10n_br_stock_account diff --git a/l10n_br_purchase_stock/readme/ROADMAP.md b/l10n_br_purchase_stock/readme/ROADMAP.md new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/l10n_br_purchase_stock/readme/ROADMAP.md @@ -0,0 +1 @@ + diff --git a/l10n_br_purchase_stock/readme/ROADMAP.rst b/l10n_br_purchase_stock/readme/ROADMAP.rst deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/l10n_br_purchase_stock/readme/USAGE.md b/l10n_br_purchase_stock/readme/USAGE.md new file mode 100644 index 000000000000..17a14eb841b3 --- /dev/null +++ b/l10n_br_purchase_stock/readme/USAGE.md @@ -0,0 +1,9 @@ +Se a **Política de Faturamento de Compras** estiver definida como **Ordem de Recebimento/Stock Picking** é possível criar tanto uma Fatura para uma Ordem de Recebimento quanto uma Fatura para diversas Ordens de Recebimentos: + +* Caso uma Fatura para uma Ordem de Recebimento + +Na **Ordem de Recebimento**, referente ao **Pedido de Compra**, depois de **Validar** essa Ordem deverá aparecer o botão **Criar Fatura** onde ao clicar será possível criar a Fatura, nesse caso o campo **Grupo** estará **Coleta**. + +* Caso uma Fatura para diversas Ordens de Recebimento + +Por estender o **l10n_br_stock_account** é possível criar uma **Fatura Agrupada**, para isso é preciso ir na 'Visão Lista/Tree View' selecionar as **Ordens de Recebimentos**, criadas a partir de diversos **Pedidos de Compras** e que possuem o mesmo **Parceiro/Fornecedor**, clicar no botão **Ação** em seguida **Criar rascunho das faturas** e no campo **Grupo** selecionar **Parceiro** para assim criar apenas uma Fatura ou seja N Pedidos de Compras com N Ordens de Recebimento de um mesmo Fornecedor podem ter apenas uma Fatura/Documento Fiscal relacionado. diff --git a/l10n_br_purchase_stock/readme/USAGE.rst b/l10n_br_purchase_stock/readme/USAGE.rst deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/l10n_br_purchase_stock/static/description/index.html b/l10n_br_purchase_stock/static/description/index.html index aeb0a9b4d0fb..48d88e52498f 100644 --- a/l10n_br_purchase_stock/static/description/index.html +++ b/l10n_br_purchase_stock/static/description/index.html @@ -369,33 +369,57 @@

Brazilian Localization Purchase Stock

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:6b8a3d1ec5a68c3c9dde7b00462bd37b3236e4cf733c65001c6537ce5272020f !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/l10n-brazil Translate me on Weblate Try me on Runboat

-

This module extends the standard Odoo purchase module for Brazil, -specially when selling products with NFe’s.

-

It deals with the propagation of the fiscal operation and allow the creation -of Picking and Invoices generated by a Purchase Order.

+

Beta License: AGPL-3 OCA/l10n-brazil Translate me on Weblate Try me on Runboat

+

O módulo estende o +l10n_br_stock_account +para ser usado em Compras incluindo a possibilidade de criar a +Fatura de um Pedido de Compra a partir da Ordem de Recebimento/Stock +Picking, ao definir a Política de Faturamento de Compras como:

+
    +
  • Pedido de Compra / Purchase Order, mantém o comportamento padrão e +a criação da Fatura será feita a partir do Pedido de +Compra/purchase.order
  • +
  • Ordem de Recebimento / Stock Picking, desabilita a criação de +Faturas a partir do Pedido de Compra para os casos onde o ‘Tipo do +Produto’ é ‘Produto’, mas no caso de ser ‘Serviço’ ainda será possível +criar a partir do Pedido de Compra
  • +
+

A implementação foi feita para que a Fatura criada a partir do +‘stock.picking’ seja a mais similar possível com a que é criada a partir +do ‘purchase.order’, e ao usar os métodos do módulo purchase para +obter os Dados usados na criação de uma nova Fatura isso também acaba +evitando a necessidade de ‘glue modules’ (pequenos módulos criados +apenas para evitar dependencias indiretas), então quando qualquer módulo +incluir um novo campo na Fatura criada a partir do Pedido de Compra esse +novo campo também deverá ser incluido na Fatura criada a partir do +‘stock.picking’, por exemplo o módulo +account_payment_purchase.

Table of contents

Installation

-

This module depends on:

+

O módulo depende do:

  • l10n_br_purchase
  • l10n_br_stock_account
  • @@ -403,49 +427,99 @@

    Installation

Configuration

-

No configuration required.

+

Defina a Politica de Faturamento de Compras, se a Fatura deverá ser +criada a partir do Pedido de Compra/purchase.order ou da Ordem de +Recebimento/stock.picking isso pode ser feito em:

+

Definições > Usuários e Empresas > Empresas Selecione a Empresa, aba +Fiscal e depois na aba Compras

+

ou

+

Compras > Configuração > Definições Na seção Faturamento

+
+
+

Usage

+

Se a Política de Faturamento de Compras estiver definida como +Ordem de Recebimento/Stock Picking é possível criar tanto uma Fatura +para uma Ordem de Recebimento quanto uma Fatura para diversas Ordens de +Recebimentos:

+
    +
  • Caso uma Fatura para uma Ordem de Recebimento
  • +
+

Na Ordem de Recebimento, referente ao Pedido de Compra, depois +de Validar essa Ordem deverá aparecer o botão Criar Fatura onde +ao clicar será possível criar a Fatura, nesse caso o campo Grupo +estará Coleta.

+
    +
  • Caso uma Fatura para diversas Ordens de Recebimento
  • +
+

Por estender o l10n_br_stock_account é possível criar uma Fatura +Agrupada, para isso é preciso ir na ‘Visão Lista/Tree View’ selecionar +as Ordens de Recebimentos, criadas a partir de diversos Pedidos de +Compras e que possuem o mesmo Parceiro/Fornecedor, clicar no botão +Ação em seguida Criar rascunho das faturas e no campo Grupo +selecionar Parceiro para assim criar apenas uma Fatura ou seja N +Pedidos de Compras com N Ordens de Recebimento de um mesmo Fornecedor +podem ter apenas uma Fatura/Documento Fiscal relacionado.

+
+
-

Changelog

+

Changelog

-

12.0.1.0.0 (2020-04-27)

+

16.0.1.0.0 (2025-01-22)

    -
  • Split l10n_br_purchase module in two l10n_br_purchase and l10n_br_purchase_stock.
  • +
  • [MIG] Migração para a v16
  • +
+
+
+

14.0.1.0.0 (2022-09-16)

+
    +
  • [MIG] Migração para a v14
  • +
+
+
+

12.0.1.0.0 (2020-04-27)

+
    +
  • [REF] Separado o módulo l10n_br_purchase em dois l10n_br_purchase e +l10n_br_purchase_stock.
-

Bug Tracker

+

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

+feedback.

Do not contact contributors directly about support or help with technical issues.

-

Credits

+

Credits

-

Authors

+

Authors

  • Akretion
-

Other credits

+

Other credits

The development of this module has been financially supported by:

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -455,7 +529,7 @@

Maintainers

promote its widespread use.

Current maintainers:

renatonlima mbcosta

-

This module is part of the OCA/l10n-brazil project on GitHub.

+

This module is part of the OCA/l10n-brazil project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

diff --git a/l10n_br_purchase_stock/tests/test_l10n_br_purchase_stock.py b/l10n_br_purchase_stock/tests/test_l10n_br_purchase_stock.py index fc3932a2fd18..56928826248c 100644 --- a/l10n_br_purchase_stock/tests/test_l10n_br_purchase_stock.py +++ b/l10n_br_purchase_stock/tests/test_l10n_br_purchase_stock.py @@ -106,7 +106,7 @@ def test_grouping_pickings(self): self.assertTrue( picking_devolution.fiscal_operation_id, "Missing Fiscal Operation." ) - for line in picking_devolution.move_lines: + for line in picking_devolution.move_ids: self.assertEqual(line.invoice_state, "2binvoiced") # Valida presença dos campos principais para o mapeamento Fiscal self.assertTrue(line.fiscal_operation_id, "Missing Fiscal Operation.") @@ -247,9 +247,13 @@ def test_compatible_with_international_case(self): """Test of compatible with international case or without Fiscal Operation, create Invoice but not for Brazil.""" po_international = self.env.ref("purchase.purchase_order_2") + po_international.fiscal_operation_id = False po_international.with_context(tracking_disable=True).button_confirm() picking = po_international.picking_ids + # Método onchange_invoice_state acaba trazendo a 'Operação Fiscal Padrão' + picking.fiscal_operation_id = False self.picking_move_state(picking) + picking.fiscal_operation_id = False self.assertEqual(picking.state, "done") invoice = self.create_invoice_wizard(picking) invoice.action_post() @@ -261,6 +265,8 @@ def test_compatible_with_international_case(self): ) # Teste Retorno picking_devolution = self.return_picking_wizard(picking) + self.picking_move_state(picking_devolution) + picking_devolution.fiscal_operation_id = False invoice_devolution = self.create_invoice_wizard(picking_devolution) self.assertFalse( invoice_devolution.fiscal_document_id, diff --git a/l10n_br_purchase_stock/tests/test_stock_rule.py b/l10n_br_purchase_stock/tests/test_stock_rule.py index a31073790a04..f073c95c76a0 100644 --- a/l10n_br_purchase_stock/tests/test_stock_rule.py +++ b/l10n_br_purchase_stock/tests/test_stock_rule.py @@ -52,7 +52,7 @@ def test_stock_rule_purchase(self): self.assertTrue( picking.fiscal_operation_id, "Missing Fiscal Operation in Picking." ) - for line in picking.move_lines: + for line in picking.move_ids: self.assertEqual(line.invoice_state, "2binvoiced") # Valida presença dos campos principais para o mapeamento Fiscal line._onchange_fiscal_operation_id() diff --git a/l10n_br_purchase_stock/wizards/stock_invocing_onshipping.py b/l10n_br_purchase_stock/wizards/stock_invocing_onshipping.py index 491d19ffffe4..5eb362d428f2 100644 --- a/l10n_br_purchase_stock/wizards/stock_invocing_onshipping.py +++ b/l10n_br_purchase_stock/wizards/stock_invocing_onshipping.py @@ -118,34 +118,37 @@ def _get_invoice_line_values(self, moves, invoice_values, invoice): # vem somente um registro purchase_moves = moves.filtered(lambda ln: ln.purchase_line_id) if purchase_moves: - purchase_line = purchase_moves.purchase_line_id # Campos informados em qualquer caso + purchase_line = purchase_moves.purchase_line_id values["purchase_line_id"] = purchase_line.id - values["analytic_account_id"] = purchase_line.account_analytic_id.id - values["analytic_tag_ids"] = [(6, 0, purchase_line.analytic_tag_ids.ids)] + # Same make above, get fields informed in + # original of Purchase Line dict: + purchase_line_values = purchase_line._prepare_account_move_line() + values["analytic_distribution"] = purchase_line_values.get( + "analytic_distribution" + ) # Refund case don't get values from Purchase Line Dict # TODO: Should get any value? if self._get_invoice_type() != "in_refund": - # Same make above, get fields informed in - # original of Purchase Line dict: - purchase_line_values = purchase_line._prepare_account_move_line() - # Fields to get: - # "display_type": self.display_type, + # "display_type": self.display_type or 'product' # "sequence": self.sequence, + # * 'N field' included in _prepare_account_move_line method + # by another module # Fields to remove: vals_to_remove = { + # Fields from Move has priority "name", "product_id", "product_uom_id", "quantity", "price_unit", "tax_ids", - "analytic_account_id", - "analytic_tag_ids", + # Already get "purchase_line_id", + "anlytic_distribution", # another fields "__last_update", "display_name",