ส่งออกและนำเข้าข้อมูล

ใน Odoo บางครั้งจำเป็นต้องส่งออกหรือนำเข้าข้อมูลเพื่อรันรายงานหรือเพื่อแก้ไขข้อมูล เอกสารนี้ครอบคลุมการส่งออกและนำเข้าข้อมูลเข้าและออกจาก Odoo

Important

บางครั้งผู้ใช้อาจพบข้อผิดพลาด 'time out' หรือระเบียนไม่ได้รับการประมวลผลเนื่องจากขนาดของระเบียน สิ่งนี้อาจเกิดขึ้นได้กับการส่งออกขนาดใหญ่หรือในกรณีที่ไฟล์นำเข้ามีขนาดใหญ่เกินไป เพื่อหลีกเลี่ยงข้อจำกัดเกี่ยวกับขนาดของระเบียน ให้ประมวลผลการส่งออกหรือนำเข้าเป็นชุดย่อยที่เล็กลง

ส่งออกข้อมูลจาก Odoo

เมื่อทำงานกับฐานข้อมูล บางครั้งจำเป็นต้องส่งออกข้อมูลเป็นไฟล์แยกต่างหาก การทำเช่นนี้สามารถช่วยในการรายงานกิจกรรม แม้ว่า Odoo จะมีเครื่องมือการรายงานที่แม่นยำพร้อมกับแอปพลิเคชันแต่ละตัวที่มีอยู่

ด้วย Odoo สามารถส่งออกค่าจากฟิลด์ใดก็ได้ในเรกคอร์ดใดก็ได้ ในการทำเช่นนี้ ให้เปิดใช้งานมุมมองรายการ (รายการ) ในรายการที่ต้องการส่งออก จากนั้นเลือกเรกคอร์ดที่ควรส่งออก ในการเลือกเรกคอร์ด ให้ทำเครื่องหมายในช่องถัดจากเรกคอร์ดที่เกี่ยวข้อง สุดท้าย คลิกปุ่ม การกระทำ และเลือก ส่งออก

มุมมองของสิ่งต่าง ๆ ที่ต้องเปิดใช้งาน/คลิกเพื่อส่งออกข้อมูล

เมื่อคลิกที่ ส่งออก หน้าต่างป๊อปอัป ส่งออกข้อมูล จะปรากฏขึ้นพร้อมตัวเลือกหลายอย่างสำหรับข้อมูลที่จะส่งออก:

ภาพรวมของตัวเลือกที่ควรพิจารณาเมื่อส่งออกข้อมูลใน Odoo
  1. เมื่อทำเครื่องหมายที่ตัวเลือก ฉันต้องการอัปเดตข้อมูล (การส่งออกที่เข้ากันได้กับการนำเข้า) ระบบจะแสดงเฉพาะฟิลด์ที่สามารถนำเข้าได้ ซึ่งมีประโยชน์ในกรณีที่:ref:ต้องอัปเดตเรกคอร์ดที่มีอยู่ <essentials/update-data> ซึ่งทำงานเหมือนตัวกรอง การไม่ทำเครื่องหมายในช่องจะให้ตัวเลือกฟิลด์มากขึ้น เนื่องจากจะแสดงฟิลด์ทั้งหมด ไม่ใช่เฉพาะฟิลด์ที่สามารถนำเข้าได้เท่านั้น

  2. เมื่อส่งออก มีตัวเลือกในการส่งออกสองรูปแบบ: .csv และ .xls ด้วย .csv รายการจะถูกคั่นด้วยเครื่องหมายจุลภาค ในขณะที่ .xls เก็บข้อมูลเกี่ยวกับเวิร์กชีตทั้งหมดในไฟล์ รวมถึงเนื้อหาและการจัดรูปแบบ

  3. นี่คือรายการที่สามารถส่งออกได้ ใช้ไอคอน (แสดงฟิลด์ย่อย) เพื่อแสดงตัวเลือกฟิลด์ย่อยเพิ่มเติม ใช้แถบ ค้นหา เพื่อค้นหาฟิลด์เฉพาะ ในการใช้ตัวเลือก ค้นหา ได้อย่างมีประสิทธิภาพมากขึ้น ให้คลิกที่ไอคอน (แสดงฟิลด์ย่อย) ทั้งหมดเพื่อแสดงฟิลด์ทั้งหมด

  4. ปุ่มไอคอน (เลือกฟิลด์) ใช้เพื่อเพิ่มฟิลด์ในรายการ ฟิลด์ที่จะส่งออก

  5. ไอคอน (เรียงลำดับ) ทางด้านซ้ายของฟิลด์ที่เลือกสามารถใช้เพื่อย้ายฟิลด์ขึ้นและลง เพื่อเปลี่ยนลำดับที่แสดงในไฟล์ที่ส่งออก ลากและวางโดยใช้ไอคอน (เรียงลำดับ)

  6. ไอคอน (ลบฟิลด์) ใช้เพื่อลบฟิลด์ คลิกไอคอน (ลบฟิลด์) เพื่อลบฟิลด์

  7. สำหรับรายงานที่เกิดซ้ำ การบันทึกค่าที่ตั้งไว้ล่วงหน้าสำหรับการส่งออกจะมีประโยชน์ เลือกฟิลด์ที่จำเป็นทั้งหมด และคลิกที่เมนูแบบเลื่อนลงของเทมเพลต เมื่ออยู่ที่นั่น ให้คลิกที่ เทมเพลตใหม่ และตั้งชื่อที่ไม่ซ้ำให้กับเทมเพลตการส่งออก คลิกไอคอน (ฟล็อปปี้ไดรฟ์) เพื่อบันทึกการกำหนดค่า ครั้งต่อไปที่ต้องส่งออกรายการเดียวกัน ให้เลือกเทมเพลตที่เกี่ยวข้องที่บันทึกไว้ก่อนหน้านี้จากเมนูแบบเลื่อนลง

