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
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,
|
||
|
})
|
||
|
|
||
|
|