Các trường và tiện ích

Các trường cấu trúc các mô hình của cơ sở dữ liệu. Nếu bạn hình dung một mô hình như một bảng hoặc bảng tính, các trường là các cột nơi dữ liệu được lưu trữ trong các bản ghi (tức là các hàng). Các trường cũng xác định loại dữ liệu được lưu trữ trong chúng. Cách dữ liệu được trình bày và định dạng trên UI được xác định bởi tiện ích của chúng.

Về mặt kỹ thuật, có 15 loại trường trong Odoo. Tuy nhiên, bạn có thể chọn từ 20 trường trong Studio, vì một số loại trường có sẵn nhiều hơn một lần với một tiện ích mặc định khác.

Mẹo

New Fields chỉ có thể được thêm vào các chế độ xem Biểu mẫuDanh sách. Trên các chế độ xem khác, bạn chỉ có thể thêm Existing Fields (các trường đã có trên mô hình).

Các trường đơn giản

Các trường đơn giản chứa các giá trị cơ bản, chẳng hạn như văn bản, số, tệp, v.v.

Ghi chú

Các tiện ích không phải mặc định, nếu có, sẽ được trình bày dưới dạng dấu đầu dòng bên dưới.

Văn bản (char)

Trường Text được sử dụng cho văn bản ngắn chứa bất kỳ ký tự nào. Một dòng văn bản được hiển thị khi điền vào trường.

  • Badge: hiển thị giá trị bên trong hình tròn, tương tự như thẻ. Giá trị không thể chỉnh sửa trên UI, nhưng có thể đặt giá trị mặc định.

  • Sao chép vào Bảng tạm: người dùng có thể sao chép giá trị bằng cách nhấp vào nút.

  • E-mail: giá trị trở thành liên kết mailto có thể nhấp vào.

  • Image: hiển thị hình ảnh bằng URL. Giá trị không thể chỉnh sửa thủ công nhưng có thể đặt giá trị mặc định.

    Ghi chú

    Điều này hoạt động khác với việc chọn trường Image<studio/fields/simple-fields/image> ` trực tiếp, vì hình ảnh không được lưu trữ trong Odoo khi sử dụng trường :guilabel:`Text với tiện ích Image. Ví dụ, nó có thể hữu ích nếu bạn muốn tiết kiệm dung lượng đĩa.

  • Phone: giá trị trở thành liên kết tel có thể nhấp vào.

    Mẹo

    Đánh dấu Bật SMS để thêm tùy chọn gửi SMS trực tiếp từ Odoo bên cạnh trường.

  • URL: giá trị trở thành URL có thể nhấp vào.

Example

Ví dụ về các trường Văn bản có các tiện ích khác nhau

Văn bản nhiều dòng (text)

Trường Multiline Text được sử dụng cho văn bản dài hơn chứa bất kỳ loại ký tự nào. Hai dòng văn bản được hiển thị trên UI khi điền vào trường.

  • Sao chép vào Bảng tạm: người dùng có thể sao chép giá trị bằng cách nhấp vào nút.

Example

Ví dụ về các trường Văn bản nhiều dòng với các tiện ích khác nhau

Số nguyên (số nguyên)

Trường Integer được sử dụng cho tất cả các số nguyên (dương, âm hoặc số không, không có phần thập phân).

  • Percentage Pie: hiển thị giá trị bên trong vòng tròn phần trăm, thường là giá trị được tính toán. Giá trị không thể chỉnh sửa trên UI, nhưng có thể đặt giá trị mặc định.

  • Progress Bar: hiển thị giá trị bên cạnh thanh phần trăm, thường là giá trị được tính toán. Không thể chỉnh sửa trường theo cách thủ công, nhưng có thể đặt giá trị mặc định.

  • Handle: hiển thị biểu tượng tay cầm kéo để sắp xếp các bản ghi theo cách thủ công trong :ref:`Chế độ xem danh sách<studio/views/multiple-records/list> `.

Example