Tip

การทราบตัวระบุภายนอกของฟิลด์จะเป็นประโยชน์ ตัวอย่างเช่น บริษัทที่เกี่ยวข้อง ในส่วนติดต่อผู้ใช้การส่งออกจะเท่ากับ parent_id (ตัวระบุภายนอก) สิ่งนี้มีประโยชน์เพราะข้อมูลที่ส่งออกจะเป็นเพียงข้อมูลที่ควรแก้ไขและนำเข้าใหม่

นำเข้าข้อมูลเข้าสู่ Odoo

การนำเข้าข้อมูลเข้าสู่ Odoo มีประโยชน์อย่างมากในระหว่างการติดตั้งใช้งาน หรือในช่วงเวลาที่ต้องการ:ref:อัปเดตข้อมูลจำนวนมาก <essentials/update-data> เอกสารประกอบต่อไปนี้ครอบคลุมวิธีการนำเข้าข้อมูลเข้าสู่ฐานข้อมูล Odoo

Warning

การนำเข้ามีผลถาวรและ**ไม่สามารถ**ยกเลิกได้ อย่างไรก็ตาม สามารถใช้ตัวกรอง (สร้างเมื่อ หรือ แก้ไขล่าสุด) เพื่อระบุระเบียนที่เปลี่ยนแปลงหรือสร้างโดยการนำเข้า

Tip

การเปิดใช้งาน:ref:โหมดนักพัฒนา <developer-mode>`จะเปลี่ยนการตั้งค่าการนำเข้าที่มองเห็นในเมนูด้านซ้าย การดำเนินการดังกล่าวจะแสดงเมนู:menuselection:`ขั้นสูง ภายในเมนูขั้นสูงนี้มีตัวเลือกสองอย่าง: ติดตามประวัติระหว่างการนำเข้า และ อนุญาตให้จับคู่กับฟิลด์ย่อย

ตัวเลือกการนำเข้าขั้นสูงเมื่อเปิดใช้งานโหมดนักพัฒนา

หากโมเดลใช้ openchatter ตัวเลือก ติดตามประวัติระหว่างการนำเข้า จะตั้งค่าการสมัครสมาชิกและส่งการแจ้งเตือนระหว่างการนำเข้า แต่จะทำให้การนำเข้านั้นช้าลง

หากเลือกตัวเลือก:guilabel:อนุญาตให้จับคู่กับฟิลด์ย่อย ฟิลด์ย่อยทั้งหมดภายในฟิลด์จะถูกใช้เพื่อจับคู่ภายใต้:guilabel:`ฟิลด์ Odoo`ขณะนำเข้า

เริ่มเลย

สามารถนำเข้าข้อมูลบนวัตถุธุรกิจ Odoo ใดก็ได้โดยใช้รูปแบบ Excel (.xlsx) หรือ CSV (.csv) ซึ่งรวมถึง: รายชื่อผู้ติดต่อ ผลิตภัณฑ์ รายการธนาคาร รายการบัญชี และคำสั่งซื้อ

เปิดมุมมองของอ็อบเจ็กต์ที่ควรนำเข้า/กรอกข้อมูล คลิกที่ไอคอน (การกระทำ) และในเมนูแบบเลื่อนลงเลือก (นำเข้าเรกคอร์ด)

เมนูการดำเนินการที่แสดงโดยเน้นตัวเลือกนำเข้าระเบียน

คลิก นำเข้าเทมเพลตสำหรับลูกค้า ที่กึ่งกลางหน้าเพื่อดาวน์โหลด:ref:`เทมเพลต <essentials/export_import_data/adapt-a-template>`และกรอกข้อมูลของบริษัทเอง เทมเพลตดังกล่าวสามารถนำเข้าได้ในคลิกเดียวเนื่องจากการแมปข้อมูลได้รับการกำหนดค่าไว้ล่วงหน้าแล้ว

