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

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

การลบข้อมูล

ตอบกระทู้


คำถามนี้ เพื่อป้องกันการส่งแบบอัตโนมัติจากสแปมบอท
รูปแสดงอารมณ์
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode เปิด
[img] เปิด
[flash] ปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: การลบข้อมูล

Re: การลบข้อมูล

โพสต์ โดย chaiyapon » พฤหัสฯ. 08 ม.ค. 2015 5:21 pm

แก้ Error เรียบร้อย ขอบคุณคำแนะนำ คุณ kitcle ครับ จะว่า bug จากโปรแกรมก็ไม่ได้ต้องบอกว่า ลืมเขียนโค๊ดกำกับใน ฟิลด์ many2one ซึ่งจากการตรวจเช็คมีหลายโมดูลพอสมควรครับ ยังไงก็ระวังกันด้วยนะครับ

ตอนผมก็หลังจะแก้ไข Work Center ให้สามารถปรับเปลี่ยนได้ หลังจากมีการ Save Manufacturing Orders ไปแล้วเพื่อนเพิ่มความยืดยุ่นในเวลาทำงาน ยังไงรบกวนผู้รู้แนะนำแนวทางด้วยนะครับ

Re: การลบข้อมูล

โพสต์ โดย chaiyapon » พุธ 07 ม.ค. 2015 8:07 am

ตามที่คุณ kitcle เลยครับ น่าจะมีการลืมเขียนโค้ดในบางโมดูลครับ เพราะผมลองแล้วบางโมดูลที่มี ฟิลด์ เป็น many2one จะไม่สามารถลบได้แต่งบางโมดูลสามารถลบได้ เบื้องต้นตามบล็อกสิทธิการลบในหลายโมดูลเพื่อป้องกันปัญแล้วกำลังตามแก้ตัวที่ Error ครับ

ปล.Error เยอะมากมาย

Re: การลบข้อมูล

โพสต์ โดย kitcle » อังคาร 06 ม.ค. 2015 9:40 pm

ตามปกติการลบข้อมูล ที่ dependecy data ในระบบ ERP นั้นจะมีคำสั่งการป้องกันเบื้องต้นไว้แล้ว
เพราะถ้าหากปล่อยให้มีกาลบข้อมูลที่ปราศจากการตรวจสอบแล้ว วุ่นวายแน่นอนครับ
เอาแค่เรื่องระบบบัญชี โกงกันมโหฬารแน่ๆ ใครจะลบก็ลบ ใครจะแก้ก็แก้ เพราะฉะนั้น ตัดประเด็นของบั๊กโค๊ดออกได้เลย

น่าจะมาจากระบบฐานข้อมูลของเราครับ วิธีแก้ ไปแก้ใน pgsql ใช้คำสั่ง Not IN ในการตรวจสอบ
SELECT field1 FROM tbl1 WHERE eventid NOT IN (SELECT field2 FROM tbl2)
ดูจาก KeyError: 'Field product_id not found น่าจะมาจาก โมดูล product .product นะครับ

น่าจะมีการลืมเขียนโค๊ดกำกับใน ฟิลด์ many2one ondelete='cascade'

Re: การลบข้อมูล

โพสต์ โดย openerpthailand » อังคาร 06 ม.ค. 2015 8:35 pm

เป็นปัญหา กับ Module ไหนครับ

การลบข้อมูล

โพสต์ โดย chaiyapon » อังคาร 06 ม.ค. 2015 2:55 pm

เนื่องช่วงนี้เจอปัญหาเกี่ยว Error ตามด้านล่าง บ่อยมากจึงมานั่งหาสาเหตุว่าเกิดจากอะไร
เท่าที่เจอนะครับ เกิดจาก User มีการแก้ไขข้อมูลที่มีการบันทึกไปแล้ว และลบข้อมูลออก ทำให้ความสัมพันธ์ของข้อมูลผิดพลาด
เบื้องต้นแก้ปัญหาด้วย Block สิทธิในการแก้ไขของ User ไปก่อน
ตอนนี้ต้องมานั่ง เช็คข้อมูลที่ละจุดเยอะมาก พอจะมีวิธีแก้หรือเปล่าครับ หรือวิธีดึงเอาเฉพราะข้อมูลที่ต้องแล้วไปสร้าง database ใหม่ ถ้าเยอะๆ คงแก้ ไม่ไหว :( :(

OpenERP Server Error
Client Traceback (most recent call last):
File "/opt/openerp70/web/addons/web/http.py", line 204, in dispatch
response["result"] = method(self, **self.params)
File "/opt/openerp70/web/addons/web/controllers/main.py", line 1051, in search_read
return self.do_search_read(req, model, fields, offset, limit, domain, sort)
File "/opt/openerp70/web/addons/web/controllers/main.py", line 1086, in do_search_read
records = Model.read(ids, fields or False, req.context)
File "/opt/openerp70/web/addons/web/session.py", line 42, in proxy
result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw)
File "/opt/openerp70/web/addons/web/session.py", line 30, in proxy_method
result = self.session.send(self.service_name, method, *args)
File "/opt/openerp70/web/addons/web/session.py", line 103, in send
raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)


Server Traceback (most recent call last):
File "/opt/openerp70/web/addons/web/session.py", line 89, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/opt/openerp70/server/openerp/netsvc.py", line 296, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/openerp70/server/openerp/service/web_services.py", line 626, in dispatch
res = fn(db, uid, *params)
File "/opt/openerp70/server/openerp/osv/osv.py", line 190, in execute_kw
return self.execute(db, uid, obj, method, *args, **kw or {})
File "/opt/openerp70/server/openerp/osv/osv.py", line 132, in wrapper
return f(self, dbname, *args, **kwargs)
File "/opt/openerp70/server/openerp/osv/osv.py", line 199, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/opt/openerp70/server/openerp/osv/osv.py", line 187, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/opt/openerp70/server/openerp/osv/orm.py", line 3679, in read
result = self._read_flat(cr, user, select, fields, context, load)
File "/opt/openerp70/server/openerp/osv/orm.py", line 3800, in _read_flat
res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res)
File "/opt/openerp70/server/openerp/osv/fields.py", line 1145, in get
result = self._fnct(obj, cr, uid, ids, name, self._arg, context)
File "/opt/openerp70/server/openerp/osv/fields.py", line 1211, in _fnct_read
value = value[field] or False
File "/opt/openerp70/server/openerp/osv/orm.py", line 432, in __getitem__
raise KeyError('Field %s not found in %s'%(name, self))
KeyError: 'Field product_id not found in browse_record(mrp.production, 19494)'

ข้างบน