Ví dụ về các trường Integer với các tiện ích khác nhau

Số thập phân (float)

Trường Decimal được sử dụng cho tất cả các số thập phân (dương, âm hoặc số không, có dấu thập phân).

Ghi chú

Số thập phân được hiển thị với hai chữ số thập phân sau dấu phẩy thập phân trên UI, nhưng chúng được lưu trữ trong cơ sở dữ liệu với độ chính xác cao hơn.

  • Tiền tệ: tương tự như sử dụng trường :ref:`Tiền tệ`<studio/fields/simple-fields/monetary> `. Nên sử dụng cái sau vì nó có nhiều chức năng hơn.

  • Percentage: hiển thị ký tự phần trăm % sau giá trị.

  • Percentage Pie: hiển thị giá trị bên trong vòng tròn phần trăm, thường là giá trị được tính toán. Không thể chỉnh sửa trường theo cách thủ công, nhưng có thể đặt giá trị mặc định.

  • Progress Bar: hiển thị giá trị bên cạnh thanh phần trăm, thường là giá trị được tính toán. Không thể chỉnh sửa trường theo cách thủ công, nhưng có thể đặt giá trị mặc định.

  • Thời gian: giá trị phải tuân theo định dạng hh:mm, tối đa là 59 phút.

Example

Ví dụ về các trường thập phân với các tiện ích khác nhau

Tiền tệ (tiền tệ)

Trường Monetary được sử dụng cho tất cả các giá trị tiền tệ.

Ghi chú

Khi bạn thêm trường Monetary lần đầu tiên, bạn sẽ được nhắc thêm trường Currency nếu chưa có trường nào tồn tại trên mô hình. Odoo cung cấp thêm trường Currency cho bạn. Sau khi thêm xong, hãy thêm lại trường Monetary.

Example

Ví dụ về trường Tiền tệ cùng với trường Tiền tệ của nó

HTML (html)

Trường Html được sử dụng để thêm văn bản có thể chỉnh sửa bằng trình soạn thảo HTML của Odoo.

  • Văn bản nhiều dòng: vô hiệu hóa trình soạn thảo HTML của Odoo để cho phép chỉnh sửa HTML thô.

Example

Ví dụ về các trường Html với các tiện ích khác nhau

Ngày (ngày)

Trường Date được sử dụng để chọn ngày trên lịch.

  • Số ngày còn lại: số ngày còn lại trước ngày đã chọn được hiển thị (ví dụ: Trong 5 ngày), dựa trên ngày hiện tại.

Example

Ví dụ về các trường Ngày với các tiện ích khác nhau

Ngày &amp; Giờ (datetime)

Trường Ngày amp; Giờ được sử dụng để chọn ngày trên lịch và giờ trên đồng hồ. Giờ hiện tại của người dùng sẽ tự động được sử dụng nếu không có giờ nào được đặt.

  • Date: dùng để ghi lại thời gian mà không hiển thị trên UI.

  • Số ngày còn lại: hiển thị số ngày còn lại trước ngày đã chọn (ví dụ: Trong 5 ngày), dựa trên ngày và giờ hiện tại.

Example

Ví dụ về các trường Ngày &amp; Giờ với các tiện ích khác nhau

Hộp kiểm (boolean)

Trường Checkbox được sử dụng khi giá trị chỉ nên đúng hoặc sai, được biểu thị bằng cách chọn hoặc bỏ chọn hộp kiểm.

  • Button: hiển thị một nút radio. Tiện ích hoạt động mà không cần chuyển sang chế độ chỉnh sửa.

  • Toggle: hiển thị nút chuyển đổi. Tiện ích hoạt động mà không cần chuyển sang chế độ chỉnh sửa.

Example

Ví dụ về các trường Checkbox với các tiện ích khác nhau

Lựa chọn (lựa chọn)

Trường Selection được sử dụng khi người dùng muốn chọn một giá trị duy nhất từ một nhóm các giá trị được xác định trước.

  • Badge: hiển thị giá trị bên trong hình tròn, tương tự như thẻ. Giá trị không thể chỉnh sửa trên UI, nhưng có thể đặt giá trị mặc định.

  • Badges: hiển thị tất cả các giá trị có thể lựa chọn cùng lúc bên trong các hình chữ nhật, được sắp xếp theo chiều ngang.

  • Priority: hiển thị các ký hiệu ngôi sao thay vì các giá trị, có thể được sử dụng để chỉ ra mức độ quan trọng hoặc mức độ hài lòng, ví dụ. Điều này có tác dụng tương tự như việc chọn trường :ref:`Priority<studio/fields/simple-fields/priority> `, mặc dù đối với giá trị sau, bốn giá trị ưu tiên đã được xác định trước.

  • Radio: hiển thị tất cả các giá trị có thể lựa chọn cùng lúc với các nút radio.

    Mẹo

    Theo mặc định, các nút radio được sắp xếp theo chiều dọc. Đánh dấu hiển thị theo chiều ngang để chuyển đổi cách hiển thị chúng.

Example

Ví dụ về các trường Lựa chọn với các tiện ích khác nhau

Ưu tiên (lựa chọn)

Trường Priority được sử dụng để hiển thị hệ thống xếp hạng ba sao, có thể được sử dụng để chỉ ra mức độ quan trọng hoặc mức độ hài lòng. Kiểu trường này là Trường lựa chọn<studio/fields/simple-fields/selection> ` với tiện ích :guilabel:`Priority được chọn theo mặc định và bốn giá trị ưu tiên được xác định trước. Do đó, các tiện ích Badge, Badges, RadioSelection có cùng hiệu ứng như được mô tả trong :ref:`Selection<studio/fields/simple-fields/selection> `.

Mẹo

Để thay đổi số lượng sao có sẵn bằng cách thêm hoặc xóa giá trị, hãy nhấp vào Chỉnh sửa giá trị. Lưu ý rằng giá trị đầu tiên bằng 0 sao (tức là khi không có lựa chọn nào được thực hiện), do đó, có bốn giá trị sẽ dẫn đến hệ thống xếp hạng ba sao, chẳng hạn.

Example

Ví dụ về trường Ưu tiên

Tập tin (nhị phân)

Trường File được sử dụng để tải lên bất kỳ loại tệp nào hoặc ký vào biểu mẫu (tiện ích Sign).

  • Image: người dùng có thể tải lên một tệp hình ảnh, sau đó tệp này sẽ được hiển thị trong :ref:`Chế độ xem biểu mẫu<studio/views/general/form> `. Điều này có tác dụng tương tự như khi sử dụng trường :ref:`Image<studio/fields/simple-fields/image> `.

  • PDF Viewer: người dùng có thể tải lên tệp PDF, sau đó có thể duyệt tệp này từ :ref:`Form view<studio/views/general/form> `.

  • Sign: người dùng có thể ký điện tử vào biểu mẫu. Điều này có tác dụng tương tự như việc chọn trường :ref:`Sign<studio/fields/simple-fields/sign> `.

Example

Ví dụ về các trường File với các tiện ích khác nhau

Hình ảnh (nhị phân)

Trường Image được sử dụng để tải lên hình ảnh và hiển thị nó trong Form view<studio/views/general/form> `. Kiểu trường này là :ref:`Trường tệp<studio/fields/simple-fields/file> ` với tiện ích :guilabel:`Image được chọn theo mặc định. Do đó, các tiện ích File, PDF ViewerSign có cùng hiệu ứng như được mô tả trong :ref:`File<studio/fields/simple-fields/file> `.

Mẹo

Để thay đổi kích thước hiển thị của hình ảnh được tải lên, hãy chọn Nhỏ, Trung bình hoặc Lớn trong tùy chọn Kích thước.

Dấu hiệu (nhị phân)

Trường Sign được sử dụng để ký biểu mẫu điện tử. Kiểu trường này là trường File<studio/fields/simple-fields/file> ` với tiện ích :guilabel:`Sign được chọn theo mặc định. Do đó, các tiện ích File, ImagePDF Viewer có cùng hiệu ứng như được mô tả trong :ref:`File<studio/fields/simple-fields/file> `.

Mẹo

Để cung cấp cho người dùng tùy chọn Tự động khi phải viết chữ ký, hãy chọn một trong các trường Tự động hoàn thành với có sẵn (:ref:`Văn bản<studio/fields/simple-fields/text> `, :ref:`Nhiều2Một<studio/fields/relational-fields/many2one> `, và :ref:`Trường liên quan<studio/fields/relational-fields/related-field> ` chỉ trên mô hình). Chữ ký được tạo tự động bằng cách sử dụng dữ liệu từ trường đã chọn.

Các trường quan hệ

Các trường quan hệ được sử dụng để liên kết và hiển thị dữ liệu từ các bản ghi trên một mô hình khác.

Ghi chú

Các tiện ích không phải mặc định, nếu có, sẽ được trình bày dưới dạng dấu đầu dòng bên dưới.

Nhiều2Một (nhiều2một)

Trường Many2One được sử dụng để liên kết một bản ghi khác (từ một mô hình khác) với bản ghi đang được chỉnh sửa. Tên của bản ghi từ mô hình khác sau đó được hiển thị trên bản ghi đang được chỉnh sửa.

Example

Trên mô hình Sales Order, trường Customer là trường Many2One trỏ đến mô hình Contact. Điều này cho phép nhiều đơn đặt hàng bán hàng được liên kết với một liên hệ (khách hàng).

Biểu đồ thể hiện mối quan hệ nhiều-một

Mẹo

  • Để ngăn người dùng tạo bản ghi mới trong mô hình được liên kết, hãy đánh dấu Tắt tính năng tạo.

  • Để ngăn người dùng mở bản ghi trong cửa sổ bật lên, hãy đánh dấu vào Tắt chức năng mở.

  • Để giúp người dùng chỉ chọn đúng bản ghi, hãy nhấp vào Domain để tạo bộ lọc.

  • Badge: hiển thị giá trị bên trong hình tròn, tương tự như thẻ. Giá trị không thể chỉnh sửa trên UI.

  • Radio: hiển thị tất cả các giá trị có thể lựa chọn cùng lúc với các nút radio.

Một2Nhiều (một2nhiều)

Trường One2Many được sử dụng để hiển thị các mối quan hệ hiện có giữa một bản ghi trên mô hình hiện tại và nhiều bản ghi từ một mô hình khác.

Example

Bạn có thể thêm trường One2Many vào mô hình Liên hệ để xem nhiều đơn đặt hàng bán hàng của một khách hàng.

Biểu đồ thể hiện mối quan hệ một-nhiều

Ghi chú

Để sử dụng trường One2Many, hai mô hình phải đã được liên kết bằng cách sử dụng trường :ref:`Many2One<studio/fields/relational-fields/many2one> `. Các mối quan hệ One2Many không tồn tại độc lập: cần thực hiện tìm kiếm ngược các mối quan hệ Many2One hiện có.

Dòng (one2many)

Trường Lines được sử dụng để tạo bảng có các hàng và cột (ví dụ: dòng sản phẩm trong đơn đặt hàng bán hàng).

Mẹo

Để sửa đổi các cột, hãy nhấp vào trường Dòng rồi nhấp vào Chỉnh sửa chế độ xem danh sách. Để chỉnh sửa biểu mẫu bật lên khi người dùng nhấp vào Thêm một dòng, hãy nhấp vào Chỉnh sửa chế độ xem biểu mẫu.

Example

Ví dụ về trường Dòng

Nhiều2Nhiều (nhiều2nhiều)

Trường Many2Many được sử dụng để liên kết nhiều bản ghi từ một mô hình khác với nhiều bản ghi trên mô hình hiện tại. Các trường Many2Many có thể sử dụng Disable creation, Disable opening, Domain, giống như :ref:`Các trường Many2One<studio/fields/relational-fields/many2one> `.

Example

Trên mô hình Task, trường Assignees là trường Many2Many trỏ đến mô hình Contact. Điều này cho phép một người dùng duy nhất được chỉ định cho nhiều tác vụ và nhiều người dùng được chỉ định cho một tác vụ duy nhất.

Biểu đồ thể hiện mối quan hệ many2many
  • Hộp kiểm: người dùng có thể chọn nhiều giá trị bằng hộp kiểm.

  • Tags: người dùng có thể chọn nhiều giá trị xuất hiện dưới dạng hình tròn, còn được gọi là tags. Điều này có tác dụng tương tự như việc chọn trường :ref:`Tags<studio/fields/relational-fields/tags> `.

Thẻ (many2many)

Trường Tags được sử dụng để hiển thị một số giá trị từ một mô hình khác xuất hiện dưới dạng hình tròn, còn được gọi là tags. Kiểu trường này là trường Many2Many<studio/fields/relational-fields/many2many> ` với tiện ích :guilabel:`Tags được chọn theo mặc định. Do đó, các tiện ích CheckboxesMany2Many có cùng hiệu ứng như được mô tả trong :ref:`Many2Many<studio/fields/relational-fields/many2many> `.

Mẹo

Để hiển thị thẻ có màu nền khác nhau, hãy đánh dấu vào Sử dụng màu.

Example

Ví dụ về trường Thẻ

Thuộc tính

  • Invisible: Khi người dùng không cần phải xem một trường trên UI, hãy đánh dấu Invisible. Nó giúp xóa UI bằng cách chỉ hiển thị các trường cần thiết tùy thuộc vào tình huống cụ thể.

    Example

    Trên chế độ xem Biểu mẫu của mô hình Liên hệ, trường Tiêu đề chỉ xuất hiện khi Cá nhân được chọn, vì trường đó sẽ không hữu ích cho liên hệ Công ty.

    Ghi chú

    Thuộc tính Invisible cũng áp dụng cho Studio. Để xem các trường ẩn bên trong Studio, hãy nhấp vào tab View của chế độ xem và đánh dấu Show Invisible Elements.

  • Bắt buộc: Nếu một trường nào đó luôn cần người dùng điền trước khi có thể tiếp tục, hãy đánh dấu Bắt buộc.

  • Chỉ đọc: Nếu người dùng không thể sửa đổi một trường, hãy đánh dấu Chỉ đọc.

    Ghi chú

    Bạn có thể chọn áp dụng ba thuộc tính này chỉ cho các bản ghi cụ thể bằng cách nhấp vào Có điều kiện và tạo bộ lọc.

  • Nhãn: Nhãn là tên trường trên UI.

    Ghi chú

    Đây không phải là tên giống như được sử dụng trong cơ sở dữ liệu PostgreSQL. Để xem và thay đổi tên sau, hãy kích hoạt Chế độ nhà phát triển<developer-mode> `, và chỉnh sửa :guilabel:`Tên kỹ thuật.

  • Help Tooltip: Để giải thích mục đích của một trường, hãy viết mô tả bên dưới Help Tooltip. Mô tả này sẽ hiển thị bên trong hộp chú giải công cụ khi bạn di chuột qua nhãn của trường.

  • Placeholder: Để cung cấp ví dụ về cách hoàn thành một trường, hãy viết trường đó dưới Placeholder. Trường này được hiển thị bằng màu xám nhạt thay cho giá trị của trường.

  • Widget: Để thay đổi giao diện hoặc chức năng mặc định của một trường, hãy chọn một trong các tiện ích có sẵn.

  • Giá trị mặc định: Để thêm giá trị mặc định vào trường khi bản ghi được tạo, hãy sử dụng Giá trị mặc định.

  • Giới hạn khả năng hiển thị cho nhóm: Để giới hạn số người dùng có thể nhìn thấy trường, hãy chọn một nhóm truy cập người dùng.