odoo 正数和负数PO的日志

发布时间 2023-09-12 19:45:45作者: CrossPython

KEY:

\addons\stock_account\models\account_move.py

    def _post(self, soft=True):
        # OVERRIDE

        # Don't change anything on moves used to cancel another ones.
        if self._context.get('move_reverse_cancel'):
            return super()._post(soft)

        # Create correction layer if invoice price is different
        stock_valuation_layers = self.env['stock.valuation.layer'].sudo()
        valued_lines = self.env['account.move.line'].sudo()
        for invoice in self:
            if invoice.sudo().stock_valuation_layer_ids:
                continue
            if invoice.move_type in ('in_invoice', 'in_refund', 'in_receipt'):
                valued_lines |= invoice.invoice_line_ids.filtered(
                    lambda l: l.product_id and l.product_id.cost_method != 'standard')
        if valued_lines:
            stock_valuation_layers |= valued_lines._create_in_invoice_svl()

        for (product, company), dummy in groupby(stock_valuation_layers, key=lambda svl: (svl.product_id, svl.company_id)):
            product = product.with_company(company.id)
            if not float_is_zero(product.quantity_svl, precision_rounding=product.uom_id.rounding):
                product.sudo().with_context(disable_auto_svl=True).write({'standard_price': product.value_svl / product.quantity_svl})

        print('account move : _post,  if stock_valuation_layers  KEYKEYKEYKEYKEYKEYKEYKEYKEYKEYKEYKEYKEYKEYKEYKEY')
        if stock_valuation_layers:
            print('走了 _validate_accounting_entries')
            stock_valuation_layers._validate_accounting_entries()
        else:
            print('没走 _validate_accounting_entries')
        # Create additional COGS lines for customer invoices.
        self.env['account.move.line'].create(self._stock_account_prepare_anglo_saxon_out_lines_vals())

        # Post entries.
        posted = super()._post(soft)

        # The invoice reference is set during the super call
        for layer in stock_valuation_layers:
            description = f"{layer.account_move_line_id.move_id.display_name} - {layer.product_id.display_name}"
            layer.description = description
            layer.account_move_id.ref = description
            layer.account_move_id.line_ids.write({'name': description})

        # Reconcile COGS lines in case of anglo-saxon accounting with perpetual valuation.
        posted._stock_account_anglo_saxon_reconcile_valuation()
        return posted

  

 

 

 

正常, 走_validate_accounting_entries

