changeset df7cddd187d8 in modules/account_stock_anglo_saxon:default
details: 
https://hg.tryton.org/modules/account_stock_anglo_saxon?cmd=changeset;node=df7cddd187d8
description:
        Use only 3 stock accounts

        This simplify the configuration and allow to update cost price without 
asking
        for accounting information.

        issue7273
        review262541002
diffstat:

 invoice.py                                                      |   9 +-
 stock.py                                                        |   2 +-
 tests/scenario_account_stock_anglo_saxon.rst                    |  38 ++++-----
 tests/scenario_account_stock_anglo_saxon_with_drop_shipment.rst |  36 ++++-----
 4 files changed, 38 insertions(+), 47 deletions(-)

diffs (215 lines):

diff -r 4b06f494f83f -r df7cddd187d8 invoice.py
--- a/invoice.py        Sat Dec 28 17:48:50 2019 +0100
+++ b/invoice.py        Wed Jan 08 14:36:45 2020 +0100
@@ -34,13 +34,11 @@
         if type_.startswith('in_'):
             move_line.debit = amount
             move_line.credit = Decimal('0.0')
-            account_type = type_[3:]
+            move_line.account = self.product.account_stock_in_used
         else:
             move_line.debit = Decimal('0.0')
             move_line.credit = amount
-            account_type = type_[4:]
-        move_line.account = getattr(self.product,
-                'account_stock_%s_used' % account_type)
+            move_line.account = self.product.account_stock_out_used
 
         result.append(move_line)
         debit, credit = move_line.debit, move_line.credit
@@ -113,7 +111,8 @@
             self.product, moves, abs(self.quantity), self.unit, type_)
         cost = self.invoice.company.currency.round(cost)
 
-        with Transaction().set_context(date=accounting_date):
+        with Transaction().set_context(
+                company=self.invoice.company.id, date=accounting_date):
             anglo_saxon_move_lines = self._get_anglo_saxon_move_lines(
                 cost, type_)
         result.extend(anglo_saxon_move_lines)
diff -r 4b06f494f83f -r df7cddd187d8 stock.py
--- a/stock.py  Sat Dec 28 17:48:50 2019 +0100
+++ b/stock.py  Wed Jan 08 14:36:45 2020 +0100
@@ -63,7 +63,7 @@
                 Decimal(str(self.quantity)) * (unit_price - cost_price))
             if self.company.currency.is_zero(amount):
                 return lines
-            account = self.product.account_stock_supplier_used
+            account = self.product.account_stock_in_used
             for move_line in lines:
                 if move_line.account == account:
                     break
diff -r 4b06f494f83f -r df7cddd187d8 
tests/scenario_account_stock_anglo_saxon.rst
--- a/tests/scenario_account_stock_anglo_saxon.rst      Sat Dec 28 17:48:50 
2019 +0100
+++ b/tests/scenario_account_stock_anglo_saxon.rst      Wed Jan 08 14:36:45 
2020 +0100
@@ -83,10 +83,8 @@
     >>> revenue = accounts['revenue']
     >>> expense = accounts['expense']
     >>> stock = accounts['stock']
-    >>> stock_customer = accounts['stock_customer']
-    >>> stock_lost_found = accounts['stock_lost_found']
-    >>> stock_production = accounts['stock_production']
-    >>> stock_supplier = accounts['stock_supplier']
+    >>> stock_in = accounts['stock_expense']
+    >>> stock_out, = stock_in.duplicate()
     >>> cogs = accounts['cogs']
 
 Create parties::
@@ -106,10 +104,8 @@
     >>> account_category.account_revenue = revenue
     >>> account_category.account_stock = stock
     >>> account_category.account_cogs = cogs
-    >>> account_category.account_stock_supplier = stock_supplier
-    >>> account_category.account_stock_customer = stock_customer
-    >>> account_category.account_stock_production = stock_production
-    >>> account_category.account_stock_lost_found = stock_lost_found
+    >>> account_category.account_stock_in = stock_in
+    >>> account_category.account_stock_out = stock_out
     >>> account_category.save()
 
 Create product::
@@ -176,11 +172,11 @@
     >>> shipment.click('done')
     >>> shipment.state
     'done'
-    >>> stock_supplier.reload()
+    >>> stock_in.reload()
     >>> stock.reload()
-    >>> stock_supplier.debit
+    >>> stock_in.debit
     Decimal('0.00')
-    >>> stock_supplier.credit
+    >>> stock_in.credit
     Decimal('46.00')
     >>> stock.reload()
     >>> stock.debit
@@ -217,10 +213,10 @@
     Decimal('44.00')
     >>> expense.credit
     Decimal('50.00')
