2016-10-20 1 views
0

Я хочу, когда я выбираю compte_id его «дебет» будет отображаться в поле с именем «montant_compt» account_id и дебетовых хранятся в «account_move_line» вы можете понять по коду:как получить дебетовую в account_move_line

1- я добавить два поля в моем классе

class AccountMove(models.Model): 
_name = 'account.move' 
_inherit = 'account.move' 
compte_id=fields.Many2one('account.account',string='Compte Budgétaire') 
montant_compt=fields.Char('Montant compte') 

2- этот шаг, чтобы получить дебит ACCOUNT_ID:

@api.multi 
def get_debit_account(self,compte_id): 
    montant = "" 
    for line in self.line_id : 
     if self.compte_id == line.account_id.id: 
      montant = line.debit 
      return {'value': {'montant_compt': montant}} 

3- в моем файле .xml

<field name="compte_id" on_change="get_debit_account(compte_id)"/> 

, но оно не работает, пожалуйста, помогите мне

ответ

1
  1. вам нужно удалить _name = 'account.move' Поскольку мы добавляем поле на существующие account.move объекта.

  2. line.debit магазин поплавок. Поэтому нам нужно объявить montant_compt полем как float.

  3. не нужно писать onchange со стороны xml. С новым api мы можем напрямую получить доступ через следующий код.

  4. account.move объект не line_id это line_ids

  5. Когда мы проверяем любое условие, удостоверьтесь, имеют одинаковый тип значения с правой стороны, а также с левой стороны , Например: вы написали: self.compte_id == line.account_id.id:, где правая сторона имеет целочисленное значение типа, а левая сторона имеет значение типа объекта просмотра.

Try с помощью следующего кода:

class AccountMove(models.Model): 
_inherit = 'account.move' 

compte_id=fields.Many2one('account.account',string='Compte Budgétaire') 
montant_compt=fields.Float('Montant compte') 

@api.onchange('compte_id') 
def onchance_compte_id(self): 
    for line in self.line_ids: 
     if self.compte_id == line.account_id: 
      self.montant_compt = line.debit 
      return 

Для получения более подробной информации Odoo ORM API Reference Documentation

 Смежные вопросы

  • Нет связанных вопросов^_^