Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

0

How to calculate lowest,highest and average values

By
Dr Obx
on 12/20/15, 6:04 AM 538 views

Guys,

If possible please help me to with this script which should calculate lowest, highest and average from stock_quant.product_qty in specified location(which in this case is 'production'):

It check every record within the period selected(st_date to en_date) and create a list of product_qty's. As a next i would like to split it to months/weeks and calculate quants for each month/week including lowest, highest and average not just count all products_qty in production.

.....

for obj in self.browse(cr, uid, ids):

cr.execute(""" select product_id,sum(qty) from stock_quant where in_date ::date>=to_date('%s', 'YYYY-MM-DD') and

in_date ::date<= to_date('%s', 'YYYY-MM-DD') and location_id =%s group by product_id;""" %(obj.st_date,obj.en_date, obj.location_id.id))

tot_qty = cr.fetchall()

if tot_qty:

for rec in tot_qty:

a = a + 1

total += rec[1]

lsrv = min(str,rec[1])# lowest is not a problem it apparently works :)

hsrv = max(str,rec[1)]# this one, because it's a list it won't - don't know how to - gives me an error 'type error ...'

asrv = (total / a)

mwosres = (rec[1]/7 * 52)

res.append((0, 0, {'product_id': rec[0],'product_qty':rec[1],'lsr':lsrv,'hsr':hsrv,'asr':asrv,'mwos':mwosres}))

print '= R E S U L T S =========================================================='

print 'RESULT:', res

print 'MWoS: ', mwosres

print 'LSR: ', lsrv

print 'HSR: ', hsrv

print 'ASR: ', asrv

print 'TOTAL: ', total

ab = obj.write({'product':res})

print 'TorF: ',ab

print '========================================================================'

......

I'll add one more column (weeks) to display weeks within selected period of time.


Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

1 follower(s)

Stats

Asked: 12/20/15, 6:04 AM
Seen: 538 times
Last updated: 12/20/15, 7:25 AM