Xuất và nhập dữ liệu¶
Trong Odoo, đôi khi cần phải xuất hoặc nhập dữ liệu để chạy báo cáo hoặc sửa đổi dữ liệu.
Quan trọng
Đôi khi, người dùng gặp phải lỗi 'hết thời gian' hoặc bản ghi không được xử lý, do kích thước của nó.
Xuất dữ liệu từ Odoo¶
Khi làm việc với cơ sở dữ liệu, đôi khi cần phải xuất dữ liệu trong một tệp riêng biệt.
Với ODOO, các giá trị có thể được xuất từ bất kỳ trường nào trong bất kỳ bản ghi nào.

Khi nhấp vào: guilabel: export
, an: guilabel:` cửa sổ pop-over xuất xuất xuất hiện, với một số tùy chọn để dữ liệu xuất xuất:

Với: Guilabel:
Tôi muốn cập nhật dữ liệu (xuất nhập tương thích nhập)
được đánh dấu, hệ thống chỉ hiển thị các trường có thể được nhập.Khi xuất, có tùy chọn xuất ở hai định dạng:
.csv
và` .xls`.Đây là những mặt hàng có thể được xuất khẩu.
The: Guilabel:
(cộng với dấu)
Nút biểu tượng có mặt để thêm các trường vào danh sách: guilabel: `The: Guilabel:
↕ (mũi tên lên xuống)
ở bên trái của các trường đã chọn có thể được sử dụng để di chuyển các trường lên và xuống, để thay đổi thứ tự chúng được hiển thị trong tệp xuất.The: Guilabel:
🗑 (thùng rác có thể)
Biểu tượng được sử dụng để loại bỏ các trường.Đối với các báo cáo định kỳ, rất hữu ích để lưu các cài đặt trước xuất khẩu.
Mẹo
Thật hữu ích khi biết định danh bên ngoài của trường.
Nhập dữ liệu từ Odoo¶
Nhập dữ liệu vào ODOO là vô cùng hữu ích trong quá trình triển khai hoặc trong thời gian dữ liệu cần phải có: ref: Được cập nhật với số lượng lớn <orssinesss/update-data>
.
Cảnh báo
Nhập khẩu là vĩnh viễn và ** không thể ** được hoàn tác.
Mẹo
Kích hoạt: REF: Chế độ nhà phát triển <chế độ phát triển>
Thay đổi cài đặt nhập hiển thị trong menu bên trái.

Nếu mô hình sử dụng OpenChatter, Tùy chọn: Guilabel: Theo dõi Lịch sử trong quá trình nhập
sẽ thiết lập đăng ký và gửi thông báo trong quá trình nhập, nhưng dẫn đến nhập chậm hơn.
Nên chọn: Guilabel: Cho phép khớp với tùy chọn SubFields
, thì tất cả các trường con trong một trường được sử dụng để khớp với: guilabel: 'odoo' trong khi nhập.
Bắt đầu¶
Dữ liệu có thể được nhập trên bất kỳ đối tượng kinh doanh ODOO nào bằng cách sử dụng Excel (.xlsx
) hoặc: ABBR:` CSV (giá trị phân tách bằng dấu phẩy) (
.csv`).
Mở chế độ xem của đối tượng mà dữ liệu nên được nhập/điền vào và nhấp vào: Menuselection: ⚙ (Hành động) -> Nhập bản ghi
.

Sau khi nhấp vào: Guilabel: Nhập bản ghi
, Odoo tiết lộ một trang riêng với các mẫu có thể được tải xuống và điền với dữ liệu của công ty.
Quan trọng
Khi nhập A: ABBR: CSV (Giá trị phân tách bằng dấu phẩy)
Tệp, Odoo cung cấp: Guilabel: Tùy chọn định dạng
.

