2016-02-21 84 views
0

我在Odoo一個one2many字段,我需要填充下列方法系列:Odoo 8 - one2many不填充結果

def add_lines(self, cr, uid, ids, context=None): 
     val = {'value': {'kh_lines_a1': [], 'kh_lines_a2': []}} 
     account_move_obj = self.pool.get('account.move') 
     line_ids = account_move_obj.search(cr, uid, [('vat_subject', '=', True)], context=context) 
     for line in account_move_obj.browse(cr, uid, line_ids, context=context): 
      res = { 
       'name': line.name, 
       "date": "2015-01-01" 
      } 
      val['value']['kh_lines_a1'].append(res) 
     return val 

結果應該是根據從結果是新的「kh_lines_a1」創建行搜索,但沒有數據返回。

由於變量正確返回,我猜有些東西我錯過了「返回」的東西。

試圖改變字典的範例,但沒有成功。

+0

更新:它在on_change方法... –

+0

嗨馬立克,是運行背後的功能或on_change?返回值僅on_changes,你有什麼要做的是寫一個對象。您可以使用池創建線條,並使用主文檔的ID設置他的主鍵。 self.pool.get('kh.lines.model')。create({'name':line.name,'date':「2015-01-01」,parent_id:ids [0]})或者wathever ID是。 嘗試這樣的事情,並告訴我,如果它的工作 – dccdany

+0

嗨,謝謝你的提示。我試圖在沒有工作的按鈕下綁定這個函數,但是如果我在on_change下進行分配,它會這樣做。創建方法似乎工作,但可能會發生的搜索fc將返回數百行,我需要創建數百個one2many's根據。是否可以在創建中使用值列表?感謝幫助! –

回答

0

試試這個:

val['value']['kh_lines_a1'].append((0, 0, res))