ในการอัปโหลดเทมเพลตที่ดาวน์โหลดหรือไฟล์ที่มีอยู่ ให้ทำตามขั้นตอนถัดไป:

  1. คลิก:guilabel:`อัปโหลดไฟล์ข้อมูล`และเลือกไฟล์ที่ต้องการ

  2. ปรับตัวเลือก:guilabel:`การจัดรูปแบบ`ตามต้องการ (สำหรับไฟล์ CSV เท่านั้น)

  3. ตรวจสอบให้แน่ใจว่าข้อมูลทั้งหมดใน:guilabel:`คอลัมน์ไฟล์`ถูกแมปอย่างถูกต้องกับ:guilabel:`ฟิลด์ Odoo`ที่เหมาะสมและปราศจากข้อผิดพลาด

  4. (ตัวเลือก) คลิก:guilabel:`โหลดไฟล์ข้อมูล`เพื่อโหลดไฟล์เดียวกันใหม่หรืออัปโหลดไฟล์อื่น

  5. คลิก:guilabel:`ทดสอบ`เพื่อตรวจสอบว่าข้อมูลถูกต้อง

  6. คลิก:guilabel:นำเข้า

Note

ตัวเลือก:guilabel:การจัดรูปแบบ`**ไม่**ปรากฏเมื่อนำเข้าไฟล์ Excel ประเภทกรรมสิทธิ์ (เช่น `.xls หรือ .xlsx)

ปรับแต่งเทมเพลต

เทมเพลตนำเข้ามีให้ใช้ในเครื่องมือนำเข้าสำหรับข้อมูลทั่วไปที่ต้องนำเข้า (รายชื่อผู้ติดต่อ ผลิตภัณฑ์ รายการธนาคาร ฯลฯ) เปิดเทมเพลตด้วยซอฟต์แวร์สปรีดชีตใดๆ (Microsoft Office, OpenOffice, Google Drive ฯลฯ)

เมื่อดาวน์โหลดเทมเพลตแล้ว ให้ดำเนินการตามขั้นตอนเหล่านี้:

  • เพิ่ม ลบ และจัดเรียงคอลัมน์ให้เหมาะสมกับโครงสร้างข้อมูลมากที่สุด

  • ขอแนะนำอย่างยิ่งว่า**ไม่ควร**ลบคอลัมน์ External ID (ID) (ดูเหตุผลในส่วนถัดไป)

  • กำหนด ID ที่ไม่ซ้ำกันให้กับทุกระเบียนโดยลากลำดับ ID ลงในคอลัมน์ External ID (ID)

ภาพเคลื่อนไหวของเมาส์ที่ลากลงในคอลัมน์ ID เพื่อให้แต่ละระเบียนมี ID ที่ไม่ซ้ำกัน

Note

เมื่อมีการเพิ่มคอลัมน์ใหม่ Odoo อาจไม่สามารถจับคู่คอลัมน์นั้นโดยอัตโนมัติได้ หากชื่อคอลัมน์ไม่ตรงกับฟิลด์ใดๆ ใน Odoo อย่างไรก็ตาม คอลัมน์ใหม่สามารถจับคู่ด้วยตนเองได้เมื่อทดสอบการนำเข้า ค้นหาเมนูแบบเลื่อนลงเพื่อหาฟิลด์ที่ตรงกัน

เมนูแบบเลื่อนลงที่ขยายออกในหน้าจอนำเข้าเริ่มต้นบน Odoo

จากนั้น ใช้ชื่อของฟิลด์นี้ในไฟล์นำเข้าเพื่อให้แน่ใจว่าการนำเข้าในอนาคตจะสำเร็จ

Tip

อีกวิธีหนึ่งที่มีประโยชน์ในการค้นหาชื่อคอลัมน์ที่เหมาะสมในการนำเข้าคือการส่งออกไฟล์ตัวอย่างโดยใช้ฟิลด์ที่จะนำเข้า ด้วยวิธีนี้ หากไม่มีเทมเพลตตัวอย่างการนำเข้า ชื่อจะถูกต้องแม่นยำ

นำเข้าจากแอปพลิเคชันอื่น

ID ภายนอก (ID) เป็นตัวระบุเฉพาะสำหรับรายการแต่ละบรรทัด สามารถใช้ ID ภายนอก (ID) จากซอฟต์แวร์ก่อนหน้าเพื่ออำนวยความสะดวกในการเปลี่ยนไปใช้ Odoo

การกำหนด ID ไม่จำเป็นเมื่อทำการนำเข้า แต่จะช่วยได้ในหลายกรณี:

เพื่อสร้างความสัมพันธ์ระหว่างระเบียนต่างๆ ควรใช้ตัวระบุที่ไม่ซ้ำกันจากแอปพลิเคชันต้นทางเพื่อจับคู่กับคอลัมน์ External ID (ID) ใน Odoo

