Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
res.partner中的组按钮在odoo 10中不工作_Odoo_Odoo 10 - Fatal编程技术网

res.partner中的组按钮在odoo 10中不工作

res.partner中的组按钮在odoo 10中不工作,odoo,odoo-10,Odoo,Odoo 10,我想在继承的res.partner模型中添加一个group selection按钮和is_group boolean字段,但添加group按钮时,函数compute_company_type不起作用 我的代码是 class Partner(models.Model): _inherit = 'res.partner' company_type = fields.Selection(selection_add=[('group', 'Group')]) refered = fields.Many

我想在继承的res.partner模型中添加一个group selection按钮和is_group boolean字段,但添加group按钮时,函数compute_company_type不起作用 我的代码是

class Partner(models.Model):
_inherit = 'res.partner'

company_type = fields.Selection(selection_add=[('group', 'Group')])
refered = fields.Many2one('res.partner',string="Refered By")
import1 = fields.Float(string="Import")
temp_import = fields.Float(string="Temporary Import")
export = fields.Float(string="Export")
temp_export = fields.Float(string="Temporary Export")
transit = fields.Float(string="Transit")
group_id = fields.Many2one('res.group', string='Related Group', index=True)
is_group = fields.Boolean(string='Is a group', default=False)
is_company = fields.Boolean(string='Is a company', default=False)

@api.depends('is_company', 'is_group')
def _compute_company_type(self):
    for partner in self:
        if partner.is_group:
            partner.company_type = 'group'
        elif partner.is_company:
            partner.company_type = 'company'
        else:
            partner.company_type = 'person'

def _write_company_type(self):
    for partner1 in self:
        if partner1.company_type == 'group':
            partner1.is_group = partner1.company_type
        elif partner1.company_type == 'company':
            partner1.is_company = partner1.company_type
        else:
            partner1.company_type = 'person'   

@api.onchange('company_type')
def onchange_company_type(self):
    for partner in self:
        if partner.company_type == 'group':
            partner.is_group = (partner.company_type == 'group')
        elif partner.company_type == 'company':
            partner.is_company = (partner.company_type == 'company')
        else:
            partner.company_type = 'person'

我还需要一个公司类型按钮,即group,如果group按钮为TRUE,则需要相应地更改res.partner表单中的字段

如果要从res.partner重写_compute_company_type函数,则必须从res.partner继承自定义模型,如下所示:

from odoo.addons.base.res import res_partner as res_partner


class CRMLeadPropertyMulti(res_partner.Partner):
    _inherit = 'res.partner'
    ## Your Code ##
    @api.depends('is_company', 'is_group')
    def _compute_company_type(self):
        for partner in self:
            partner.company_type = 'company' if partner.is_company else 'group' if partner.is_group else 'person'

    @api.onchange('company_type')
    def onchange_company_type(self):
        self.is_company = (self.company_type == 'company')
        self.is_group = (self.company_type == 'group')
我认为最好将每个案例都设为假或真,如果是一个组或一家公司,那么如果一个为真,另一个为假,这样可以保证一致性。

您的字段是\u组是布尔值。我不知道您所说的if合作伙伴是什么意思。是\u组:

布尔字段只有两个值,它们为真或假。如果不检查是非,你就不会得到任何结果

试试真假,让我知道


感谢并提前问候。

计算公司类型是按钮功能吗?@TerrencePoe计算公司类型是res.partner.py中的计算功能,用于确定公司类型。我可以知道在公司类型选择中添加新选项组后会出现什么问题吗?@MitalVaghani我无法在res partner中选择组选项吗获取任何错误?Python正在检查if语句中的条件是否为true。所以他不需要特别提到布尔字段,正如@mihranthalhas所说的,我们不需要特别提到true或false。