Odoo

2016-04-12 19 views
0

'da bir düğme ile ilgili/devralınan bir kaydı nasıl oluşturabilirim Başlıktaki sorunla ilgili bir çözüm arıyorum. Daha spesifik olmak gerekirse: ODOOv9'daki ürünler için sağlanan "varyantlar seçeneğini" kullanamıyorum. Benim için ürün çeşitlerinin belirli alanlarda farklı olması önemlidir. Yani bu zaten iyi çalışıyor, ancak sadece ilişki alanıyla (One2many)Odoo

Şimdi kullanıcı dostu bir düğme uygulamak istiyorum. Kullanıcı bu düğmeyi tıkladığında, varyant alanlarını eklemek için "product.product" formunu alır. Sorun, yeni "product.product"'un "product.template"'u miras almamasıdır. Odoo her zaman yeni ve boş bir "product.product" formunu oluşturur.

Sana XML kodu ve .py

XML sağlayacaktır - product.template şeklinde:

<button string="Variante anlegen" type="object" name="insert_new_variant" 
     class="oe_highlight"/> 

.py - miras product.template sınıfında

@api.multi 
def insert_new_variant(self): 
    id = self.id 

    view_ref = self.env['ir.model.data'].get_object_reference('product', 'product_normal_form_view') 
    view_id = view_ref[1] if view_ref else False 

    res = { 
     'type': 'ir.actions.act_window', 
     'name': ('product.product.form'), 
     'res_model': 'product.product', 
     'view_type': 'form', 
     'view_mode': 'form', 
     'view_id': view_id, 
     'target': 'new', 
     'context': {'product_tmpl_id': id} 
    } 

    return res 

Yukarıdaki düğme bu yöntemi çağırır. Doğru form zaten görüntülenmiş, ancak "product.template" değerleriyle miras alınmamıştır.

Dikte bağlam özniteliği çalışmayacak gibi görünüyor. Biri lütfen bana yardım edebilir mi?

teşekkür ederiz

+0

Merhaba ': id} – dccdany

+0

Teşekkür ederim dccdany, bu hile oldu :) Kalan bir sorun var: ODOO form açıldığında, "kaydet" düğmesi yoktur. Bunu nasıl uygulayabilirim? Bir Varyant oluşturmanın standart yolunu kullanırken, bir "kaydet" düğmesi var –

+0

Tamam, hasta ekle, yanıt olarak o zaman! – dccdany

cevap

0

Sen bağlamda saha adından önce varsayılan eklemek gerekir: { 'default_product_tmpl_id: Bu 'bağlam' ?: Eğer bağlamda koymak deneyebilirsiniz,

'context': {'default_product_tmpl_id': id}