2016-03-22 13 views
0

私はsale.order.lineモデルにボタンを作成していますが、ポップアップウィンドウを開いたとき、このビューはstock.picking.formにあります。問題は私がポップアップを開くと空白のフォームが表示されることです。そして私が望むのは、ポップアップが私がsales.order.lineフォームに入力したデータを表示するということです。たとえば:別のモデルからポップアップビューの値を取得するにはどうすればいいですか?

<button name="action_stock_picking" string="Inventario" type="object" icon="fa-arrow-right"/> 

そして、これは、ポップアップを開き、私のボタン機能である:製品名、数量、顧客名、等... enter image description hereenter image description here

これは私のview.xmlの私のボタンである

@api.multi 
def action_stock_picking(self): 
    self.ensure_one() 
    picking_form = self.env.ref('stock.view_picking_form', False) 
    ctx = dict(
     default_model='stock.picking', 
     default_res_id=self.id, 
     default_composition_mode='comment', 
     mark_invoice_as_sent=True, 
    ) 
    return { 
     'name': _('Formulario de Inventario: Recepciones'), 
     'type': 'ir.actions.act_window', 
     'view_type': 'form', 
     'view_mode': 'form', 
     'res_model': 'stock.picking', 
     'views': [(picking_form.id, 'form')], 
     'view_id': picking_form.id, 
     'target': 'new', 
     'context': ctx, 
    } 

私は研究していましたが、ビュー間でデータを渡すためにコンテキスト属性を使用する必要がありますが、これを行う方法はあまり分かりません。 誰かが助けてくれたら、私はとても感謝しています。 ご協力いただきありがとうございます。

答えて

0

実際、コンテキストを使用してデフォルトデータを設定できます。構文は単純です:あなたのウィザードのデフォルトの製品名を設定し、私はそれが示しように、ポップアップ表示の行に製品名を追加したい場合は、あなたのコード

ctx = dict(
    default_name : self.name, 
    default_model='stock.picking', 
    default_res_id=self.id, 
    default_composition_mode='comment', 
    mark_invoice_as_sent=True, 
) 
+0

に次の行を追加する

default_fieldx : val 

例前の画像で? どうすればいいですか? – beriliox