2016-03-22 9 views
0

Bir popup penceresi açıldığında sale.order.line modelinde bir düğme oluşturuyorum, bu görünüm stock.picking.form. Sorun, açılan pencereyi açtığımda boş formu gösterir. Ve istediğim, popup'ın sale.order.line formuna girdiğim verileri göstermesi. örnek için: ürün adı, miktar, müşteri adı, vb ... enter image description hereenter image description hereBaşka bir modelden açılan görünümün değerleri nasıl alınır?

Bu benim view.xml benim düğme:

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

Ve bu açılır pencere açılır benim düğmesi fonksiyonudur:

@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, 
    } 

Araştırıyordum ve bence görünümler arasında veri aktarmak için context özniteliğini kullanmalısınız, ancak bunun nasıl yapılacağını fazla bilmiyorum. Birisi yardım ederse çok minnettar olurum. Yardımlarınız için teşekkürler.

cevap

0

Aslında, varsayılan verileri bağlam kullanarak ayarlayabilirsiniz. sözdizimi basittir: i açılan bakış hattına ürün adını eklemek istiyorsanız gösterir gibi sihirbaz varsayılan ürün adı ayarlamak için

default_fieldx : val 

Örnek Kodunuzla

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

bu satırı ekleyin önceki görüntüde? Bunu nasıl yapabilirim? – beriliox