-    >>> stock_supplier.reload()
-    >>> stock_supplier.debit
+    >>> stock_in.reload()
+    >>> stock_in.debit
     Decimal('46.00')
-    >>> stock_supplier.credit
+    >>> stock_in.credit
     Decimal('46.00')
 
 Sale 5 products::
@@ -255,10 +251,10 @@
     >>> shipment.click('done')
     >>> shipment.state
     'done'
-    >>> stock_customer.reload()
-    >>> stock_customer.debit
+    >>> stock_out.reload()
+    >>> stock_out.debit
     Decimal('28.00')
-    >>> stock_customer.credit
+    >>> stock_out.credit
     Decimal('0.00')
     >>> stock.reload()
     >>> stock.debit
@@ -283,10 +279,10 @@
     Decimal('0.00')
     >>> revenue.credit
     Decimal('50.00')
-    >>> stock_customer.reload()
-    >>> stock_customer.debit
+    >>> stock_out.reload()
+    >>> stock_out.debit
     Decimal('28.00')
-    >>> stock_customer.credit
+    >>> stock_out.credit
     Decimal('28.00')
     >>> cogs.reload()
     >>> cogs.debit
@@ -331,7 +327,7 @@
     >>> line_cogs, = (l for l in move.lines if l.account == cogs)
     >>> line_cogs.credit
     Decimal('5.00')
-    >>> line_stock, = (l for l in move.lines if l.account == stock_customer)
+    >>> line_stock, = (l for l in move.lines if l.account == stock_in)
     >>> line_stock.debit
     Decimal('5.00')
 
diff -r 4b06f494f83f -r df7cddd187d8 
tests/scenario_account_stock_anglo_saxon_with_drop_shipment.rst
--- a/tests/scenario_account_stock_anglo_saxon_with_drop_shipment.rst   Sat Dec 
28 17:48:50 2019 +0100
+++ b/tests/scenario_account_stock_anglo_saxon_with_drop_shipment.rst   Wed Jan 
08 14:36:45 2020 +0100
@@ -97,10 +97,8 @@
     >>> revenue = accounts['revenue']
     >>> expense = accounts['expense']
     >>> stock = accounts['stock']
-    >>> stock_customer = accounts['stock_customer']
-    >>> stock_lost_found = accounts['stock_lost_found']
-    >>> stock_production = accounts['stock_production']
-    >>> stock_supplier = accounts['stock_supplier']
+    >>> stock_in = accounts['stock_expense']
+    >>> stock_out, = stock_in.duplicate()
     >>> cogs = accounts['cogs']
 
 Create parties::
@@ -120,10 +118,8 @@
     >>> account_category.account_revenue = revenue
     >>> account_category.account_stock = stock
     >>> account_category.account_cogs = cogs
-    >>> account_category.account_stock_supplier = stock_supplier
-    >>> account_category.account_stock_customer = stock_customer
-    >>> account_category.account_stock_production = stock_production
-    >>> account_category.account_stock_lost_found = stock_lost_found
+    >>> account_category.account_stock_in = stock_in
+    >>> account_category.account_stock_out = stock_out
     >>> account_category.save()
 
 Create product::
@@ -203,15 +199,15 @@
     >>> shipment.click('done')
     >>> shipment.state
     'done'
-    >>> stock_supplier.reload()
-    >>> stock_supplier.debit
+    >>> stock_in.reload()
+    >>> stock_in.debit
     Decimal('0.00')
-    >>> stock_supplier.credit
+    >>> stock_in.credit
     Decimal('150.00')
-    >>> stock_customer.reload()
-    >>> stock_customer.debit
+    >>> stock_out.reload()
+    >>> stock_out.debit
     Decimal('150.00')
-    >>> stock_customer.credit
+    >>> stock_out.credit
     Decimal('0.00')
     >>> stock.reload()
     >>> stock.debit
@@ -239,10 +235,10 @@
     Decimal('150.00')
     >>> expense.credit
     Decimal('150.00')
-    >>> stock_supplier.reload()
-    >>> stock_supplier.debit
+    >>> stock_in.reload()
+    >>> stock_in.debit
     Decimal('150.00')
-    >>> stock_supplier.credit
+    >>> stock_in.credit
     Decimal('150.00')
 
 Open customer invoice::
@@ -264,10 +260,10 @@
     Decimal('0.00')
     >>> revenue.credit
     Decimal('500.00')
-    >>> stock_customer.reload()
-    >>> stock_customer.debit
+    >>> stock_out.reload()
+    >>> stock_out.debit
     Decimal('150.00')
-    >>> stock_customer.credit
+    >>> stock_out.credit
     Decimal('150.00')
     >>> cogs.reload()
     >>> cogs.debit

Reply via email to