รูปภาพแจ้งข่าว ทางเว็บบอร์ด openerpthailand.org ได้เปลี่ยนระบบเว็บบอร์ด ใหม่เป็น phpBB 3.1
  1. บุคคลทั่วไป จะไม่สามารถเข้าอ่านกระทู้บางบอร์ด แนะนำให้ท่าน สมัครสมาชิกคลิกตามลิงค์นี้
  2. สมาชิกใหม่ ถ้ายังไม่ได้แนะนำตัวจะไม่สามารถ ตั้งกระทู้ และ ดาวน์โหลด ไฟล์จากเว็บบอร์ดได้ ท่านจำเป็นต้องแนะนำตัวที่หมวดนี้
  3. ถ้ามีปัญหาการใช้งาน หรือ ข้อเสนอแนะใดๆ แนะนำได้ที่นี่
  4. ปุ่มรูปหัวใจใต้โพส แต่ละโพส ท่านสามารถกดเพื่อสื่อถึงคนโพสนั้นถูกใจท่าน
  5. ห้ามลง E-mail, เบอร์โทรส่วนตัว, Line id หรือข้อมูลส่วนตัวอื่นๆ เพื่อป้องกันการแอบอ้างและโฆษณาแฝง โดยสามารถติดต่อสมาชิกท่านอื่นผ่านระบบ PM ของบอร์ด
  6. ท่านสามารถปิดการแจ้งนี้ได้ ที่มุมขวาของกล่องข้อความนี้

บุคคลทั่วไปสามาเข้าสู่ระบบ ด้วย Account ของ FaceBook ได้แล้ว คลิกที่นี่ได้เลย

ValueError: need more than 3 values to unpack

หมวดนี้สำหรับนักพัฒนา Customize & Develop ปรับแต่งแก้ไขโค้ด รายงาน พัฒนาโมดูล ปรึกษาโค้ด ได้ที่หมวดนี้
กฎการใช้บอร์ด
หมวดนี้สำหรับนักพัฒนา
ลงโค้ดอย่าลืมครอบโค้ด เพื่อการแสดงผลที่อ่านง่ายสำหรับคนตอบ
ภาพประจำตัวสมาชิก
chaiyapon
โพสต์: 397
ลงทะเบียนเมื่อ: จันทร์ 17 ธ.ค. 2012 1:36 pm

ValueError: need more than 3 values to unpack

โพสต์โดย chaiyapon » พุธ 04 พ.ย. 2015 4:21 pm

Traceback (most recent call last):
File "D:\ODOO8\server\.\openerp\http.py", line 537, in _handle_exception
File "D:\ODOO8\server\.\openerp\http.py", line 574, in dispatch
File "D:\ODOO8\server\.\openerp\http.py", line 310, in _call_function
File "D:\ODOO8\server\.\openerp\service\model.py", line 113, in wrapper
File "D:\ODOO8\server\.\openerp\http.py", line 307, in checked_call
File "D:\ODOO8\server\.\openerp\http.py", line 803, in __call__
File "D:\ODOO8\server\.\openerp\http.py", line 403, in response_wrap
File "D:\ODOO8\server\openerp\addons\web\controllers\main.py", line 884, in search_read
File "D:\ODOO8\server\openerp\addons\web\controllers\main.py", line 905, in do_search_read
File "D:\ODOO8\server\.\openerp\http.py", line 908, in proxy
File "D:\ODOO8\server\.\openerp\api.py", line 241, in wrapper
File "D:\ODOO8\server\.\openerp\models.py", line 5160, in search_read
File "D:\ODOO8\server\.\openerp\api.py", line 241, in wrapper
File "D:\ODOO8\server\.\openerp\models.py", line 3142, in read
File "D:\ODOO8\server\.\openerp\api.py", line 239, in wrapper
File "D:\ODOO8\server\.\openerp\models.py", line 3177, in read
File "D:\ODOO8\server\.\openerp\api.py", line 239, in wrapper
File "D:\ODOO8\server\.\openerp\models.py", line 3343, in _read_from_database
File "D:\ODOO8\server\.\openerp\osv\fields.py", line 1467, in get
File "D:\ODOO8\server\openerp\addons\stock\product.py", line 370, in _product_available
File "D:\ODOO8\server\.\openerp\api.py", line 241, in wrapper
File "D:\ODOO8\server\openerp\addons\stock\product.py", line 145, in _product_available
ValueError: need more than 3 values to unpack

พอดีไปเพิ่ม ฟิวส์ ใน product.py มาหนึ่งรายการครับ ทำหน้าที่เหมือนกับ ฟิวส์ Imcoming ใน Products แต่เจอ Error นี้ก่อน เลยที่เดียว :?: :?:

