# -*- coding: utf-8 -*- from odoo import api, fields, models, _ from odoo.osv import expression from odoo.exceptions import ValidationError class AccountAnalyticTag(models.Model): """分析标签:原生分析标签扩展""" _inherit = 'account.analytic.tag' _description = '分析标签' name = fields.Char(string='Analytic Tag', index=True, required=True) color = fields.Integer('Color Index') active = fields.Boolean(default=True, help="Set active to false to hide the Analytic Tag without removing it.") active_analytic_distribution = fields.Boolean('Analytic Distribution') analytic_distribution_ids = fields.One2many('account.analytic.distribution', 'tag_id', string="Analytic Accounts") category_id = fields.Many2one('account.analytic.category', string='分析类别') company_id = fields.Many2one('res.company', string='Company') coding = fields.Char(string='编码') # =================== # 公用方法 # =================== @api.model def get_tags(self, ids): """模型方法:获取分析标签""" tags = self.search_read(fields=['id', 'name', 'category_id'], domain=[('id', 'in', ids)]) return tags class AccountAnalyticCategory(models.Model): _name = 'account.analytic.category' _description = '分析类别' name = fields.Char(string="名称", index=True, required=True) code = fields.Char(string='代码', index=True, required=True) company_id = fields.Many2one('res.company', string='公司') class AccountAnalyticLedger(models.Model): _inherit = 'account.analytic.account' _description = '分析账户' coding = fields.Char(string='编码')