mirror of
https://github.com/odoo/documentation.git
synced 2025-12-13 16:09:11 +07:00
[IMP] essentials/properties: update Property fields doc 19
task-5173906 closes odoo/documentation#15326 Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
This commit is contained in:
@@ -8,12 +8,12 @@ fields allow information storage and management by adding values.
|
|||||||
|
|
||||||
.. admonition:: Property vs. regular fields
|
.. admonition:: Property vs. regular fields
|
||||||
|
|
||||||
Properties act as pseudo-fields; they behave like regular fields but are not saved as columns in
|
Properties act as pseudo-fields; they behave like regular fields but are not saved as columns in
|
||||||
the database. They also rely on a defined :ref:`parent record <property-fields/properties-apps>`.
|
the database. They also rely on a defined :ref:`parent record <property-fields/properties-apps>`.
|
||||||
|
|
||||||
.. example::
|
.. example::
|
||||||
Adding a property to a *task* inserts a field in *all tasks* within the *same
|
Adding a property to a *task* inserts a field in *all tasks* within the *same
|
||||||
project* while other projects' tasks remain unaffected.
|
project* while other projects' tasks remain unaffected.
|
||||||
|
|
||||||
.. _property_field/add:
|
.. _property_field/add:
|
||||||
|
|
||||||
@@ -27,87 +27,95 @@ In the popover, enter the property's :guilabel:`Label`, choose a :guilabel:`Fiel
|
|||||||
configure the field based on the selected type:
|
configure the field based on the selected type:
|
||||||
|
|
||||||
.. list-table::
|
.. list-table::
|
||||||
:header-rows: 1
|
:header-rows: 1
|
||||||
:widths: 15 30 55
|
:widths: 20 30 50
|
||||||
|
|
||||||
* - Field type
|
* - Field type
|
||||||
- Use
|
- Use
|
||||||
- Options
|
- Options
|
||||||
* - :ref:`Text <studio/fields/simple-fields-text>`
|
* - :ref:`Text <studio/fields/simple-fields-text>`
|
||||||
- Short text on a single line
|
- Short text on a single line
|
||||||
- Enter a :guilabel:`Default Value` if desired.
|
- Enter a :guilabel:`Default Value` if desired.
|
||||||
* - :guilabel:`Multiline Text`
|
* - :ref:`Multiline Text <studio/fields/simple-fields-multiline-text>`
|
||||||
- Full text on multiple lines
|
- Full text on multiple lines
|
||||||
- Enter a :guilabel:`Default Value` if desired.
|
- Enter a :guilabel:`Default Value` if desired.
|
||||||
* - :ref:`HTML <text-editor>`
|
* - :ref:`HTML <studio/fields/simple-fields-html>`
|
||||||
- HTML field
|
- HTML field
|
||||||
- Enter a :guilabel:`Default Value` if desired.
|
- Enter a :guilabel:`Default Value` if desired.
|
||||||
* - :ref:`Checkbox <studio/fields/simple-fields-checkbox>`
|
* - :ref:`Checkbox <studio/fields/simple-fields-checkbox>`
|
||||||
- Checked or unchecked status
|
- Checked or unchecked status
|
||||||
- Choose the :guilabel:`Default State`.
|
- Choose the :guilabel:`Default State`.
|
||||||
* - :ref:`Integer <studio/fields/simple-fields-integer>`
|
* - :ref:`Integer <studio/fields/simple-fields-integer>`
|
||||||
- Integer numbers (:dfn:`positive, negative, or zero, without a decimal`)
|
- Integer numbers (:dfn:`positive, negative, or zero, without a decimal`)
|
||||||
- Enter a :guilabel:`Default Value` if desired.
|
- Enter a :guilabel:`Default Value` if desired.
|
||||||
* - :ref:`Decimal <studio/fields/simple-fields-decimal>`
|
* - :ref:`Decimal <studio/fields/simple-fields-decimal>`
|
||||||
- Decimal numbers (:dfn:`positive, negative, or zero, with a decimal`)
|
- Decimal numbers (:dfn:`positive, negative, or zero, with a decimal`)
|
||||||
- Enter a :guilabel:`Default Value` if desired.
|
- Enter a :guilabel:`Default Value` if desired.
|
||||||
* - :ref:`Date <studio/fields/simple-fields-date>`
|
* - :ref:`Monetary <studio/fields/simple-fields-monetary>`
|
||||||
- Selection of a date on a calendar
|
- Selection of a (cost) currency
|
||||||
- Select a :guilabel:`Default Value` if desired.
|
- Enter a :guilabel:`Default Value` if desired.
|
||||||
* - :ref:`Date & Time <studio/fields/simple-fields-date-time>`
|
* - :ref:`Date <studio/fields/simple-fields-date>`
|
||||||
- Selection of a date on a calendar and a time on a clock
|
- Selection of a date on a calendar
|
||||||
- Select a :guilabel:`Default Value` if desired.
|
- Select a :guilabel:`Default Value` if desired.
|
||||||
* - :ref:`Selection <studio/fields/simple-fields-selection>`
|
* - :ref:`Date & Time <studio/fields/simple-fields-date-time>`
|
||||||
- Selection of a value from a group of predefined values
|
- Selection of a date on a calendar and a time on a clock
|
||||||
- Add a selectable option by clicking :icon:`fa-plus` :guilabel:`Add a Value` and entering the
|
- Select a :guilabel:`Default Value` if desired.
|
||||||
:guilabel:`Option Name`.
|
* - :ref:`Selection <studio/fields/simple-fields-selection>`
|
||||||
|
- Selection of a value from a group of predefined values
|
||||||
|
- Add a selectable option by clicking :icon:`fa-plus` :guilabel:`Add a Value` and entering the
|
||||||
|
:guilabel:`Option Name`.
|
||||||
|
|
||||||
If desired, set an option as default by clicking the :icon:`fa-star-o`
|
If desired, set an option as default by clicking the :icon:`fa-star-o`
|
||||||
(:guilabel:`Select Default`) button.
|
(:guilabel:`Select Default`) button.
|
||||||
|
|
||||||
Reorder the options by dragging and dropping them using the :icon:`oi-draggable`
|
Reorder the options by dragging and dropping them using the :icon:`oi-draggable`
|
||||||
(:guilabel:`drag handle`) button.
|
(:guilabel:`drag handle`) button.
|
||||||
|
|
||||||
Delete an option by clicking the :icon:`fa-trash-o` (:guilabel:`Remove Property`) button.
|
Delete an option by clicking the :icon:`fa-trash-o` (:guilabel:`Remove Property`) button.
|
||||||
* - :ref:`Tags <studio/fields/relational-fields-tags>`
|
* - :ref:`Tags <studio/fields/relational-fields-tags>`
|
||||||
- Selection of multiple values in the form of tags
|
- Selection of multiple values in the form of tags
|
||||||
- Enter a :guilabel:`Tag` name and press `Enter` to save it.
|
- Enter a :guilabel:`Tag` name and press `Enter` to save it.
|
||||||
|
|
||||||
Change a tag's color by clicking it and selecting another one.
|
Change a tag's color by clicking it and selecting another one.
|
||||||
* - :ref:`Many2one <studio/fields/relational-fields-many2one>`
|
* - :ref:`Many2one <studio/fields/relational-fields-many2one>`
|
||||||
- Selection of a single record from another model
|
- Selection of a single record from another model
|
||||||
- Enter the :guilabel:`Model` name. Configure its :ref:`Domain <search/custom-filters>` to
|
- Enter the :guilabel:`Model` name. Configure its :ref:`Domain <search/custom-filters>` to
|
||||||
filter records if needed.
|
filter records if needed.
|
||||||
|
|
||||||
Select a :guilabel:`Default Value` if desired.
|
Select a :guilabel:`Default Value` if desired.
|
||||||
* - :ref:`Many2many <studio/fields/relational-fields-many2many>`
|
* - :ref:`Many2many <studio/fields/relational-fields-many2many>`
|
||||||
- Selection of multiple records from another model
|
- Selection of multiple records from another model
|
||||||
- Enter the :guilabel:`Model` name. Configure its :ref:`Domain <search/custom-filters>` to
|
- Enter the :guilabel:`Model` name. Configure its :ref:`Domain <search/custom-filters>` to
|
||||||
filter records if needed.
|
filter records if needed.
|
||||||
|
|
||||||
Select a :guilabel:`Default Value` if desired.
|
Select a :guilabel:`Default Value` if desired.
|
||||||
* - :guilabel:`Separator`
|
* - :guilabel:`Separator`
|
||||||
- Group several properties under a foldable label
|
- Group several properties under a foldable label
|
||||||
-
|
-
|
||||||
|
|
||||||
Click outside the popover to save the added property.
|
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
- Select whether to display the property in the Kanban, List, or Calendar views cards for every
|
- Enter a :guilabel:`Suffix` to add a contextual description after a field's value. For example,
|
||||||
field with the :guilabel:`Display in Cards` option.
|
to indicate the cost per kilometer, use the :guilabel:`Monetary` field and name it **Cost**,
|
||||||
|
then enter **per km** as the :guilabel:`Suffix` field. The property then displays the
|
||||||
|
following: **Cost** [added value] **per km**.
|
||||||
|
- Enable :guilabel:`Display in Cards` to select whether to display the property in the Kanban,
|
||||||
|
List, or Calendar views' cards for every field.
|
||||||
|
- Enable :guilabel:`AI` to add :ref:`AI fields <ai/add-a-new-field/properties>` to the property.
|
||||||
|
Write a :guilabel:`Prompt` and/or type `/field` to insert dynamic values.
|
||||||
- To add another property, click :icon:`fa-plus` :guilabel:`Add a Property` at the bottom of the
|
- To add another property, click :icon:`fa-plus` :guilabel:`Add a Property` at the bottom of the
|
||||||
form while.
|
form.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
To edit an existing property, hover the cursor over the property:
|
- To edit an existing property, hover the cursor over the property:
|
||||||
|
|
||||||
- Click the :icon:`fa-pencil` (:guilabel:`pencil`) button to open a popover and modify the
|
- Click the :icon:`fa-pencil` (:guilabel:`pencil`) button to open a popover and modify the
|
||||||
property. In the popover, click the :icon:`fa-chevron-up` (up) or :icon:`fa-chevron-down`
|
property. In the popover, click the :icon:`fa-chevron-up` (up) or :icon:`fa-chevron-down`
|
||||||
(down) chevron to move a property upwards or downwards.
|
(down) chevron to move a property upwards or downwards.
|
||||||
- Click :icon:`fa-trash` :guilabel:`Delete`, then :guilabel:`Delete` to delete it. Deleting
|
- Click :icon:`fa-trash` :guilabel:`Delete`, then :guilabel:`Delete` to permanently remove it.
|
||||||
a property is permanent.
|
- Use the :icon:`oi-draggable` (:guilabel:`drag handle`) icon to drag and drop the property to
|
||||||
- Use the :icon:`oi-draggable` (:guilabel:`drag handle`) icon to drag and drop the property to
|
reorder or regroup.
|
||||||
reorder or regroup.
|
|
||||||
|
- Click outside the popover to save the added property.
|
||||||
|
|
||||||
.. _property-fields/properties-apps:
|
.. _property-fields/properties-apps:
|
||||||
|
|
||||||
@@ -117,93 +125,100 @@ Properties across apps
|
|||||||
Property fields can be defined in the :ref:`form view <studio/views/general/form>` of multiple
|
Property fields can be defined in the :ref:`form view <studio/views/general/form>` of multiple
|
||||||
models. Once set, the property is shared by all records that are linked to the same *parent*.
|
models. Once set, the property is shared by all records that are linked to the same *parent*.
|
||||||
|
|
||||||
.. list-table::
|
.. list-table::
|
||||||
:widths: 20 40 40
|
:widths: 20 40 40
|
||||||
:header-rows: 1
|
:header-rows: 1
|
||||||
:stub-columns: 1
|
:stub-columns: 1
|
||||||
|
|
||||||
* - App
|
* - App
|
||||||
- Model
|
- Model
|
||||||
- Parent
|
- Parent
|
||||||
* - :guilabel:`Accounting`
|
* - :guilabel:`Accounting`
|
||||||
- :ref:`Asset/Revenue Recognition <create-assets-entry>`
|
- :ref:`Asset/Revenue Recognition <create-assets-entry>`
|
||||||
|
|
||||||
:doc:`Loan </applications/finance/accounting/bank/loans>`
|
:doc:`Loan </applications/finance/accounting/bank/loans>`
|
||||||
- :ref:`Asset model <assets/asset-model>`
|
- :ref:`Asset model <assets/asset-model>`
|
||||||
|
|
||||||
:ref:`Journal <cheat_sheet/journals>`
|
:ref:`Journal <cheat_sheet/journals>`
|
||||||
* - :guilabel:`Appraisals`
|
* - :guilabel:`Appraisals`
|
||||||
- :ref:`Employee Appraisal <appraisals/manual>`
|
- :ref:`Employee Appraisal <appraisals/manual>`
|
||||||
- :ref:`Department <employee/create-departments>`
|
- :ref:`Department <employee/create-departments>`
|
||||||
* - :guilabel:`Approvals`
|
* - :guilabel:`Approvals`
|
||||||
- Approval Request
|
- Approval Request
|
||||||
- Category
|
- Category
|
||||||
* - :guilabel:`CRM`
|
* - :guilabel:`CRM`
|
||||||
- :doc:`Lead/Opportunity </applications/sales/crm/acquire_leads/email_manual>`
|
- :doc:`Lead/Opportunity </applications/sales/crm/acquire_leads/email_manual>`
|
||||||
- :ref:`Sales team <crm/sales-team-dashboard>`
|
- :ref:`Sales team <crm/sales-team-dashboard>`
|
||||||
* - :guilabel:`Employees`
|
* - :guilabel:`Employees`
|
||||||
- :ref:`Employee <employees/general-info>`
|
- :ref:`Employee <employees/general-info>`
|
||||||
- :ref:`Company <employees/general-info>`
|
- :ref:`Company <employees/general-info>`
|
||||||
* - :guilabel:`Events`
|
* - :guilabel:`Events`
|
||||||
- :doc:`Event Registration </applications/marketing/events/registration_desk>`
|
- :doc:`Event Registration </applications/marketing/events/registration_desk>`
|
||||||
- :ref:`Event <events/new-event>`
|
- :ref:`Event <events/new-event>`
|
||||||
* - :guilabel:`Fleet`
|
* - :guilabel:`Fleet`
|
||||||
- :doc:`Vehicle </applications/hr/fleet/new_vehicle>`
|
- :doc:`Vehicle </applications/hr/fleet/new_vehicle>`
|
||||||
- :ref:`Vehicle model <fleet/add-model>`
|
- :ref:`Vehicle model <fleet/add-model>`
|
||||||
* - :guilabel:`Frontdesk`
|
* - :guilabel:`Frontdesk`
|
||||||
- :ref:`Frontdesk Visitors <frontdesk/list>`
|
- :ref:`Frontdesk Visitors <frontdesk/list>`
|
||||||
- :ref:`Station <frontdesk/stations>`
|
- :ref:`Station <frontdesk/stations>`
|
||||||
* - :guilabel:`Helpdesk`
|
* - :guilabel:`Helpdesk`
|
||||||
- :ref:`Ticket <helpdesk/follow>`
|
- :ref:`Ticket <helpdesk/follow>`
|
||||||
- :ref:`Helpdesk team <helpdesk/create-team>`
|
- :ref:`Helpdesk team <helpdesk/create-team>`
|
||||||
* - :guilabel:`Inventory`
|
* - :guilabel:`Inventory`
|
||||||
- :ref:`Lot/Serial <inventory/product_management/edit-lot>`
|
- :ref:`Lot/Serial <inventory/product_management/edit-lot>`
|
||||||
|
|
||||||
:doc:`Transfer
|
:doc:`Transfer
|
||||||
</applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods/wave>`
|
</applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods/wave>`
|
||||||
|
|
||||||
:ref:`Batch Transfer <inventory/misc/batch_picking>`
|
:ref:`Batch Transfer <inventory/misc/batch_picking>`
|
||||||
- :ref:`Product variant <product-variants/add-product-variants>`
|
- :ref:`Product variant <product-variants/add-product-variants>`
|
||||||
|
|
||||||
:ref:`Operation type <inventory/product_management/operation-type-setting>`
|
:ref:`Operation type <inventory/product_management/operation-type-setting>`
|
||||||
|
|
||||||
:ref:`Operation type <inventory/product_management/operation-type-setting>`
|
:ref:`Operation type <inventory/product_management/operation-type-setting>`
|
||||||
* - :guilabel:`Knowledge`
|
* - :guilabel:`Knowledge`
|
||||||
- :ref:`Knowledge Article <knowledge/articles_editing/create-article>`
|
- :ref:`Knowledge Article <knowledge/articles_editing/create-article>`
|
||||||
- :ref:`Parent article <knowledge/articles_editing/create-article>`
|
- :ref:`Parent article <knowledge/articles_editing/create-article>`
|
||||||
* - :guilabel:`Maintenance`
|
* - :guilabel:`Maintenance`
|
||||||
- :ref:`Maintenance Equipment <maintenance/equipment_management/add_new_equipment>`
|
- :ref:`Maintenance Equipment <maintenance/equipment_management/add_new_equipment>`
|
||||||
- :ref:`Equipment category <maintenance/equipment_management/add_new_equipment>`
|
- :ref:`Equipment category <maintenance/equipment_management/add_new_equipment>`
|
||||||
* - :guilabel:`Meeting Rooms`
|
* - :guilabel:`Meeting Rooms`
|
||||||
- Room
|
- Room
|
||||||
- Office
|
- Office
|
||||||
* - :guilabel:`Planning`
|
* - :guilabel:`Payroll`
|
||||||
- :ref:`Shift <planning/roles>`
|
- :ref:`Employee <employees/general-info>`
|
||||||
- :ref:`Role <planning/roles>`
|
|
||||||
* - :guilabel:`Project` / :guilabel:`Field Service`
|
|
||||||
- :ref:`Task <task_creation/task-configuration>`
|
|
||||||
- :ref:`Project <project_management/configuration>`
|
|
||||||
* - :guilabel:`Recruitment`
|
|
||||||
- :ref:`Applicant <recruitment/quick-add-applicant>`
|
|
||||||
|
|
||||||
:ref:`Job Position <recruitment/new_job_position/edit>`
|
:ref:`Payslip <payroll/new-payslip>`
|
||||||
|
- :ref:`Company <employees/general-info>`
|
||||||
|
|
||||||
Candidate
|
:ref:`Structure <payroll/structure-types>`
|
||||||
- :ref:`Job position <job-position/create-job-position>`
|
* - :guilabel:`Planning`
|
||||||
|
- :ref:`Shift <planning/roles>`
|
||||||
|
- :ref:`Role <planning/roles>`
|
||||||
|
* - :guilabel:`Project` / :guilabel:`Field Service`
|
||||||
|
- :ref:`Task <task_creation/task-configuration>`
|
||||||
|
- :ref:`Project <project_management/configuration>`
|
||||||
|
* - :guilabel:`Recruitment`
|
||||||
|
- :ref:`Applicant <recruitment/quick-add-applicant>`
|
||||||
|
|
||||||
:ref:`Company <general/companies/company>`
|
:ref:`Job Position <recruitment/new_job_position/edit>`
|
||||||
|
|
||||||
:ref:`Company <general/companies/company>`
|
Candidate
|
||||||
* - :guilabel:`Repairs`
|
- :ref:`Job position <job-position/create-job-position>`
|
||||||
- :ref:`Repair order <repairs/repair_orders/repair>`
|
|
||||||
- :ref:`Company <general/companies/company>`
|
:ref:`Company <general/companies/company>`
|
||||||
* - :guilabel:`Sales` / etc.
|
|
||||||
- Product
|
:ref:`Company <general/companies/company>`
|
||||||
- Category
|
* - :guilabel:`Repairs`
|
||||||
|
- :ref:`Repair order <repairs/repair_orders/repair>`
|
||||||
|
- :ref:`Company <general/companies/company>`
|
||||||
|
* - :guilabel:`Sales` / etc.
|
||||||
|
- Product
|
||||||
|
- Category
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
The following models do not depend on any *parent* and apply to all records:
|
The following models do not depend on any *parent* and apply to all records:
|
||||||
|
|
||||||
- :doc:`Contact Form <../../../applications/essentials/contacts>` in the :guilabel:`Contacts` app
|
- :doc:`Contact Form <../../../applications/essentials/contacts>` in the :guilabel:`Contacts` app
|
||||||
- :ref:`Mailing List Contacts <marketing/mailing-list/contacts>` in the :guilabel:`Email
|
- :ref:`Mailing List Contacts <marketing/mailing-list/contacts>` in the :guilabel:`Email
|
||||||
Marketing` app
|
Marketing` app
|
||||||
|
|||||||
@@ -73,6 +73,8 @@ After the field is added, click the |AI| icon to refresh the field value.
|
|||||||
.. image:: fields/warning.png
|
.. image:: fields/warning.png
|
||||||
:alt: A warning message indicating the AI was unable to complete the request.
|
:alt: A warning message indicating the AI was unable to complete the request.
|
||||||
|
|
||||||
|
.. _ai/add-a-new-field/properties:
|
||||||
|
|
||||||
Add via edit properties
|
Add via edit properties
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user