ภาพประจำตัวสมาชิก
chaiyapon
โพสต์: 397
ลงทะเบียนเมื่อ: จันทร์ 17 ธ.ค. 2012 1:36 pm

Re: ValueError: need more than 3 values to unpack

โพสต์โดย chaiyapon » พฤหัสฯ. 05 พ.ย. 2015 10:38 am

ปัญหาน่าจะอยู่ที่ ชุดนี้ครับ ค่าที่ผมเพิ่มเข้าไปลงท้ายด้วย fc ครับ
def _product_available(self, cr, uid, ids, field_names=None, arg=False, context=None):
context = context or {}
field_names = field_names or []

domain_products = [('product_id', 'in', ids)]
domain_quant, domain_move_in, domain_move_out, domain_move_fc = [], [], [], []
domain_quant_loc, domain_move_in_loc, domain_move_out_loc, domain_move_fc_loc = self._get_domain_locations(cr, uid, ids, context=context)
domain_move_in += self._get_domain_dates(cr, uid, ids, context=context) + [('state', 'not in', ('done', 'cancel', 'draft'))] + domain_products
domain_move_out += self._get_domain_dates(cr, uid, ids, context=context) + [('state', 'not in', ('done', 'cancel', 'draft'))] + domain_products
domain_move_fc += self._get_domain_dates(cr, uid, ids, context=context) + [('state', 'not in', ('done', 'cancel', 'draft'))] + domain_products
domain_quant += domain_products

if context.get('lot_id'):
domain_quant.append(('lot_id', '=', context['lot_id']))
if context.get('owner_id'):
domain_quant.append(('owner_id', '=', context['owner_id']))
owner_domain = ('restrict_partner_id', '=', context['owner_id'])
domain_move_in.append(owner_domain)
domain_move_out.append(owner_domain)
domain_move_fc.append(owner_domain)
if context.get('package_id'):
domain_quant.append(('package_id', '=', context['package_id']))

domain_move_in += domain_move_in_loc
domain_move_out += domain_move_out_loc
domain_move_fc += domain_move_fc_loc
moves_in = self.pool.get('stock.move').read_group(cr, uid, domain_move_in, ['product_id', 'product_qty'], ['product_id'], context=context)
moves_out = self.pool.get('stock.move').read_group(cr, uid, domain_move_out, ['product_id', 'product_qty'], ['product_id'], context=context)
moves_fc = self.pool.get('stock.move').read_group(cr, uid, domain_move_fc, ['product_id', 'product_qty'], ['product_id'], context=context)

domain_quant += domain_quant_loc
quants = self.pool.get('stock.quant').read_group(cr, uid, domain_quant, ['product_id', 'qty'], ['product_id'], context=context)
quants = dict(map(lambda x: (x['product_id'][0], x['qty']), quants))

moves_in = dict(map(lambda x: (x['product_id'][0], x['product_qty']), moves_in))
moves_out = dict(map(lambda x: (x['product_id'][0], x['product_qty']), moves_out))
moves_fc = dict(map(lambda x: (x['product_id'][0], x['product_qty']), moves_fc))
res = {}
for product in self.browse(cr, uid, ids, context=context):
id = product.id
qty_available = float_round(quants.get(id, 0.0), precision_rounding=product.uom_id.rounding)
incoming_qty = float_round(moves_in.get(id, 0.0), precision_rounding=product.uom_id.rounding)
outgoing_qty = float_round(moves_out.get(id, 0.0), precision_rounding=product.uom_id.rounding)
incoming_fc = float_round(moves_fc.get(id, 0.0), precision_rounding=product.uom_id.rounding)
virtual_available = float_round(quants.get(id, 0.0) + moves_in.get(id, 0.0) - moves_out.get(id, 0.0), precision_rounding=product.uom_id.rounding)
res[id] = {
'qty_available': qty_available,
'incoming_qty': incoming_qty,
'outgoing_qty': outgoing_qty,
'incoming_fc': incoming_fc,
'virtual_available': virtual_available,
}
return res

ภาพประจำตัวสมาชิก
chaiyapon
โพสต์: 397
ลงทะเบียนเมื่อ: จันทร์ 17 ธ.ค. 2012 1:36 pm

Re: ValueError: need more than 3 values to unpack

โพสต์โดย chaiyapon » พฤหัสฯ. 05 พ.ย. 2015 2:57 pm

เจอแล้วครับ อยู่ตรงนี้ครับ (cr, uid, ids, context=context) มี 3 ตัวแปรที่เอาไว้รับค่า ที่จริงต้องมี 4 ตัวครับ :D :D :D


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 3 และ บุคคลทั่วไป 0 ท่าน