You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.5 KiB
Python

8 months ago
# -*- coding: utf-8 -*-
from odoo import api, models, fields
from odoo.exceptions import UserError, MissingError
class QuickAddWizard(models.TransientModel):
"""快捷添加分析标签分析账户"""
_name = 'quick.add.wizard'
_description = '快速添加分析账户分析标签'
# 关系字段
account_move_id = fields.Many2one('account.move', string='发票凭证主表')
analytic_account_id = fields.Many2one('account.analytic.account', string='分析账户')
analytic_tag_ids = fields.Many2many('account.analytic.tag', string='分析标签')
def confirm(self):
"""
确认添加 分析账户 分析标签
:return:
"""
self.ensure_one()
for line in self.account_move_id.invoice_line_ids:
if line.account_id.label_bool:
line.update({
'analytic_tag_ids': [(6, 0, self.analytic_tag_ids.ids)],
})
if line.account_id.analysis_bool:
line.update({
'analytic_account_id': self.analytic_account_id,
})
for line_tow in self.account_move_id.line_ids:
if line_tow.account_id.label_bool:
line_tow.update({
'analytic_tag_ids': [(6, 0, self.analytic_tag_ids.ids)],
})
if line_tow.account_id.analysis_bool:
line_tow.update({
'analytic_account_id': self.analytic_account_id,
})