action_post 10
action_post 20
action_post 45
action_post 50
other_moves account.move(468,)
2023-09-12 11:31:30,927 7364 INFO odooshequ werkzeug: 127.0.0.1 - - [12/Sep/2023 11:31:30] "POST /mail/thread/messages HTTP/1.1" 200 - 32 0.061 0.020
2023-09-12 11:31:31,013 7364 INFO odooshequ werkzeug: 127.0.0.1 - - [12/Sep/2023 11:31:31] "POST /mail/thread/data HTTP/1.1" 200 - 35 0.080 0.082
_validate_accounting_entries nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
svl  =>  stock.valuation.layer(343,) svl.value 4.0
_account_entry_move 222222222222222222222222222222222222222222222222222
_prepare_account_move_vals mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
_prepare_account_move_line, 333333333333333333333333333333333333333333333333333333333333333333333
_generate_valuation_lines_data  0000000000000000000000000000000000000000
This method returns a dictionary to provide an easy extension hook to modify the valuation lines (see purchase for an example)
_validate_accounting_entries 10
am_vals [{'journal_id': 6, 'line_ids': [(0, 0, {'name': '/ - 气缸体', 'product_id': 6, 'quantity': 0.0, 'product_uom_id': 1, 'ref': '/ - 气缸体', 'partner_id': 3, 'balance': -4.0, 'account_id': 85}), (0, 0, {'name': '/ - 气缸体', 'product_id': 6, 'quantity': 0.0, 'product_uom_id': 1, 'ref': '/ - 气缸体', 'partner_id': 3, 'balance': 4.0, 'account_id': 30})], 'partner_id': 3, 'date': datetime.date(2023, 9, 12), 'ref': '/ - 气缸体', 'stock_move_id': 246, 'stock_valuation_layer_ids': [(6, None, [343])], 'move_type': 'entry'}]
account move create values [{'journal_id': 6, 'line_ids': [(0, 0, {'name': '/ - 气缸体', 'product_id': 6, 'quantity': 0.0, 'product_uom_id': 1, 'ref': '/ - 气缸体', 'partner_id': 3, 'balance': -4.0, 'account_id': 85}), (0, 0, {'name': '/ - 气缸体', 'product_id': 6, 'quantity': 0.0, 'product_uom_id': 1, 'ref': '/ - 气缸体', 'partner_id': 3, 'balance': 4.0, 'account_id': 30})], 'partner_id': 3, 'date': datetime.date(2023, 9, 12), 'ref': '/ - 气缸体', 'stock_move_id': 246, 'stock_valuation_layer_ids': [(6, None, [343])], 'move_type': 'entry'}]
account move line = 修改后 line.debit 0.0 line.credit 4.0 line.balance -4.0
account move line = 修改后 line.debit 4.0 line.credit 0.0 line.balance 4.0
account move write vals {'tax_country_id': 233}
account move line = 修改后 line.debit 0.0 line.credit 4.0 line.balance -4.0
account move line = 修改后 line.debit 4.0 line.credit 0.0 line.balance 4.0
_compute_payment_state 0000000000000000000000000000000000
to post 10.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post 30.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post 40.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post 50.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
account move write vals {'state': 'posted', 'posted_before': True}
account move line = 修改后 line.debit 0.0 line.credit 4.0 line.balance -4.0
account move line = 修改后 line.debit 4.0 line.credit 0.0 line.balance 4.0
to post 60.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post 70.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post 80.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post .mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
_validate_accounting_entries 30
_validate_accounting_entries 40
to post 10.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post 20.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post 30.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post 40.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
_compute_payment_state 0000000000000000000000000000000000
account move write vals {'sequence_prefix': 'STJ/2023/09/'}
account move line = 修改后 line.debit 0.0 line.credit 4.0 line.balance -4.0
account move line = 修改后 line.debit 4.0 line.credit 0.0 line.balance 4.0
account move write vals {'sequence_number': 12}
account move line = 修改后 line.debit 0.0 line.credit 4.0 line.balance -4.0
account move line = 修改后 line.debit 4.0 line.credit 0.0 line.balance 4.0
to post 50.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
account move write vals {'state': 'posted', 'posted_before': True}
account move write vals {'needed_terms_dirty': False}
write account move line vals {'compute_all_tax_dirty': False}
write account move line vals {'balance': 104.0}
write account move line vals {'epd_dirty': False}
write account move line vals {'balance': 104.0}
write account move line vals {'balance': 104.0}
account move line = 修改后 line.debit 104.0 line.credit 0.0 line.balance 104.0
account move line = 修改后 line.debit 13.52 line.credit 0.0 line.balance 13.52
account move line = 修改后 line.debit 0.0 line.credit 117.52 line.balance -117.52
to post 60.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post 70.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post 80.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post .mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
_compute_payment_state 0000000000000000000000000000000000
account move write vals {'sequence_prefix': 'BILL/2023/09/'}
account move write vals {'needed_terms_dirty': False}
write account move line vals {'epd_dirty': False}
write account move line vals {'balance': 104.0}
write account move line vals {'balance': 104.0}
account move line = 修改后 line.debit 104.0 line.credit 0.0 line.balance 104.0
account move line = 修改后 line.debit 13.52 line.credit 0.0 line.balance 13.52
account move line = 修改后 line.debit 0.0 line.credit 117.52 line.balance -117.52
account move write vals {'sequence_number': 6}

  

 

负数

action_post 10
action_post 20
action_post 45
action_post 50
other_moves account.move(471,)
2023-09-12 11:33:26,692 9184 INFO odooshequ werkzeug: 127.0.0.1 - - [12/Sep/2023 11:33:26] "POST /mail/thread/messages HTTP/1.1" 200 - 32 0.055 0.084
2023-09-12 11:33:26,735 9184 INFO odooshequ werkzeug: 127.0.0.1 - - [12/Sep/2023 11:33:26] "POST /mail/thread/data HTTP/1.1" 200 - 35 0.095 0.084
to post 10.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post 20.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post 30.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post 40.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post 50.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
account move write vals {'state': 'posted', 'posted_before': True}
account move write vals {'needed_terms_dirty': False}
write account move line vals {'compute_all_tax_dirty': False}
write account move line vals {'balance': -520.0}
write account move line vals {'epd_dirty': False}
write account move line vals {'balance': -520.0}
write account move line vals {'balance': -520.0}
account move line = 修改后 line.debit -520.0 line.credit 0.0 line.balance -520.0
account move line = 修改后 line.debit -67.6 line.credit 0.0 line.balance -67.6
account move line = 修改后 line.debit 0.0 line.credit -587.6 line.balance 587.6
to post 60.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post 70.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post 80.mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
to post .mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
action_post 60
_compute_payment_state 0000000000000000000000000000000000