เมื่อนำเข้าระเบียนอื่นที่เชื่อมโยงกับระเบียนแรก ให้ใช้ XXX/ID (XXX/External ID) สำหรับตัวระบุที่ไม่ซ้ำกันเดิม ระเบียนนี้สามารถค้นหาได้โดยใช้ชื่อด้วย

Warning

ควรทราบว่าจะเกิดข้อขัดแย้งหากมีสอง (หรือมากกว่า) ระเบียนที่มี External ID เดียวกัน

ไม่มีฟิลด์สำหรับจับคู่คอลัมน์

Odoo พยายามค้นหาประเภทของฟิลด์สำหรับแต่ละคอลัมน์ในไฟล์ที่นำเข้าโดยใช้วิธีฮิวริสติก โดยอิงจากสิบบรรทัดแรกของไฟล์

ตัวอย่างเช่น หากมีคอลัมน์ที่มีเฉพาะตัวเลข จะแสดงเฉพาะฟิลด์ที่มีประเภท integer เป็นตัวเลือก

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

หากเกิดเหตุการณ์นี้ขึ้น ให้เลือกตัวเลือก Show fields of relation fields (advanced) จากนั้นรายการฟิลด์ที่สมบูรณ์จะพร้อมใช้งานสำหรับแต่ละคอลัมน์

ค้นหาฟิลด์ที่ตรงกับคอลัมน์ภาษี

เปลี่ยนรูปแบบการนำเข้าข้อมูล

Note

Odoo สามารถตรวจจับได้โดยอัตโนมัติว่าคอลัมน์เป็นวันที่หรือไม่ และพยายามคาดเดารูปแบบวันที่จากชุดรูปแบบวันที่ที่ใช้บ่อยที่สุด แม้ว่ากระบวนการนี้จะใช้ได้กับรูปแบบวันที่หลายรูปแบบ แต่รูปแบบวันที่บางรูปแบบก็ไม่สามารถจดจำได้ สิ่งนี้อาจทำให้เกิดความสับสน เนื่องจากการกลับกันของวันและเดือน ทำให้ยากที่จะเดาว่าส่วนใดของรูปแบบวันที่คือวัน และส่วนใดคือเดือนในวันที่ เช่น 01-03-2016

เมื่อนำเข้าไฟล์ CSV Odoo จะมีตัวเลือก Formatting

หากต้องการดูว่า Odoo พบรูปแบบวันที่ใดจากไฟล์ ให้ตรวจสอบ Date Format ที่แสดงเมื่อคลิกที่ตัวเลือกใต้ตัวเลือกไฟล์ หากรูปแบบนี้ไม่ถูกต้อง ให้เปลี่ยนเป็นรูปแบบที่ต้องการโดยใช้ ISO 8601 เพื่อกำหนดรูปแบบ

Important

ISO 8601 เป็นมาตรฐานระหว่างประเทศที่ครอบคลุมการแลกเปลี่ยนทั่วโลกพร้อมกับการสื่อสารข้อมูลที่เกี่ยวข้องกับวันที่และเวลา ตัวอย่างเช่น รูปแบบวันที่ควรเป็น YYYY-MM-DD ในกรณีของวันที่ 24 กรกฎาคม 1981 ควรเขียนเป็น 1981-07-24

Tip

เมื่อนำเข้าไฟล์ Excel (.xls, .xlsx) ควรพิจารณาใช้ date cells เพื่อเก็บวันที่ ซึ่งจะรักษารูปแบบวันที่ตามภาษาสำหรับการแสดงผล โดยไม่คำนึงถึงว่าวันที่ถูกจัดรูปแบบอย่างไรใน Odoo เมื่อนำเข้าไฟล์ CSV ให้ใช้ส่วน Formatting ของ Odoo เพื่อเลือกรูปแบบวันที่ของคอลัมน์ที่จะนำเข้า

นำเข้าตัวเลขที่มีสัญลักษณ์สกุลเงิน

Odoo รองรับตัวเลขที่มีวงเล็บเพื่อแสดงเครื่องหมายลบอย่างสมบูรณ์ รวมถึงตัวเลขที่มีสัญลักษณ์สกุลเงินติดอยู่ Odoo ยังตรวจจับเครื่องหมายคั่นหลักพันและทศนิยมที่ใช้โดยอัตโนมัติ หากใช้สัญลักษณ์สกุลเงินที่ Odoo ไม่รู้จัก อาจไม่ถูกจดจำเป็นตัวเลข และการนำเข้าจะล้มเหลว

Note

เมื่อนำเข้าไฟล์ CSV เมนู Formatting จะปรากฏในคอลัมน์ด้านซ้าย ภายใต้ตัวเลือกเหล่านี้ สามารถเปลี่ยน Thousands Separator ได้

ตัวอย่างตัวเลขที่รองรับ (ใช้ 'สามหมื่นสองพัน' เป็นตัวเลข):

  • 32.000,00

  • 32000,00

  • 32,000.00

  • -32000.00

  • (32000.00)

  • $ 32.000,00

  • (32000.00 €)

