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.

46 lines
1.7 KiB
Python

8 months ago
# -*- 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='编码')