2016-10-06 3 views
0

Ich erstelle ein benutzerdefiniertes Modul, um Felder in sale.order.line zu erweitern, aber Odoo (v8) erstellt diese beiden Spalten nicht.Warum Odoo diese zwei Spalten nicht einfügen?

class sale_order_line_ext(osv.Model): 
    _name = 'sale.order.line' 
    _inherit = 'sale.order.line' 

    _columns = { 
     'supplier_name': fields.char('Supplier name'), 
     'supplier_ref': fields.char('Product reference'), 
    } 

sale_order_line_ext() 

Ich habe schon vorher einige Spalten in sale.order erstellt, aber ich habe nichts falsch hier sehen. Was ist mein Fehler?

+0

Zunächst einmal: Ich weiß nicht, warum beide Antworten vorschlagen, _name Attribut zu entfernen, weil das nicht notwendig ist. Und zweitens: Warum benutzt du keine neue API? Ich vermute, Sie haben vergessen, die Datei zu initalisieren oder den Server nicht neu gestartet. Nichts für ungut, es ist nur ein üblicher Fehler. – CZoellner

+1

@CZoellner Ich habe vorgeschlagen, '_name' zu ​​entfernen, da seine Anforderung kein weiteres Modell hinzufügt, er fügt Felder zu demselben Modell hinzu. Deshalb ist '_name' dort nicht erforderlich. –

+1

OK, es ist nicht erforderlich, aber es ist auch kein Fehler. – CZoellner

Antwort

-1

In Ihrem Kommentar, sagt Fehlerprotokoll supplier_name nicht in der Tabelle existiert sale.order.line', diese zu den Einstellungen zu überprüfen -> Technik -> Datenbankstruktur -> Modelle und finden sale.order.line dann werden Sie alle Felder sehen. Wenn nicht, versuchen Sie unter dem folgenden Code:

class sale_order_line_ext(osv.Model): 
    _inherit = 'sale.order.line' 

    _columns = { 
    'supplier_name': fields.char('Supplier name'), 
    'supplier_ref': fields.char('Product reference'), 
    } 

sale_order_line_ext() 
-1

Sie haben dieses Feld im Modell sale.order.line hinzugefügt, aber Sie haben sie nicht in der Ansicht hinzugefügt. Wenn Sie diese Felder in der Verkaufsauftragszeile anzeigen möchten, müssen Sie die 'Sales Order Lines' erben und diese Felder in der Strukturansicht hinzufügen.

<record id="pob_order_line_view_form" model="ir.ui.view"> 
    <field name="name">sale.order</field> 
    <field name="model">sale.order</field> 
    <field name="inherit_id" ref="sale.view_order_form"/> 
    <field name="arch" type="xml"> 
     <xpath expr="//notebook/page[@string='Order Lines']/field[@name='order_line']/tree[@string='Sales Order Lines']/field[@name='name']" position="after"> 
      <field name= 'supplier_name'/> 
      <field name= 'supplier_ref'/> 
     </xpath> 
    </field>   
</record> 
+0

Danke für deine Antwort @VikashMishra. Ich habe diese Ansicht bereits erstellt, aber ich habe sie hier nicht angegeben. Wenn ich versuche, diese Feld in der Ansicht hinzuzufügen, Odoo einen Fehler zurückgibt: 'Detalles de Fehler: El campo SUPPLIER_NAME no existe Fehler de contexto: Vista sale.order.form.inherit [view_id: 832, xml_id : sale_extensions.view_order_form_extension, Modell: sale.order, parent_id: 650] "während der Analyse /home/marcogonzalo/Dentaltix/ERP/bitnami-odoo/apps/odoo/lib/odoo-8.0.post20151126-py2.7.egg/openerp /addons/sale_extensions/views/sale_form_views.xml:4, near' –

+1

entferne die '_name = sale.order.line' aus deiner' .py' Datei und starte deinen odoo Server neu und aktualisiere dann dein Modul –

Verwandte Themen