Thực hiện các điều chỉnh cần thiết cho các tùy chọn * định dạng * và đảm bảo tất cả các cột trong: guilabel: odoo field
và: guilabel:` cột tệp 'không có lỗi.
Điều chỉnh mẫu¶
Mẫu nhập được cung cấp trong công cụ nhập của dữ liệu phổ biến nhất để nhập (danh bạ, sản phẩm, báo cáo ngân hàng, v.v.).
Sau khi tải xuống mẫu, hãy tiến hành làm theo các bước sau:
Thêm, xóa và sắp xếp các cột để phù hợp nhất với cấu trúc dữ liệu.
Bạn nên ** không ** Xóa: Guilabel:
Cột ID id
(ID) bên ngoài (xem tại sao trong phần tiếp theo).Đặt ID duy nhất cho mọi bản ghi bằng cách kéo xuống chuỗi ID trong: Guilabel:
Cột ID id
(ID) bên ngoài.

Ghi chú
Khi một cột mới được thêm vào, ODOO có thể không thể lập bản đồ nó tự động, nếu nhãn của nó không phù hợp với bất kỳ trường nào trong ODOO.

Sau đó, sử dụng nhãn của trường này trong tệp nhập để đảm bảo nhập khẩu trong tương lai thành công.
Mẹo
Một cách hữu ích khác để tìm ra tên cột thích hợp để nhập là xuất một tệp mẫu bằng các trường cần được nhập.
Nhập từ một ứng dụng khác¶
The: Guilabel: id id
(ID) là một định danh duy nhất cho mục dòng.
Đặt ID không bắt buộc khi nhập, nhưng nó giúp trong nhiều trường hợp:
: ref:
Cập nhật nhập khẩu <Essentials/Update-Data>
: Nhập cùng một tệp nhiều lần mà không tạo sao chép.
Để tạo lại các mối quan hệ giữa các bản ghi khác nhau, cần nhận dạng duy nhất từ ứng dụng gốc nên được sử dụng để ánh xạ tới: Guilabel: Cột ID id
(ID) bên ngoài trong ODOO.
Khi một bản ghi khác được nhập liên kết đến tệp đầu tiên, hãy sử dụng ** xxx/id ** (xxx/id bên ngoài) cho định danh duy nhất ban đầu.
Thiếu trường để map cột¶
Odoo heuristic cố gắng tìm loại trường cho mỗi cột bên trong tệp đã nhập, dựa trên mười dòng đầu tiên của các tệp.
Ví dụ: nếu có một cột chỉ chứa các số, chỉ các trường có loại * Integer * được trình bày dưới dạng tùy chọn.
Mặc dù hành vi này có thể có lợi trong hầu hết các trường hợp, nhưng cũng có thể nó có thể thất bại hoặc cột có thể được ánh xạ tới một trường không được đề xuất theo mặc định.
Nếu điều này xảy ra, hãy kiểm tra: Guilabel: `Hiển thị các trường của các trường quan hệ (nâng cao), sau đó, một danh sách đầy đủ các trường sẽ có sẵn cho mỗi cột.

