Skip to content

Commit

Permalink
[MIG] l10n_br_sale_stock: Migration to 16.0
Browse files Browse the repository at this point in the history
  • Loading branch information
antoniospneto authored and mbcosta committed Jan 29, 2025
1 parent c0e1461 commit 2a701ac
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 3 deletions.
2 changes: 1 addition & 1 deletion l10n_br_sale_stock/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"license": "AGPL-3",
"author": "Akretion, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/l10n-brazil",
"version": "15.0.1.0.0",
"version": "16.0.1.0.0",
"development_status": "Beta",
"maintainers": ["renatonlima", "mbcosta"],
"depends": [
Expand Down
4 changes: 2 additions & 2 deletions l10n_br_sale_stock/tests/test_sale_stock.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ def test_02_sale_stock_return(self):
stock_picking = self.so.picking_ids

# compare sale.order.line with stock.move
stock_move = stock_picking.move_lines
stock_move = stock_picking.move_ids
sale_order_line = self.so.order_line

sm_fields = [key for key in self.env["stock.move"]._fields.keys()]
Expand Down Expand Up @@ -249,7 +249,7 @@ def test_picking_sale_order_product_and_service(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.")
Expand Down
33 changes: 33 additions & 0 deletions l10n_br_sale_stock/wizards/stock_invoice_onshipping.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,36 @@ def _build_invoice_values_from_pickings(self, pickings):
)

return invoice, values

def _get_invoice_line_values(self, moves, invoice_values, invoice):
"""
Create invoice line values from given moves
:param moves: stock.move
:param invoice: account.invoice
:return: dict
"""

values = super()._get_invoice_line_values(moves, invoice_values, invoice)
# Devido ao KEY com sale_line_id aqui
# vem somente um registro
# Caso venha apenas uma linha porem sem
# sale_line_id é preciso ignora-la
if len(moves) != 1 or not moves.sale_line_id:
return values

sale_line_id = moves.sale_line_id
values["sale_line_ids"] = [(6, 0, sale_line_id.ids)]
sale_line_id = moves.sale_line_id
analytic_account_id = sale_line_id.order_id.analytic_account_id.id
if sale_line_id.analytic_distribution and not sale_line_id.display_type:
values["analytic_distribution"] = sale_line_id.analytic_distribution
if analytic_account_id and not sale_line_id.display_type:
analytic_account_id = str(analytic_account_id)
if "analytic_distribution" in values:
values["analytic_distribution"][analytic_account_id] = (
values["analytic_distribution"].get(analytic_account_id, 0) + 100
)
else:
values["analytic_distribution"] = {analytic_account_id: 100}

return values

0 comments on commit 2a701ac

Please sign in to comment.