2016-06-20 6 views
1

Ich habe einen ir.config_parameter Ich möchte aktualisieren, wenn ein bestimmtes Feld meiner res_partner Tabelle exportiert wird, zum Beispiel wenn "Alter" exportiert wird, möchte ich die höchste ID in res_partner in meinem config_parameter namens "last_age" gespeichert werden. Wie kann ich einen set_param (cr, uid, 'my_module.last_age', 'higgest_id') auslösen, wenn das Alter exportiert wird?Wie man ein Ereignis beim Export auslöst Odoo

Muss ich den Export überschreiben, wenn es überhaupt möglich ist?

Dank

EDIT:

Ich tat dies in meinem res.partner:

def export_data(self, cr, uid, ids, fields_to_export, context=None): 
    super(res_partner, self).export_data(cr, uid, ids, fields_to_export, context=context) 

Aber in der ersten Zeile ein Fehler auftreten: Typeerror: export_data() bekam mehrere Werte für Schlüsselwortargument 'Kontext'

Wenn ich context=None lösche, tritt ein anderer Fehler auf: TypeError: ex port_data() nimmt genau 5 Argumente (7 gegeben) Gleicher Fehler, wenn ich entferne self

Wirklich wenige Vorkommen von "export_data()" erscheinen in Google, ich suchte viel, fand aber nichts.

+0

Was meinen Sie mit "exportierten"? Ein CSV-Export? – CZoellner

+0

Ja das ist, was ich meinte –

Antwort

1

Jedes Odoo Modell wird Modell/TransienModel (ältere Versionen osv.osv) erben, die mit bereits definierten Methoden kommt, wie zu lesen, suchen, erstellen, ...

Odoo Export (csv. Excel) wird die Verwendung von Methode export_data(). Überschreibe es einfach und setze deinen Parameter darin.

+0

Haben Sie Dokumentation darüber, wie export_data() überschrieben werden? Ich habe fast nichts gefunden, und ich weiß nicht, ob ich eine neue Klasse erstellen oder in res.partner neu definieren muss. Ich habe eine neue Klasse ausprobiert, wie ich in einer Antwort in einem Forum gefunden habe, es kompiliert aber der erste data_export (nicht overriden) wird aufgerufen und nicht der neue. Ich habe auch versucht, in der res.partner, aber es gibt mir immer einen Fehler. –

+0

Sie müssen dazu 'res.partner' erweitern und export_data() neu definieren. Führen Sie einen super() -Aufruf durch, um die Daten am Ende zu melden. Ein Beispiel für die Erweiterung eines odoo-Modells: [sale_stock] (https://github.com/odoo/odoo/blob/8.0/addons/sale_stock/sale_stock.py#L156) – CZoellner