ตัวอย่างที่ไม่ทำงาน:

  • ABC 32.000,00

  • $ (32.000,00)

Important

() (parenthesis) รอบตัวเลขบอกว่าตัวเลขนั้นเป็นค่าลบ สัญลักษณ์สกุลเงิน**ต้อง**วางอยู่ภายในวงเล็บเพื่อให้ Odoo รับรู้ว่าเป็นค่าสกุลเงินที่เป็นลบ

ตารางแสดงตัวอย่างการนำเข้าไม่แสดงอย่างถูกต้อง

ค่าเริ่มต้นของการแสดงตัวอย่างการนำเข้าตั้งเป็นเครื่องหมายจุลภาคเป็นตัวคั่นฟิลด์ และเครื่องหมายคำพูดเป็นตัวคั่นข้อความ หากไฟล์ CSV ไม่มีการตั้งค่าเหล่านี้ ให้แก้ไขตัวเลือก Formatting (แสดงใต้แถบไฟล์ Import CSV หลังจากเลือกไฟล์ CSV)

Important

หากไฟล์ CSV มีแท็บเป็นตัวคั่น Odoo จะ**ไม่**ตรวจจับการแยก ต้องแก้ไขตัวเลือกรูปแบบไฟล์ในแอปพลิเคชันสเปรดชีต ดูส่วน Change CSV file format ต่อไปนี้

เปลี่ยนรูปแบบไฟล์ CSV ในแอปพลิเคชันสเปรดชีต

เมื่อแก้ไขและบันทึกไฟล์ CSV ในแอปพลิเคชันสเปรดชีต การตั้งค่าภูมิภาคของคอมพิวเตอร์จะถูกนำไปใช้กับตัวคั่นและตัวกำหนดเขต Odoo แนะนำให้ใช้ OpenOffice หรือ LibreOffice เนื่องจากทั้งสองแอปพลิเคชันอนุญาตให้แก้ไขตัวเลือกทั้งสามนี้ได้ (จากแอปพลิเคชัน LibreOffice ให้ไปที่กล่องโต้ตอบ 'บันทึกเป็น' ‣ ทำเครื่องหมายที่ช่อง 'แก้ไขการตั้งค่าตัวกรอง' ‣ บันทึก)

Microsoft Excel สามารถแก้ไขการเข้ารหัสเมื่อบันทึก (กล่องโต้ตอบ 'Save As' ‣ เมนูแบบเลื่อนลง 'Tools' ‣ แท็บ Encoding)

ความแตกต่างระหว่าง Database ID และ External ID

บางฟิลด์กำหนดความสัมพันธ์กับออบเจกต์อื่น ตัวอย่างเช่น ประเทศของผู้ติดต่อเป็นลิงก์ไปยังเรกคอร์ดของออบเจกต์ 'Country' เมื่อนำเข้าฟิลด์เหล่านี้ Odoo ต้องสร้างลิงก์ระหว่างเรกคอร์ดต่าง ๆ ใหม่ เพื่อช่วยในการนำเข้าฟิลด์เหล่านี้ Odoo จึงมีกลไกสามแบบ

Important

ควรใช้กลไก**เพียงหนึ่ง**กลไกต่อฟิลด์ที่นำเข้า

ตัวอย่างเช่น ในการอ้างอิงประเทศของผู้ติดต่อ Odoo เสนอฟิลด์ที่แตกต่างกันสามฟิลด์สำหรับการนำเข้า:

  • Country: ชื่อหรือรหัสของประเทศ

  • Country/Database ID: ID เฉพาะของ Odoo สำหรับเรกคอร์ด ซึ่งกำหนดโดยคอลัมน์ ID ของ PostgreSQL

  • Country/External ID: ID ของเรกคอร์ดนี้ที่อ้างอิงในแอปพลิเคชันอื่น (หรือไฟล์ .XML ที่นำเข้า)

สำหรับประเทศเบลเยียม ตัวอย่างเช่น ใช้วิธีใดวิธีหนึ่งจากสามวิธีนี้ในการนำเข้า:

  • Country: Belgium

  • Country/Database ID: 21

  • Country/External ID: base.be

ตามความต้องการของบริษัท ให้ใช้วิธีใดวิธีหนึ่งจากสามวิธีนี้เพื่ออ้างอิงเรกคอร์ดในความสัมพันธ์ ต่อไปนี้เป็นตัวอย่างว่าควรใช้วิธีใดตามความต้องการ:

  • ใช้ Country: นี่เป็นวิธีที่ง่ายที่สุดเมื่อข้อมูลมาจากไฟล์ CSV ที่สร้างด้วยตนเอง

  • ใช้ Country/Database ID: ควรใช้ไม่บ่อยนัก ส่วนใหญ่ใช้โดยนักพัฒนา เนื่องจากข้อได้เปรียบหลักคือไม่มีความขัดแย้ง (อาจมีหลายเรกคอร์ดที่มีชื่อเดียวกัน แต่จะมี Database ID ที่ไม่ซ้ำกันเสมอ)

  • ใช้ Country/External ID: ใช้ External ID เมื่อนำเข้าข้อมูลจากแอปพลิเคชันของบุคคลที่สาม

