2012-07-31 30 views
5

Openerp'in varsayılan görünümlerini geçersiz kılmanın bir yolu var mı, bunu manuel olarak Ayarlar/Özelleştirme/Kullanıcı Arayüzü/Görünümler ... yerine yapmak yerine bir modül geliştirmek ...?Özel bir modül tarafından varsayılan görünümü geçersiz kılın?

OpenERP kullanıyor ve çok sayıda varsayılan görünümü (Proje Listesi, Fatura Listesi, Fatura Araması vb.), Listeden ve arama filtrelerinden/gruplarından alan ekleyip saklıyoruz, bunu manuel olarak web istemcisinden görüntüleyerek yapıyoruz. Özelleştirmek istediğim tüm görünümler için xml yazabileceğim bir modül geliştirmenin bir yolu var mı ve bu modülü yüklediğimde tüm bu görünümler (ve pencere eylemleri de) güncellenecek mi?

cevap

6

XML dosyalarını kullanarak herhangi bir görünümü özelleştirmek için View Inheritance kullanabilirsiniz.

Kalıtım öğesini kullanarak öğeleri herhangi bir görünüme ekleyebilir, kaldırabilir ve değiştirebilirsiniz. Ayrıca, devralma yerine varsayılanı değiştirmek için yeni tam görünümler de tanımlayabilirsiniz. Sadece mevcut görünümleri özelleştiren veya değiştiren ve bu modülü yükleyen XML dosyaları ile yeni bir modül oluşturun. Modül klasörü yalnızca __init__.py, __openerp__.py ve XML dosyalarını içermelidir.

Ürün görünümünden EAN13 alanını kaldırmak için basit bir örnek.


__init__.py boş bir dosya


__openerp__.py:

{ 
    "name" : "View Customization Test", 
    "version" : "1.0", 
    "category" : "Generic Modules/Inventory Control", 
    'depends' : ['product',], 
    "update_xml" : ["product.xml",], 
    "installable": True, 
    "active": True 
} 

product.xml:

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
    <data> 
    <record model="ir.ui.view" id="view_product_form_custom"> 
     <field name="name">product.form.inherit2</field> 
     <field name="model">product.product</field> 
     <field name="inherit_id" ref="product.product_normal_form_view" /> 
     <field name="arch" type="xml"> 
     <field name="ean13" position="replace" /> 
     </field> 
    </record> 
    </data> 
</openerp> 
+0

Bağlantı için teşekkürler, v7 için burada https://doc.odoo.com/7.0/contribute/05_developing_modules/ –

0

Elbette var. Özel modülünüzü oluşturabilir ve yükleyebilirsiniz. official docs'daki temel bilgilere bakın. Technical Memento da elinizde olması gereken bir şeydir.

Bu, geliştirme ortamında geliştirme ve test etmeyi çok daha kolay hale getirir ve daha sonra üretim ortamında kopyalayıp yükler.

+0

. Bu dokümanın var olduğunu bilmiyordum. – sluc23

0

Kesinlikle (ve bunu yapmak iyi bir fikirdir.) İlk sonra basitçe addons altında

  • eklenti bir klasör oluşturun view and view inheritance

    • temellerini okumak mümkündür bir __init__.py [python module descriptor]
    • ekle __openerp__.py [OpenERP Module Descriptor]
    • Bir xml dosyası oluşturun ve mevcut görünümün XML Tanımlayıcısı ile gerekli görünümü seçin ve view.xml dosyanızı __openerp__.py'a kaydedin. Ve veritabanınızı yeni modülünüzle güncelleyin. Doküman için Tx çok yararlı,
  • İlgili konular