【问题标题】:Auto fill field自动填充字段
【发布时间】:2017-11-22 08:06:29
【问题描述】:

在 account.analytic.lines 我有字段编号。每个项目都有数字字段。 所以你的目标是当我在行中输入数字字段时自动填充行中的 project_id 字段。

class AccountAnalyticLine(models.Model):
    _inherit = 'account.analytic.line'

    number = fields.Integer(related='project_id.number',string='Project Number')

    @api.onchange('number')
    def get_project_id(self):
        v={}
        if self.number:
            project = self.env['project.project']
            if project.project_id.id:
                v['project'] = project.project_id and project.project_id.id or False
        return {'value': v}

【问题讨论】:

    标签: openerp odoo-8 odoo-9


    【解决方案1】:

    试试这个:

     @api.onchange('number')
     def get_project_id(self):
        # in new api no need for return and you can
        # affect change directly to self
        project = false
        if self.number:
            project_obj = self.env['project.project']
            # now search for project that have the same number
            porject = project_obj.search([('number', '=', self.number)], limit=1)
    
        self.project_id = project
        # if you want to show a warning when user fillup
        # the number field and there is no project found
        if not self.project_id and self.number:
            # number is not empty but there is no project with this number
            return {'warning': {
                            'title': _("Project Warning"),
                            'message': _('No project found with this number : %s ') % self.number
                        }}
    

    别忘了导入翻译工具:

    # 10.0
    from odoo.tools.translate import _
    

    【讨论】:

    • 检查我的编辑,您可能想为您的用户添加警告消息
    猜你喜欢
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多