Dlaczego nie zlicza quants ? [Zamknięte]

To pytanie zostało zamknięte z powodu: niezwiązane z tematem lub nieaktualne

przez
Dr.One
na 22.09.2015 13:29:21

Pomóżcie rozwikłać tę zagadkę, otóż doszedłem już do tego co i jak i dlaczego. Zmienilem kod do postaci .... bardziej Old API co by nie stwarzał problemów i już jakby lepiej ale ... nie chce zliczać quants'ów.

Kombinuję (co jak widać nie dziala) i powoli zaczynam się irytować.

#import
from openerp.osv import fields,osv
class stock_location(osv.osv):
    _inherit = 'stock.location'

# Get stocks quantity
    def _get_current_stock(self, cr, uid, ids, fields, arg, context=None):
        res = []
        quants = []
        for obj in self.browse(cr, uid, ids, context=context):
            if 'default_product_id' in context:
                quants = self.pool.get('stock.quant').search(cr, uid, [('location_id','=',id),('product_id','=?',context.get('default_product_id'))])
            else:
                quants = self.pool.get('stock.quant').search(cr, uid, [('location_id','=',id)])
            for quant in self.pool.get('stock.quant').browse(cr, uid, quants, context):
                self.res[obj.id] += quant.qty
        return res

# Get locations ids
    def _get_locations(self, cr, uid, ids, context=None):
        res = []
        for quant in self.pool.get('stock.quants').browse(cr, uid, ids, context=context):
            if quant.location_id:
                res.append(quant.location_id.id)
        return res

# Fields declaration
    _columns = {
        'qty': fields.function(_get_current_stock, type = "float", string = 'qty', store = {'stock.quants': (_get_locations, ['location_id','qty'], 1 ) } ),
    }

# Overriding name_get
    def name_get(self, cr, uid, ids, context=None):
        res = []
        for loc in self.browse(cr, uid, ids, context):
            res.append((loc.id, loc.name + " / " + str(loc.qty) + " Units" or ''))
        return res

Co jeszcze skopałem ?

Dr.One
Dr.One
341
| 5 3 5
Data pytania 08.06.2015, 10:26
0
głos
919 Odsłony

Jak już tłumaczył Ci wcześniej Darek, to co usiłujesz zrobić jest niewykonalne w taki sposób. Nie da się w jednym polu qty przenieść jednocześnie informacji o ilości wszystkich produktów.

Janusz Stefaniak
Janusz Stefaniak
597
| 3 1 2
Data odpowiedzi 08.06.2015, 10:54
0
głos

Chyba czegos nie zrozumiałem bo de'facto to co potrzebuję już mam, problem polega na tym, że pole qty jest funkcją i nie moge użyć domain do filtrowania. Chcialem tylko wpakować te dane do jakiejs tablicy i wtedy filtrować. I w tym kierunku się posuwam. Jak Pan Janusz już wie próbuję, uczę się powoli. Odoo jako takie do nauki nadaje się jak ..... każdorazowe restartowanie serwera, debugowanie, gdzie i dlaczego wystąpił błąd, to wszystko jest nawet dla zorientowanych paskudnie skomplikowane a dla takich amatorów jak ja masakra. Jednakże ponieważ wsparcia w języku polskim za wiele nie ma nie mówiąc o tym, że ktoś cokolwiek więcej powie albo objaśni to musi być jakiś "prazdnik" ... przyczym bardziej zależało by na "objaśnieniu" niż samej surowej definicji ..... oczywiście rozumiem, że wszyscy są bardzo zajętymi ludźmi i nie mają czasu rozwiązywać czyichś problemów ... ale forum to miejsce od którego (chyba błędnie) oczekuje własnie takiej pomocy, objaśnienia, poprowadzenia tymi krętymi jak ścieżki przez bagna tematach :) Nie żebym nie rozumiał angielskiego ale z drugiej strony mój angielski nie jest doskonały więc żeby ustrzec się błędów w przypadku nie zrozumienia tematu szukam polskiej pomocy :) Manual juz obczytalem. Wiele sie dowiedzialem, nie wiem jednak jeszcze jak praktycznie się do tego ustawiać dlatego pytam :) Oczywiście jestem wdzięczny za wszelką dotychczasowa pomoc, bardzo wiele mi pomogliście i jeden problem udało mi się ostatecznie rozwiązać. Mam nadzieję, że jeszcze niejednokrotnie dzięki forum dowiem się ciekawych i przydatnych rzeczy :)

Dr.One
na 08.06.2015, 11:40
Dr.One
Dr.One
341
| 5 3 5
Data odpowiedzi 08.06.2015, 11:39
0
głos

Twoja odpowiedź

Spróbuj dać znacząca odpowiedź. Jeśli chcesz wypowiedzieć się na temat pytania lub odpowiedzi, po prostu użyj narzędzia komentowania. Proszę pamiętać, że zawsze można zrewidować swoją odpowiedź - nie ma potrzeby odpowiadać na to samo pytanie dwa razy. Także prosimy, nie zapomnij zagłosować - to naprawdę pomaga wybrać najlepsze pytania i odpowiedzi!

Zadaj Pytanie

Bądź na bieżąco

O tym forum

Forum dla profesjonalistów i entuzjastów systemu Odoo. Dyskusje, porady, opinie, komentarze.

Przeczytaj wytyczne

Narzędzia do pytań

3 obserwujący

Statystyki

Spytał/a: 08.06.2015, 10:26
Oglądano: 919 razy
Ostatnia aktualizacja: 22.09.2015, 13:29