Files
app-odoo/l10n_cn_standard_latest/models/account_account.py
ivanOffice 324986aea7 update desc
2023-08-10 17:46:06 +08:00

54 lines
2.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- coding: utf-8 -*-
# Created on 2018-11-28
# author: 欧度智能https://www.odooai.cn
# email: 300883@qq.com
# resource of odooai
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
# Odoo16在线用户手册长期更新
# https://www.odooai.cn/documentation/16.0/zh_CN/index.html
# Odoo16在线开发者手册长期更新
# https://www.odooai.cn/documentation/16.0/zh_CN/developer.html
# Odoo13在线用户手册长期更新
# https://www.odooai.cn/documentation/user/13.0/zh_CN/index.html
# Odoo13在线开发者手册长期更新
# https://www.odooai.cn/documentation/13.0/index.html
# Odoo在线中文用户手册长期更新
# https://www.odooai.cn/documentation/user/10.0/zh_CN/index.html
# Odoo10离线中文用户手册下载
# https://www.odooai.cn/odoo10_user_manual_document_offline/
# Odoo10离线开发手册下载-含python教程jquery参考Jinja2模板PostgresSQL参考odoo开发必备
# https://www.odooai.cn/odoo10_developer_document_offline/
# description:
from odoo import api, fields, models, _
from odoo.exceptions import UserError, ValidationError
class AccountAccount(models.Model):
_inherit = ['account.account']
_parent_name = "parent_id"
_parent_store = True
_parent_order = 'code'
# _rec_name = 'complete_name'
parent_id = fields.Many2one('account.account', 'Parent Chart', index=True, ondelete='cascade')
child_ids = fields.One2many('account.account', 'parent_id', 'Child Chart')
parent_path = fields.Char(index=True)
@api.model
def _search_new_account_code(self, company, digits, prefix):
# 分隔符,金蝶为 ".",用友为""注意odoo中一级科目现金默认定义是4位头银行是6位头
delimiter = '.'
for num in range(1, 100):
new_code = str(prefix.ljust(digits - 1, '0')) + delimiter + '%02d' % (num)
rec = self.search([('code', '=', new_code), ('company_id', '=', company.id)], limit=1)
if not rec:
return new_code
raise UserError(_('Cannot generate an unused account code.'))