Ich habe zwei Objekte, "Artikel" und "MVT", die Logik hinter dem Modul versucht zu erstellen ist, dass ein Artikel durch einen Namen und einen Preis definiert ist, aber die Menge durch berechnet wird eine reihe von transaktionen oder "bewegungen", jede bewegung hat eine realität von vielen2 mit einem artikel, einem datum und einer qte, das letzte feld kann entweder positiv oder negativ sein (positiv bedeutet, dass wir neue artikel hinzugefügt haben, negativ das gegenteil), also hier der code, den ich verwendet habe, bin ich irgendwie neu zu openErp.Abfrage eines Objekts in OpenErp 7
class article(osv.osv):
_name = 'cm.article'
def _get_qte(self, cr, uid, ids, fld_name, arg, context=None):
result = {}
mvtObject=self.pool.get('cm.mvt')
mvtids=mvtObject.search(cr,uid,[])
sum = 0
for id in mvtids:
mvt_line=mvtObject.browse(cr,uid,id,context)
if mvt_line.article.id == ids[0]:
sum = sum + mvt_line.qte
result[sum] = sum
return result
_columns = {
'name': fields.char(size=32, string='Nom', required=True),
'pu':fields.float(required="True",string='Prix Unitaire'),
'qte': fields.function(_get_qte,type='integer',obj="cm.article",method=True,string='Quantity'),
}
article()
class mvt(osv.osv):
_name = 'cm.mvt'
_columns = {
'article' : fields.many2one('cm.article', 'name'),
'date' : fields.datetime(string="Date Mouvement"),
'qte':fields.integer(String="Quantity")
}
_defaults = {'date' : fields.date.context_today}
mvt()
Vielen Dank im Voraus.
Vielen Dank, das Problem ist jetzt, wie man die Bewegungen abfragt, die zu dem aktuellen Artikel gehören. Dieser Code gibt mir einen seltsamen Fehler: KeyError 1 –
Danke Mann, das hat das Problem gelöst! –