Automatyczny wybór lokalizacji produktu podczas tworzenia przesunięcia [Zamknięte]

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

przez
Dr.One
na 22.09.2015 13:32:01

Panowie, ponieważ specyfika dzialania mojego magazynu jest taka a nie inna, bardzo chciałbym mieć taką opcję:
podczas przenoszenia wybranego produktu, system mógłby wskazywać samoczynnie aktualną lokalizację/lokalizacje jeśli więcej niż jedna. W moim przypadku może tak być, że produkt będzie składowany w kilku - wtedy wszystkie dostępne lokalizacje pokazałby na liście/w polu Origin (Source location pole "location_id").

Używam wyłącznie jednego magazynu a w nim bardzo wielu lokalizacji wewnętrznych i wyłącznie pomiędzy nimi produkty są przesuwane/przenoszone. Dlatego taka forma w moim przypadku byłaby wprost idealna. Jak sądzę nie tylko w moim, wielu innym uzytkownikom mogło by sie takie rozwiązanie przydać bo znacznie ułatwiało by wykonywanie całego procesu prznoszenia.

Nie da się tego zrobić jakimś filtrem ?

Pomóżcie proszę ...


 

Dr.One
Dr.One
341
| 5 3 5
Data pytania 15.05.2015, 14:41
0
głos
702 Odsłony

Trudno udzielić ci jakiejkolwiek rady jeśli precyzyjnie nie definiujesz czego tak na prawdę oczekujesz i na czym dokładnie polega Twój problem. Tym bardziej, że pozamykałeś wcześniejsze swoje pytania dotyczące tego tematu (i nie tylko tego!). Przyznam, że trochę się dziwię dlaczego je pozamykałeś i niezbyt mi się to podoba. Do wielu tematów udzielono wartościowych odpowiedzi, które mogłyby służyć innym jako przykłady i ewentualne rozwiązania ich problemów. To forum ma chyba służyć wszystkim czytelnikom? W końcu ktoś kto udziela odpowiedzi i rady, zwykle oczekuje, że jego informacja nie zostanie "zamknięta", tak jak kilka moich :(

Janusz Stefaniak
na 15.05.2015, 18:49

Częściowo rozwiązałem problem i już mi pokazuje to co chcialem czyli w polu source location mogę już znaleźć informację o produkcie który chcę przenieść (ilość) jednocześnie pokazuje ilość wiec wiem, że w tym miejscu "ten" produkt sie znajduje. Jeśli produkt znajduje się w większej ilości lokalizacji we wszystich tych lokalizacjach pojawia się ilość dzięki czemu łatwiej mi się zorientować i wybrać odpowiednią. Jeszcze tylko muszę znaleźć sposób jak ukryć te w których wartość qty jest = 0. Do tej pory dowiedziałem się, że jeśli pole jest typu function nie zadziała filter_domain. Trochę szukałem, trochę popytałem i okazuje się, że (tak przynajmniej twierdzą specjaliści) trzeba nieco pokombinować i się da rozwiązać ten problem.

Idąc za podpowiedziami, zmodyfikowałem kod (pierwotnie pokazany przez Darka) wygląda on w tej chwili tak:

class stock_location(models.Model):
_inherit = 'stock.location'
@api.one
@api.depends()
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.env['stock.quant'].search([('location_id','=',id),('product_id','=?',context['default_product_id'])])
else:
quants = self.env['stock.quant'].search([('location_id','=',id)])
for quant in quants:
res[obj.id] += quant.qty
return res
qty = fields.function(_get_current_stock, type = "float", string = 'Qty', store = {'stock.quants':(_get_locations,['location_id','qty'],1)})
def _get_locations(self, cr, uid, ids, context=None):
res = []
return 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)
#  

@api.multi
def name_get(self):
for loc in self:
result.append((loc.id, loc.name + " / " + str(loc.qty) + " Units" or ''))
return result

W końcu udało się pozbyć błędów, serwer się nie buntuje ale ..... skrypt nie działa prawidłowo i nie mogę dojść dlaczego. Wcześniej pokazywał ilości i skróconą nazwę magazynu (1A1 / ilość Unitsa teraz pokazuje jakby moduł nie był zainstalowany czyli WS/Stock/1A1).

Dr.One
Dr.One
341
| 5 3 5
Data odpowiedzi 23.05.2015, 16:37
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: 15.05.2015, 14:41
Oglądano: 702 razy
Ostatnia aktualizacja: 22.09.2015, 13:32