เมื่อใช้ ID ภายนอก ให้โหลดไฟล์ CSV ที่มีคอลัมน์ External ID (ID) ที่กำหนด ID ภายนอก ของแต่ละระเบียนที่นำเข้า จากนั้นจึงสามารถสร้างการอ้างอิงไปยังบันทึกนั้นได้โดยใช้คอลัมน์ เช่น Field/External ID ไฟล์ CSV สองไฟล์ต่อไปนี้เป็นตัวอย่างของผลิตภัณฑ์และหมวดหมู่ของผลิตภัณฑ์

นำเข้าฟิลด์ความสัมพันธ์

ออบเจกต์ Odoo มักเกี่ยวข้องกับออบเจกต์อื่น ๆ มากมายเสมอ (เช่น สินค้าเชื่อมโยงกับหมวดหมู่สินค้า คุณลักษณะ ผู้ขาย ฯลฯ) ในการนำเข้าความสัมพันธ์เหล่านี้ จำเป็นต้องนำเข้าเรกคอร์ดของออบเจกต์ที่เกี่ยวข้องก่อนจากเมนูรายการของออบเจกต์นั้น

สามารถทำได้โดยใช้ชื่อของบันทึกที่เกี่ยวข้องหรือ ID ของบันทึกนั้น ขึ้นอยู่กับสถานการณ์ ID จะถูกคาดหวังเมื่อบันทึกสองรายการมีชื่อเดียวกัน ในกรณีดังกล่าว ให้เพิ่ม / ID ที่ส่วนท้ายของชื่อคอลัมน์ (เช่น สำหรับคุณลักษณะของผลิตภัณฑ์: คุณลักษณะของผลิตภัณฑ์ / คุณลักษณะ / ID)

ตัวเลือกสำหรับการจับคู่หลายรายการในฟิลด์

ตัวอย่างเช่น หากมีหมวดหมู่ผลิตภัณฑ์สองหมวดหมู่ที่มีชื่อย่อยว่า ขายได้ (เช่น ผลิตภัณฑ์เบ็ดเตล็ด/ขายได้ และ ผลิตภัณฑ์อื่นๆ/ขายได้) การตรวจสอบความถูกต้องจะหยุดลง แต่ข้อมูลอาจยังคงนำเข้าอยู่ อย่างไรก็ตาม Odoo ขอแนะนำว่าอย่านำเข้าข้อมูล เนื่องจากข้อมูลทั้งหมดจะเชื่อมโยงกับหมวดหมู่ ขายได้ แรกที่พบในรายการ หมวดหมู่ผลิตภัณฑ์ (ผลิตภัณฑ์เบ็ดเตล็ด/ขายได้) Odoo แนะนำให้แก้ไขค่าใดค่าหนึ่งที่ซ้ำกัน หรือลำดับชั้นหมวดหมู่ผลิตภัณฑ์แทน

อย่างไรก็ตาม หากบริษัทไม่ต้องการเปลี่ยนแปลงการกำหนดค่าของหมวดหมู่สินค้า Odoo แนะนำให้ใช้ External ID สำหรับฟิลด์ 'Category' นี้

นำเข้าฟิลด์ความสัมพันธ์ many2many

แท็กควรคั่นด้วยเครื่องหมายจุลภาค โดยไม่มีช่องว่าง ตัวอย่างเช่น หากลูกค้าต้องการเชื่อมโยงกับทั้งสองแท็ก: Manufacturer และ Retailer จะต้องเข้ารหัส 'Manufacturer,Retailer' ในคอลัมน์เดียวกันของไฟล์ CSV

นำเข้าความสัมพันธ์ one2many

หากบริษัทต้องการนำเข้าใบสั่งขายที่มีบรรทัดคำสั่งซื้อหลายรายการ แถวเฉพาะจะ ต้อง ถูกจองไว้ในไฟล์ CSV สำหรับแต่ละบรรทัดคำสั่งซื้อ รายการคำสั่งซื้อแรกจะถูกนำเข้าในแถวเดียวกันกับข้อมูลที่สัมพันธ์กับคำสั่งซื้อ บรรทัดเพิ่มเติมจำเป็นต้องมีแถวเพิ่มเติมที่ไม่มีข้อมูลใดๆ ในฟิลด์ที่เกี่ยวข้องกับคำสั่งซื้อ

Example

บริษัทนำเข้าใบเสนอราคาโดยใช้ไฟล์ CSV ตามข้อมูลสาธิต:

บริษัทนำเข้าใบสั่งซื้อพร้อมรายการใบสั่งซื้อที่เกี่ยวข้องโดยใช้ไฟล์ CSV:

