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

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

Odoo 9 import customer (CSV) ได้ทีละ 15 records

ตอบกระทู้


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

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

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: Odoo 9 import customer (CSV) ได้ทีละ 15 records

Re: Odoo 9 import customer (CSV) ได้ทีละ 15 records

โพสต์ โดย twinsen » จันทร์ 13 มิ.ย. 2016 1:47 pm

csv นั่นผม export มาจากระบบอื่นที่ไม่ใช่ Odoo ครับ เขียน sql ดึงมาใส่ excel อีกที

ตอนจะเอาเข้า Odoo ผมนำเข้าผ่านหน้า Contacts >> Imports ครับ (เพราะตอนนี้ยังรู้จัก Odoo แค่แบบผิวเผิน เลยทำได้แค่นี้)

format ของแถวที่ 16 จะเหมือนกับเพื่อนๆ ละครับ เพราะที่มาของข้อมูลคือดึงจาก sql และถ้าผมตัดแถวที่ 1-15 ออก แถวที่ 16 ที่เลื่อนมาเป็นแถวที่ 1 และอีก 14 แถวถัดมา ก็จะนำเข้าได้ปกติครับ เลยใช้วิธีตัดนำเข้าทีละ 15 records ตามที่ตอบไปก่อนนี้ครับ

Re: Odoo 9 import customer (CSV) ได้ทีละ 15 records

โพสต์ โดย chaiyapon » จันทร์ 13 มิ.ย. 2016 1:25 pm

twinsen เขียน:ผมติดตั้ง Odoo 9 เสร็จแล้วก็ทำการทดลอง import ข้อมูล customer จากระบบเก่าดู

พบปัญหาว่า import ได้แค่คราวละ 15 record เท่านั้น ถ้าเกินกว่านั้นจะ error ตามข้างล่างครับ

ปัญหานี้แก้ไขอย่างไรครับ

โค้ด: เลือกทั้งหมด

2016-06-10 08:44:44,242 10431 ERROR odoo openerp.http: Exception during JSON
request handling.
Traceback (most recent call last):
  File "/odoo/odoo-server/openerp/http.py", line 643, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/odoo/odoo-server/openerp/http.py", line 680, in dispatch
    result = self._call_function(**self.params)
  File "/odoo/odoo-server/openerp/http.py", line 316, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/odoo/odoo-server/openerp/service/model.py", line 118, in wrapper
    return f(dbname, *args, **kwargs)
  File "/odoo/odoo-server/openerp/http.py", line 309, in checked_call
    result = self.endpoint(*a, **kw)
  File "/odoo/odoo-server/openerp/http.py", line 959, in __call__
    return self.method(*args, **kw)
  File "/odoo/odoo-server/openerp/http.py", line 509, in response_wrap
    response = f(*args, **kw)
  File "/odoo/odoo-server/addons/web/controllers/main.py", line 896, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/odoo/odoo-server/addons/web/controllers/main.py", line 888, in _call_kw
    return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
  File "/odoo/odoo-server/openerp/api.py", line 250, in wrapper
    return old_api(self, *args, **kwargs)
  File "/odoo/odoo-server/addons/base_import/models.py", line 452, in do
    record, fields, options, context=context)
  File "/odoo/odoo-server/addons/base_import/models.py", line 419, in _convert_import_data
    row for row in itertools.imap(mapper, rows_to_import)
IndexError: list index out of range

ตัว csv เป็นตัวที่ Export ออกมาจาก odoo หรือเปล่าครับ ถ้าไม่ใช่ ก็ลอง export ออกมาจาก odoo ดูนะครับ แล้วก็ที่ส่งสัยคือ csv Formate แถวที่ 16 เหมือนเพื่อนหรือเปล่า เพราะที่ผมเคยทำนำเขาที่ละเยอะๆได้ครับ ลองดูนะครับ

Re: Odoo 9 import customer (CSV) ได้ทีละ 15 records

โพสต์ โดย ntnw » จันทร์ 13 มิ.ย. 2016 11:23 am

บางทีถ้ายังไม่ได้ศึกษาตัว table เลย การ import ผ่าน หน้า Client ก็ดีครับ จะไม่เจอ ปัญหาเรื่อง Table ที่ Link กันอยู่

แต่ถ้ารู้จัก table ดีแล้ว ตาม อ.kitcle เลยครับสะดวกสุด