Thay đổi định dạng nhập dữ liệu¶
Ghi chú
Odoo có thể tự động phát hiện nếu một cột là một ngày và cố gắng đoán định dạng ngày từ một tập hợp các định dạng ngày được sử dụng phổ biến nhất.
Khi nhập A: ABBR: CSV (Giá trị phân tách bằng dấu phẩy)
Tệp, Odoo cung cấp: Guilabel: Tùy chọn định dạng
.
Để xem định dạng ngày nào Odoo đã tìm thấy từ tệp, hãy kiểm tra: guilabel: `định dạng ngày 'được hiển thị khi nhấp vào các tùy chọn trong bộ chọn tệp.
Quan trọng
ISO 8601 is an international standard, covering the worldwide exchange, along with the
communication of date and time-related data. For example, the date format should be YYYY-MM-DD
.
So, in the case of July 24th 1981, it should be written as 1981-07-24
.
Mẹo
Khi nhập các tệp excel (.xls
,` .xlsx`), hãy xem xét sử dụng * các ô ngày * để lưu trữ ngày.
Nhập số kèm ký hiệu tiền tệ¶
ODOO hoàn toàn hỗ trợ các số có dấu ngoặc đơn để biểu thị các dấu hiệu tiêu cực, cũng như các số có dấu hiệu tiền tệ được gắn với chúng.
Ghi chú
Khi nhập A: ABBR: CSV (Giá trị phân tách bằng dấu phẩy)
Tệp, menu: Guilabel: Định dạng
xuất hiện trên cột bên trái.
Examples of supported numbers (using 'thirty-two thousand' as the figure):
32.000,00
32000,00
32,000.00
-32000.00
(32000.00)
$ 32.000,00
(32000.00 €)
Ví dụ về dữ liệu không được hỗ trợ
ABC 32.000,00
$ (32.000,00)
Quan trọng
A: Guilabel: () (dấu ngoặc đơn)
xung quanh số cho biết số là giá trị âm.
Bảng xem trước nhập không được hiển thị chính xác¶
Theo mặc định, bản xem trước nhập được đặt trên dấu phẩy làm dấu phân cách trường và dấu ngoặc kép là trình phân cách văn bản.
Quan trọng
Nếu: ABBR: CSV (Giá trị phân tách bằng dấu phẩy)
có một bảng làm phân tách, Odoo không ** không phát hiện các phân tách.
Thay đổi định dạng tệp CSV trong ứng dụng bảng tính¶
Khi chỉnh sửa và lưu: ABBR: CSV (Giá trị phân tách bằng dấu phẩy)
Các tệp trong các ứng dụng bảng tính, cài đặt khu vực của máy tính được áp dụng cho bộ phân cách và dấu phân cách.
Microsoft Excel có thể sửa đổi mã hóa khi lưu (: Menuselection: 'Save As' hộp thoại-> '' Menu thả xuống Công cụ '-> Tab mã hóa
).
Sự khác biệt giữa ID cơ sở dữ liệu và ID bên ngoài¶
Một số trường xác định mối quan hệ với một đối tượng khác.
Quan trọng
** Chỉ nên sử dụng một cơ chế ** trên mỗi trường được nhập.
Ví dụ, để tham khảo quốc gia của một liên hệ, Odoo đề xuất ba lĩnh vực khác nhau để nhập khẩu:
: Guilabel:
đất nước
: Tên hoặc mã của đất nước: Guilabel:
ID quốc gia/cơ sở dữ liệu id
: ID ODOO duy nhất cho một bản ghi, được xác định bởi cột ID PostgreSQL: guilabel:
quốc gia/id id
: id của bản ghi này được tham chiếu trong một ứng dụng khác (hoặc tệp` .xml` đã nhập nó)
Ví dụ, đối với đất nước Bỉ, sử dụng một trong ba cách để nhập khẩu này:
Quốc gia:
Bỉ
ID quốc gia/cơ sở dữ liệu:
21
ID bên ngoài/quốc gia:
base.be
Theo nhu cầu của công ty, hãy sử dụng một trong ba cách này để tham khảo các hồ sơ trong quan hệ.
Sử dụng: Guilabel:
Country
: Đây là cách dễ nhất khi dữ liệu đến từ: ABBR:` CSV (các giá trị được phân tách bằng dấu phẩy) `đã được tạo thủ công.Sử dụng: Guilabel:
ID quốc gia/cơ sở dữ liệu id
: Điều này hiếm khi được sử dụng.Sử dụng: Guilabel: `ID quốc gia/ID bên ngoài: Sử dụng * ID bên ngoài * Khi nhập dữ liệu từ ứng dụng của bên thứ ba.
Khi * ID bên ngoài * được sử dụng, nhập: ABBR: CSV (Giá trị phân tách bằng dấu phẩy)
Các tệp có: guilabel: Cột ID id
(ID) Xác định * ID bên ngoài * của mỗi bản ghi được nhập.
: Tải xuống:
Tệp CSV cho các danh mục <export_import_data/external_id_3rd_party_application_product_corgories.csv>
Tệp CSV cho danh mục
Nhập trường quan hệ¶
Một đối tượng Odoo luôn liên quan đến nhiều đối tượng khác (ví dụ: một sản phẩm được liên kết với các loại sản phẩm, thuộc tính, nhà cung cấp, v.v.).
Điều này có thể đạt được bằng cách sử dụng tên của bản ghi liên quan hoặc ID của nó, tùy thuộc vào hoàn cảnh.
Tùy chọn cho nhiều trận đấu trên các trường¶
Ví dụ, nếu có hai loại sản phẩm có tên con có thể bán được '(ví dụ:
misc. Sản phẩm/có thể bán được`
However, if the company does not wish to change the configuration of product categories, Odoo recommends making use of the External ID for this field, 'Category'.
Nhập trường quan hệ many2many¶
Các thẻ phải được phân tách bằng dấu phẩy, mà không có khoảng cách.
: Tải xuống:
Tệp CSV cho nhà sản xuất, nhà bán lẻ <export_import_data/m2m_customers_tags.csv>
Tệp CSV cho Nhà sản xuất, Nhà bán lẻ
Nhập quan hệ one2many¶
Nếu một công ty muốn nhập đơn đặt hàng bán hàng với một số dòng đặt hàng, một hàng cụ thể ** phải ** được bảo lưu trong tệp: ABBR: CSV (giá trị phân tách bằng dấu phẩy)
cho mỗi dòng đơn hàng.
Ví dụ, đây là: ABBR: CSV (giá trị phân tách bằng dấu phẩy)
Một số trích dẫn có thể được nhập, dựa trên dữ liệu demo:
: Tải xuống:
Tệp cho một số báo giá <xuất:download:`Tệp cho một số Báo giá <export_import_data/purchase.order_functional_error_line_cant_adpat.csv>
Sau đây: ABBR: CSV (Giá trị phân tách bằng dấu phẩy)
Tệp cho thấy cách nhập đơn đặt hàng với các dòng đơn đặt hàng tương ứng của họ:
: Tải xuống:
Đơn đặt hàng với các dòng đơn đặt hàng tương ứng của họ <xuất khẩu_import_data/o2m_purchase_order_lines.csv>
Sau đây: ABBR: CSV (Giá trị phân tách bằng dấu phẩy)
Tệp cho thấy cách nhập khách hàng và danh bạ tương ứng của họ:
: Tải xuống:
Khách hàng và các liên hệ tương ứng của họ <xuất khẩu_import_data/o2m_customers_contacts.csv>
Khách hàng và các liên hệ tương ứng của họ
Nhập bản ghi nhiều lần¶
Nếu một tệp đã nhập chứa một trong các cột :: guilabel: id id
hoặc: guilabel:` id cơ sở dữ liệu id`, các bản ghi đã được nhập được sửa đổi, thay vì được tạo.
Odoo chăm sóc việc tạo hoặc sửa đổi từng bản ghi, tùy thuộc vào việc nó mới hay không.
Tính năng này cho phép một công ty sử dụng công cụ * nhập/xuất * trong ODOO để sửa đổi một loạt các bản ghi trong ứng dụng bảng tính.
Giá trị không được cung cấp cho một trường cụ thể¶
Nếu tất cả các trường không được đặt trong tệp CSV, ODOO chỉ định giá trị mặc định cho mọi trường không được xác định.
Xuất/Nhập các bảng khác nhau từ ứng dụng SQL sang ODOO¶
Nếu dữ liệu cần được nhập từ các bảng khác nhau, các mối quan hệ cần được tạo lại giữa các hồ sơ thuộc các bảng khác nhau.
Để quản lý mối quan hệ giữa các bảng, hãy sử dụng các cơ sở id id id của ODOO.
Ví dụ, giả sử có một cơ sở dữ liệu SQL với hai bảng sẽ được nhập khẩu: công ty và con người.
Kiểm tra ví dụ này, với A: Tải xuống: Mẫu cơ sở dữ liệu PostgreSQL <Export_Import_Data/Database_Import_Test.SQL>
.
Đầu tiên, xuất khẩu tất cả các công ty và *ID bên ngoài của họ *.
> 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;
Lệnh SQL này tạo ra các mục sau: ABBR: CSV (Giá trị phân tách bằng dấu phẩy)
Tệp:
External ID,Name,Is a Company
company_1,Bigees,True
company_2,Organi,True
company_3,Boum,True
Để tạo tệp: ABBR: CSV (giá trị phân tách bằng dấu phẩy)
cho những người được liên kết với các công ty, sử dụng lệnh SQL sau trong 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
Nó tạo ra các mục sau: ABBR: CSV (Giá trị phân tách bằng dấu phẩy)
Tệp:
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
Trong tập tin này, Fabien và Laurence đang làm việc cho Công ty Bigees (company_1
) và Eric đang làm việc cho công ty organi.
Hai tệp được sản xuất đã sẵn sàng để được nhập vào ODOO mà không có bất kỳ sửa đổi nào.
Cập nhật dữ liệu trong Odoo¶
Dữ liệu hiện có có thể được cập nhật với số lượng lớn thông qua nhập dữ liệu, miễn là: ref: ID bên ngoài <orssiness/ide-id>
vẫn nhất quán.
Chuẩn bị xuất dữ liệu¶
Để cập nhật dữ liệu thông qua nhập, trước tiên hãy điều hướng đến dữ liệu sẽ được cập nhật và chọn | Danh sách |
Về kết quả: Guilabel: Cửa sổ bật lên dữ liệu xuất, hãy đánh dấu vào hộp kiểm được dán nhãn,: Guilabel:
Tôi muốn cập nhật dữ liệu (xuất tương thích nhập) `.
Ghi chú
The: guilabel: Trường id
bên ngoài không ** không ** xuất hiện trong danh sách: guilabel:` để xuất
trừ khi nó được thêm vào thủ công, nhưng nó vẫn được bao gồm trong xuất khẩu.
Chọn các trường cần thiết được đưa vào xuất khẩu bằng cách sử dụng: ref: Tùy chọn <Tubort-Data>
trên cửa sổ bật lên, sau đó nhấp vào: Guilabel: export
.
Nhập dữ liệu được cập nhật¶
Sau khi xuất, thực hiện bất kỳ thay đổi cần thiết nào đối với tệp dữ liệu.
Nguy hiểm
Khi cập nhật dữ liệu, điều cực kỳ quan trọng là * ID bên ngoài * vẫn nhất quán, vì đây là cách hệ thống xác định bản ghi.