บริษัทนำเข้าลูกค้าและรายชื่อผู้ติดต่อที่เกี่ยวข้องโดยใช้ไฟล์ CSV:

นำเข้าไฟล์ภาพ

เพื่อนำเข้าไฟล์ภาพพร้อมกับไฟล์ CSV หรือ Excel ที่:ref:อัปโหลด <essentials/export_import_data/get-started> ให้ทำตามขั้นตอนต่อไปนี้:

  1. เพิ่มชื่อไฟล์ภาพลงในคอลัมน์ Image ที่เกี่ยวข้องในไฟล์ข้อมูล

  2. อัปโหลดไฟล์ข้อมูล หรือโหลดซ้ำโดยคลิก Load Data File

  3. คลิก Upload your files ภายใต้ส่วน Files to import

  4. เลือกไฟล์ภาพที่เกี่ยวข้อง จำนวนไฟล์ที่เลือกจะปรากฏถัดจากปุ่ม

  5. คลิก Test เพื่อตรวจสอบว่าข้อมูลทั้งหมดถูกต้อง

  6. คลิก Import ในระหว่างกระบวนการนำเข้า Odoo จะตรวจสอบไฟล์เพื่อเชื่อมโยงภาพที่อัปโหลดกับไฟล์ข้อมูลที่นำเข้าโดยอัตโนมัติ หากไม่มีการจับคู่ ไฟล์ข้อมูลจะถูกนำเข้าโดยไม่มีภาพใดๆ

Note

  • ส่วน Files to import จะเปิดใช้งานได้หากเทมเพลตสินค้ามีคอลัมน์ Image ที่มีข้อมูลครบทุกฟิลด์

  • ชื่อไฟล์ภาพในไฟล์ข้อมูลต้องตรงกับไฟล์ภาพที่อัปโหลด

  • เมื่อนำเข้ารูปภาพจำนวนมาก ให้ระบุขนาดชุดงานสูงสุดเป็นเมกะไบต์และตั้งค่าการหน่วงเวลาเพื่อป้องกันไม่ให้ระบบทำงานหนักเกินไป โดย เปิดใช้งาน developer mode และกรอกข้อมูลในฟิลด์ Max size per batch และ Delay after each batch ในส่วน Files to import โดยค่าเริ่มต้นการหน่วงเวลาจะตรงตามขั้นต่ำการเรียก RPC/API ที่กำหนดไว้ใน Odoo Cloud - Acceptable Use Policy

นำเข้าระเบียนหลายครั้ง

หากไฟล์ที่นำเข้ามีคอลัมน์ใดคอลัมน์หนึ่งต่อไปนี้: รหัสภายนอก หรือ รหัสฐานข้อมูล บันทึกที่นำเข้าไปแล้วจะถูกแก้ไขแทนที่จะถูกสร้างใหม่ ซึ่งมีประโยชน์อย่างยิ่งเนื่องจากช่วยให้ผู้ใช้สามารถนำเข้าไฟล์ CSV เดียวกันได้หลายครั้งในขณะที่มีการเปลี่ยนแปลงบางอย่างระหว่างการนำเข้าสองครั้ง

Odoo จะดูแลการสร้างหรือแก้ไขแต่ละระเบียน ขึ้นอยู่กับว่าเป็นระเบียนใหม่หรือไม่

ฟีเจอร์นี้ช่วยให้บริษัทสามารถใช้ เครื่องมือนำเข้า/ส่งออก ใน Odoo เพื่อแก้ไขระเบียนเป็นชุดในแอปพลิเคชันสเปรดชีต

ไม่ได้ระบุค่าสำหรับฟิลด์เฉพาะ

หากไม่ได้ตั้งค่าฟิลด์ทั้งหมดในไฟล์ CSV Odoo จะกำหนดค่าเริ่มต้นให้กับทุกฟิลด์ที่ไม่ได้กำหนดไว้ อย่างไรก็ตาม หากฟิลด์ถูกตั้งค่าด้วยค่าว่างในไฟล์ CSV Odoo จะตั้งค่าว่างในฟิลด์นั้นแทนที่จะกำหนดค่าเริ่มต้น

ส่งออก/นำเข้าตารางต่างๆ จากแอปพลิเคชัน SQL ไปยัง Odoo

หากต้องการนำเข้าข้อมูลจากตารางต่างๆ จะต้องสร้างความสัมพันธ์ระหว่างระเบียนที่อยู่ในตารางต่างๆ ขึ้นมาใหม่ ตัวอย่างเช่น หากมีการนำเข้าบริษัทและบุคคล จะต้องสร้างลิงก์ระหว่างแต่ละบุคคลกับบริษัทที่พวกเขาทำงานให้ขึ้นมาใหม่

