odoo 正数和负数PO的日志
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