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

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

TypeError:_product_available() takes at least 5 arguments (5 given)

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

TypeError:_product_available() takes at least 5 arguments (5 given)

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

มาต่อกันเลยครับ 555++ แก้ไงต่อดีละเยอะจริงๆๆ
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 369, in _product_available
File "D:\ODOO8\server\.\openerp\api.py", line 241, in wrapper
TypeError: _product_available() takes at least 5 arguments (5 given)

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

Re: TypeError:_product_available() takes at least 5 arguments (5 given)

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

อันนี้ code ที่ให้ Error ครับ ผมรองเพิ่ม ตัวเป็นเข้าไปที่เป็นตัวสีน้ำเงินนะครับ
Error กลายมาเป็น TypeError: browse() got multiple values for keyword argument 'context'

def _product_available(self, cr, uid, fc, ids, name, arg, context=None):
prod_available = {}
product_ids = self.browse(cr, uid, fc, ids, context=context)
var_ids = []
for product in product_ids:
var_ids += [p.id for p in product.product_variant_ids]
variant_available= self.pool['product.product']._product_available(cr, uid, var_ids, context=context)

for product in product_ids:
qty_available = 0
virtual_available = 0
incoming_qty = 0
incoming_fc = 0
outgoing_qty = 0
for p in product.product_variant_ids:
qty_available += variant_available[p.id]["qty_available"]
virtual_available += variant_available[p.id]["virtual_available"]
incoming_qty += variant_available[p.id]["incoming_qty"]
incoming_fc += variant_available[p.id]["incoming_fc"]
outgoing_qty += variant_available[p.id]["outgoing_qty"]
prod_available[product.id] = {
"qty_available": qty_available,
"virtual_available": virtual_available,
"incoming_qty": incoming_qty,
"incoming_fc": incoming_fc,
"outgoing_qty": outgoing_qty,
}
return prod_available

ภาพประจำตัวสมาชิก
chbbk
โพสต์: 1362
ลงทะเบียนเมื่อ: จันทร์ 08 ก.ย. 2014 10:42 am

Re: TypeError:_product_available() takes at least 5 arguments (5 given)

โพสต์โดย chbbk » ศุกร์ 11 ธ.ค. 2015 1:45 pm

ลองดูที่ตัวฟังชั่นที่จะเรียกใช้ค่ะว่า arguments ที่รับได้มีอะไรบ้าง รับได้กี่ตัว แล้วเรียงลำดับมาอย่างไร
ถ้าเรียงมาเป็น cr, uid, ids, value, context ก็ต้องส่งเข้าไปเรียงตามลำดับนั้นค่ะ สลับลำดับไม่ได้และเพิ่ม arguments ใหม่เข้าไปไม่ได้เช่นกัน

kitcle
โพสต์: 258
ลงทะเบียนเมื่อ: เสาร์ 22 ธ.ค. 2012 8:15 am

Re: TypeError:_product_available() takes at least 5 arguments (5 given)

โพสต์โดย kitcle » พฤหัสฯ. 28 ม.ค. 2016 7:23 am

ในตาราง product.product จากโค๊ดบรรทัดนี้ incoming_fc += variant_available[p.id]["incoming_fc"]
มันหาฟิลด์ที่ชื่อ incoming_fc ไม่เจอ ต้องไปสร้างฟิลด์นี้รองรับในตารางทั้ง product.template และ product.product

และเอา อากิวเมนต์ fc ออกด้วย ให้เป็นแบบนี้เหมือนเดิม _product_available(self, cr, uid, ids, name, arg, context=None):
[b][color=#008000]รับปรึกษาปัญหาเทคนิค[/color] *** สายเซ็นผิดกฏ *** [/b]


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

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

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