2015-04-17 18:14 GMT+02:00 Guillem Barba Domingo <[email protected]>:
> 2015-04-10 11:27 GMT+02:00 TPH <[email protected]>: > >> Am Mittwoch, 8. April 2015 16:20:25 UTC+2 schrieb raimonesteve: >> >>> 2015-04-08 15:27 GMT+02:00 TPH <[email protected]>: >>> > Hello, >>> > >>> > I try to get the stock and the locations of a product but can't get it >>> work. >>> > >>> > >>> > >>> > >>> > #!/usr/bin/env python >>> > #-*- coding: utf-8 -*- >>> > >>> > >>> > import datetime >>> > from proteus import config, Model, Wizard >>> > from con_data import * >>> > config = config.set_xmlrpc(url) >>> > >>> > >>> > Product = Model.get('product.product') >>> > Location = Model.get('stock.location') >>> > Inventory = Model.get('stock.inventory') >>> > >>> > locations = Location.find([('type', '=', 'storage'), ('parent.name', >>> '=' >>> > ,'Main Storage')]) >>> > locations = [l.id for l in locations] >>> > >>> > config.context['language'] = 'de_DE' >>> > config._context['locations'] = locations >>> > #config.context['stock_date_end'] = datetime.date(2015, 4, 7) >>> >>> if not add date in context, will be calculate a forecast qty >>> >>> > def check_stock(product_code): >>> > (product,) = Product.find([('code', '=', product_code)]) >>> > print "product code:", product.code >>> > print "product name:", product.name >>> > print "product quantity:", product.quantity >>> > bylocation = Wizard('product.by_location', [product]) >>> >>> It's not necessary call wizard if you like know quantity. You could >>> call directly quantity field from product (or template) >>> >>> http://hg.tryton.org/modules/stock/file/06a6bee29336/product.py#l74 >>> >> >> Reading the stock of a product was not the problem and worked in my >> script above. I am searching for an solution to get stock and the warehouse >> location of that stock. Sometimes product also is on multiple locations. >> > > I'm not sure if it works from proteus. I will explain you how to get it > "inside" Tryton and maybe you can do it the same with proteus: > get the quantity field of locations, supplying the product id by context: > > with Transaction.context(products=[product.id]): > sorry, not "products" but "product": with Transaction().context(product=product.id): > locations = Location.search([('type', '=', 'storage')]) > for location in locations: > print location.quantity # quantity of product in this location > > > -- > Guillem Barba > http://www.guillem.alcarrer.net > -- Guillem Barba http://www.guillem.alcarrer.net
