2017-11-22 2 views
2

in account.analytic.lines 필드 번호가 있습니다. 모든 프로젝트에는 numer 필드가 있습니다. 목표는 행의 숫자 필드에 입력 할 때 행에있는 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} 

답변

2

이 시도 :

@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 _ 
+0

당신이 사용자에 대한 경고 메시지를 추가 할 수 있습니다 내 편집을 확인 – Cherif

관련 문제