หากต้องการจัดการความสัมพันธ์ระหว่างตาราง ให้ใช้เครื่องมือ รหัสภายนอก ของ Odoo รหัสภายนอก ของบันทึกคือตัวระบุเฉพาะของบันทึกนี้ในแอปพลิเคชันอื่น รหัสภายนอก จะต้องไม่ซ้ำกันในบันทึกทั้งหมดของออบเจ็กต์ทั้งหมด แนวทางปฏิบัติที่ดีคือเติมคำนำหน้า รหัสภายนอก ด้วยชื่อของแอปพลิเคชันหรือตาราง (เช่น 'company_1', 'person_1' - แทนที่จะเป็น '1')

Jako příklad předpokládejme, že existuje SQL databáze se dvěma tabulkami, které mají být importovány: společnosti a lidé. Každá osoba patří k jedné společnosti, takže je třeba znovu vytvořit spojení mezi osobou a společností, pro kterou pracuje.

Vyzkoušejte tento příklad s ukázkou PostgreSQL databáze.

Nejprve exportujte všechny společnosti a jejich Externí ID. V PSQL napište následující příkaz:

> copy (select 'company_'||id as "External ID",company_name as "Name",'True' as "Is a Company" from companies) TO '/tmp/company.csv' with CSV HEADER;

Tento SQL příkaz vytvoří následující CSV soubor:

External ID,Name,Is a Company
company_1,Bigees,True
company_2,Organi,True
company_3,Boum,True

Pro vytvoření CSV souboru pro osoby propojené se společnostmi použijte následující SQL příkaz v PSQL:

> copy (select 'person_'||id as "External ID",person_name as "Name",'False' as "Is a Company",'company_'||company_id as "Related Company/External ID" from persons) TO '/tmp/person.csv' with CSV

Vytvoří následující CSV soubor:

External ID,Name,Is a Company,Related Company/External ID
person_1,Fabien,False,company_1
person_2,Laurence,False,company_1
person_3,Eric,False,company_2
person_4,Ramsy,False,company_3

ในไฟล์นี้ Fabien และ Laurence กำลังทำงานให้กับบริษัท Bigees (company_1) และ Eric กำลังทำงานให้กับบริษัท Organi ความสัมพันธ์ระหว่างบุคคลและบริษัทเสร็จสิ้นโดยใช้ ID ภายนอก ของบริษัท รหัสภายนอก นำหน้าด้วยชื่อของตารางเพื่อหลีกเลี่ยงความขัดแย้งของรหัสระหว่างบุคคลและบริษัท (person_1 และ company_1 ซึ่งใช้ ID 1 เดียวกันในฐานข้อมูลดั้งเดิม)

ไฟล์ทั้งสองที่สร้างขึ้นนั้นพร้อมที่จะนำเข้าใน Odoo โดยไม่ต้องปรับเปลี่ยนหลังจากนำเข้าไฟล์ CSV สองไฟล์นี้แล้ว จะมีรายชื่อผู้ติดต่อสี่รายและบริษัทสามแห่ง (รายชื่อผู้ติดต่อสองรายแรกเชื่อมโยงกับบริษัทแรก) โปรดจำไว้ว่าต้องนำเข้าบริษัทก่อน จากนั้นจึงนำเข้าบุคคล

Aktualizace dat v Odoo

Existující data lze hromadně aktualizovat prostřednictvím importu dat, pokud Externí ID zůstane konzistentní.

Příprava exportu dat

เพื่ออัปเดตข้อมูลผ่านการนำเข้า ให้ไปที่ข้อมูลที่ต้องการอัปเดต และเลือกไอคอน (List) เพื่อเปิดใช้งานมุมมองรายการ ที่ด้านซ้ายสุดของรายการ ให้ทำเครื่องหมายในช่องทำเครื่องหมายสำหรับระเบียนใดๆ ที่ต้องการอัปเดต จากนั้นคลิกปุ่ม Actions และเลือก Export จากเมนูแบบเลื่อนลง

Ve výsledném vyskakovacím okně Export dat zaškrtněte políčko Chci aktualizovat data (export kompatibilní s importem). Tím se automaticky zahrne Externí ID do exportu. Navíc se omezí seznam Pole k exportu pouze na pole, která lze importovat.

Note

Pole Externí ID se nezobrazí v seznamu Pole k exportu, pokud není ručně přidáno, ale stále je zahrnuto v exportu. Pokud je však zaškrtnuto políčko Chci aktualizovat data (export kompatibilní s importem), je zahrnuto v exportu.

Vyberte požadovaná pole, která mají být zahrnuta do exportu, pomocí možností ve vyskakovacím okně a poté klikněte na Exportovat.

Import aktualizovaných dat

Po exportu proveďte v datovém souboru potřebné změny. Když je soubor připraven, lze jej importovat podle stejného postupu jako při běžném importu dat.

Danger

Při aktualizaci dat je nesmírně důležité, aby Externí ID zůstalo konzistentní, protože takto systém identifikuje záznam. Pokud je ID změněno nebo odstraněno, systém může přidat duplicitní záznam místo aktualizace stávajícího.