Re: Odoo 9 import customer (CSV) ได้ทีละ 15 records

โพสต์ โดย twinsen » จันทร์ 13 มิ.ย. 2016 9:41 am

ที่ยกตัวอย่างมาคือภาษา Python ใช่มั้ยครับ ผมยังไม่ได้เริ่มศึกษาเรื่องใช้ Python กับ Odoo เลยครับ

ส่วนปัญหาเรื่องภาษาอ่านไม่ออก พอดีข้อมูลในระบบเก่า มีแต่ภาษาอังกฤษครับ เท่าที่ทดลอง import มาแล้ว ยังไม่เจอปัญหา แต่ก็ถือว่าเป็นข้อมูลที่เป็นประโยชน์ครับ

ตอนนี้ผมใช้วิธีตัดข้อมูลทีละ 15 record แล้วทะยอย import เอาครับ ข้อมูลเยอะมาก ยังไม่เสร็จเลยครับ :-|

ขอบคุณครับ

Re: Odoo 9 import customer (CSV) ได้ทีละ 15 records

โพสต์ โดย kitcle » เสาร์ 11 มิ.ย. 2016 3:01 pm

การ นำเข้า - ส่งออก CSV ผ่าน odoo โดยตรง ยังมีข้อเสียเปรียบ
คือ ชื่อ ฟิลด์ ข้อมุลต่างๆ มันยึกยือ ภาษต่างดาว หรือแม้แต่ตัว key value ก็มนุษย์อ่านไม่เข้าใจ


ส่วนใหญ่ นักพัฒนา เขาไม่ใช่ นำเข้า- ส่งออกข้อมุลทางนี้ครับ
ผมก็จะใช้วิธี export ผ่าน postgresql เลย

Export Code

โค้ด: เลือกทั้งหมด

Copy (select id,
  name ,
  code ,
  is_company
 from res_partner) To '/tmp/rp.csv' With CSV HEADER;


พอได้ csv ที่ปลายทาง ก็ นำเข้ามาใช้ใหม่ได้
แถมสามารถเขียน query sql ทำไรเยอะแยะก่อน นำออก นำเข้า

Import Code

โค้ด: เลือกทั้งหมด

COPY res_partner(id ,name ,code, is_company )
FROM ''/tmp/rp.csv'
WITH DELIMITER ','
CSV HEADER

Odoo 9 import customer (CSV) ได้ทีละ 15 records

โพสต์ โดย twinsen » ศุกร์ 10 มิ.ย. 2016 4:04 pm

ผมติดตั้ง Odoo 9 เสร็จแล้วก็ทำการทดลอง import ข้อมูล customer จากระบบเก่าดู

พบปัญหาว่า import ได้แค่คราวละ 15 record เท่านั้น ถ้าเกินกว่านั้นจะ error ตามข้างล่างครับ

ปัญหานี้แก้ไขอย่างไรครับ

โค้ด: เลือกทั้งหมด

2016-06-10 08:44:44,242 10431 ERROR odoo openerp.http: Exception during JSON
request handling.
Traceback (most recent call last):
  File "/odoo/odoo-server/openerp/http.py", line 643, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/odoo/odoo-server/openerp/http.py", line 680, in dispatch
    result = self._call_function(**self.params)
  File "/odoo/odoo-server/openerp/http.py", line 316, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/odoo/odoo-server/openerp/service/model.py", line 118, in wrapper
    return f(dbname, *args, **kwargs)
  File "/odoo/odoo-server/openerp/http.py", line 309, in checked_call
    result = self.endpoint(*a, **kw)
  File "/odoo/odoo-server/openerp/http.py", line 959, in __call__
    return self.method(*args, **kw)
  File "/odoo/odoo-server/openerp/http.py", line 509, in response_wrap
    response = f(*args, **kw)
  File "/odoo/odoo-server/addons/web/controllers/main.py", line 896, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/odoo/odoo-server/addons/web/controllers/main.py", line 888, in _call_kw
    return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
  File "/odoo/odoo-server/openerp/api.py", line 250, in wrapper
    return old_api(self, *args, **kwargs)
  File "/odoo/odoo-server/addons/base_import/models.py", line 452, in do
    record, fields, options, context=context)
  File "/odoo/odoo-server/addons/base_import/models.py", line 419, in _convert_import_data
    row for row in itertools.imap(mapper, rows_to_import)
IndexError: list index out of range

ข้างบน