Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
348 changes: 182 additions & 166 deletions content/applications/essentials/property_fields.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ fields allow information storage and management by adding values.

.. admonition:: Property vs. regular fields

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>`.
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>`.

.. example::
Adding a property to a *task* inserts a field in *all tasks* within the *same
project* while other projects' tasks remain unaffected.
.. example::
Adding a property to a *task* inserts a field in *all tasks* within the *same
project* while other projects' tasks remain unaffected.

.. _property_field/add:

Expand All @@ -27,87 +27,96 @@ In the popover, enter the property's :guilabel:`Label`, choose a :guilabel:`Fiel
configure the field based on the selected type:

.. list-table::
:header-rows: 1
:widths: 15 30 55

* - Field type
- Use
- Options
* - :ref:`Text <studio/fields/simple-fields-text>`
- Short text on a single line
- Enter a :guilabel:`Default Value` if desired.
* - :guilabel:`Multiline Text`
- Full text on multiple lines
- Enter a :guilabel:`Default Value` if desired.
* - :ref:`HTML <text-editor>`
- HTML field
- Enter a :guilabel:`Default Value` if desired.
* - :ref:`Checkbox <studio/fields/simple-fields-checkbox>`
- Checked or unchecked status
- Choose the :guilabel:`Default State`.
* - :ref:`Integer <studio/fields/simple-fields-integer>`
- Integer numbers (:dfn:`positive, negative, or zero, without a decimal`)
- Enter a :guilabel:`Default Value` if desired.
* - :ref:`Decimal <studio/fields/simple-fields-decimal>`
- Decimal numbers (:dfn:`positive, negative, or zero, with a decimal`)
- Enter a :guilabel:`Default Value` if desired.
* - :ref:`Date <studio/fields/simple-fields-date>`
- Selection of a date on a calendar
- Select a :guilabel:`Default Value` if desired.
* - :ref:`Date & Time <studio/fields/simple-fields-date-time>`
- Selection of a date on a calendar and a time on a clock
- Select a :guilabel:`Default Value` if desired.
* - :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`
(:guilabel:`Select Default`) button.

Reorder the options by dragging and dropping them using the :icon:`oi-draggable`
(:guilabel:`drag handle`) button.

Delete an option by clicking the :icon:`fa-trash-o` (:guilabel:`Remove Property`) button.
* - :ref:`Tags <studio/fields/relational-fields-tags>`
- Selection of multiple values in the form of tags
- Enter a :guilabel:`Tag` name and press `Enter` to save it.

Change a tag's color by clicking it and selecting another one.
* - :ref:`Many2one <studio/fields/relational-fields-many2one>`
- Selection of a single record from another model
- Enter the :guilabel:`Model` name. Configure its :ref:`Domain <search/custom-filters>` to
filter records if needed.

Select a :guilabel:`Default Value` if desired.
* - :ref:`Many2many <studio/fields/relational-fields-many2many>`
- Selection of multiple records from another model
- Enter the :guilabel:`Model` name. Configure its :ref:`Domain <search/custom-filters>` to
filter records if needed.

Select a :guilabel:`Default Value` if desired.
* - :guilabel:`Separator`
- Group several properties under a foldable label
-

Click outside the popover to save the added property.
:header-rows: 1
:widths: 20 30 50

* - Field type
- Use
- Options
* - :ref:`Text <studio/fields/simple-fields-text>`
- Short text on a single line
- Enter a :guilabel:`Default Value` if desired.
* - :ref:`Multiline Text <studio/fields/simple-fields-multiline-text>`
- Full text on multiple lines
- Enter a :guilabel:`Default Value` if desired.
* - :ref:`HTML <studio/fields/simple-fields-html>`
- HTML field
- Enter a :guilabel:`Default Value` if desired.
* - :ref:`Checkbox <studio/fields/simple-fields-checkbox>`
- Checked or unchecked status
- Choose the :guilabel:`Default State`.
* - :ref:`Integer <studio/fields/simple-fields-integer>`
- Integer numbers (:dfn:`positive, negative, or zero, without a decimal`)
- Enter a :guilabel:`Default Value` if desired.
* - :ref:`Decimal <studio/fields/simple-fields-decimal>`
- Decimal numbers (:dfn:`positive, negative, or zero, with a decimal`)
- Enter a :guilabel:`Default Value` if desired.
* - :ref:`Monetary <studio/fields/simple-fields-monetary>`
- Selection of a (cost) currency
- Enter a :guilabel:`Default Value` if desired.
* - :ref:`Date <studio/fields/simple-fields-date>`
- Selection of a date on a calendar
- Select a :guilabel:`Default Value` if desired.
* - :ref:`Date & Time <studio/fields/simple-fields-date-time>`
- Selection of a date on a calendar and a time on a clock
- Select a :guilabel:`Default Value` if desired.
* - :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`
(:guilabel:`Select Default`) button.

Reorder the options by dragging and dropping them using the :icon:`oi-draggable`
(:guilabel:`drag handle`) button.

Delete an option by clicking the :icon:`fa-trash-o` (:guilabel:`Remove Property`) button.
* - :ref:`Tags <studio/fields/relational-fields-tags>`
- Selection of multiple values in the form of tags
- Enter a :guilabel:`Tag` name and press `Enter` to save it.

Change a tag's color by clicking it and selecting another one.
* - :ref:`Many2one <studio/fields/relational-fields-many2one>`
- Selection of a single record from another model
- Enter the :guilabel:`Model` name. Configure its :ref:`Domain <search/custom-filters>` to
filter records if needed.

Select a :guilabel:`Default Value` if desired.
* - :ref:`Many2many <studio/fields/relational-fields-many2many>`
- Selection of multiple records from another model
- Enter the :guilabel:`Model` name. Configure its :ref:`Domain <search/custom-filters>` to
filter records if needed.

Select a :guilabel:`Default Value` if desired.
* - :guilabel:`Separator`
- Group several properties under a foldable label
-

.. note::
- Select whether to display the property in the Kanban, List, or Calendar views cards for every
field with the :guilabel:`Display in Cards` option.
- Enter a :guilabel:`Suffix` to specify the contextual description that is automatically
appended to the displayed value of the field type. For example, to indicate cost per
kilometer, select the :guilabel:`Monetary` field type an name it **Cost**, then enter **per
km** in the :guilabel:`Suffix` field. The property 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
form while.

.. 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
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.
- Click :icon:`fa-trash` :guilabel:`Delete`, then :guilabel:`Delete` to delete it. Deleting
a property is permanent.
- Use the :icon:`oi-draggable` (:guilabel:`drag handle`) icon to drag and drop the property to
reorder or regroup.
- 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`
(down) chevron to move a property upwards or downwards.
- Click :icon:`fa-trash` :guilabel:`Delete`, then :guilabel:`Delete` to permanently remove it.
- Use the :icon:`oi-draggable` (:guilabel:`drag handle`) icon to drag and drop the property to
reorder or regroup.

- Click outside the popover to save the added property.

.. _property-fields/properties-apps:

Expand All @@ -117,93 +126,100 @@ Properties across apps
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*.

.. list-table::
:widths: 20 40 40
:header-rows: 1
:stub-columns: 1

* - App
- Model
- Parent
* - :guilabel:`Accounting`
- :ref:`Asset/Revenue Recognition <create-assets-entry>`

:doc:`Loan </applications/finance/accounting/bank/loans>`
- :ref:`Asset model <assets/asset-model>`

:ref:`Journal <cheat_sheet/journals>`
* - :guilabel:`Appraisals`
- :ref:`Employee Appraisal <appraisals/manual>`
- :ref:`Department <employee/create-departments>`
* - :guilabel:`Approvals`
- Approval Request
- Category
* - :guilabel:`CRM`
- :doc:`Lead/Opportunity </applications/sales/crm/acquire_leads/email_manual>`
- :ref:`Sales team <crm/sales-team-dashboard>`
* - :guilabel:`Employees`
- :ref:`Employee <employees/general-info>`
- :ref:`Company <employees/general-info>`
* - :guilabel:`Events`
- :doc:`Event Registration </applications/marketing/events/registration_desk>`
- :ref:`Event <events/new-event>`
* - :guilabel:`Fleet`
- :doc:`Vehicle </applications/hr/fleet/new_vehicle>`
- :ref:`Vehicle model <fleet/add-model>`
* - :guilabel:`Frontdesk`
- :ref:`Frontdesk Visitors <frontdesk/list>`
- :ref:`Station <frontdesk/stations>`
* - :guilabel:`Helpdesk`
- :ref:`Ticket <helpdesk/follow>`
- :ref:`Helpdesk team <helpdesk/create-team>`
* - :guilabel:`Inventory`
- :ref:`Lot/Serial <inventory/product_management/edit-lot>`

:doc:`Transfer
</applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods/wave>`

:ref:`Batch Transfer <inventory/misc/batch_picking>`
- :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>`
* - :guilabel:`Knowledge`
- :ref:`Knowledge Article <knowledge/articles_editing/create-article>`
- :ref:`Parent article <knowledge/articles_editing/create-article>`
* - :guilabel:`Maintenance`
- :ref:`Maintenance Equipment <maintenance/equipment_management/add_new_equipment>`
- :ref:`Equipment category <maintenance/equipment_management/add_new_equipment>`
* - :guilabel:`Meeting Rooms`
- Room
- Office
* - :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:`Job Position <recruitment/new_job_position/edit>`

Candidate
- :ref:`Job position <job-position/create-job-position>`

:ref:`Company <general/companies/company>`

:ref:`Company <general/companies/company>`
* - :guilabel:`Repairs`
- :ref:`Repair order <repairs/repair_orders/repair>`
- :ref:`Company <general/companies/company>`
* - :guilabel:`Sales` / etc.
- Product
- Category
.. list-table::
:widths: 20 40 40
:header-rows: 1
:stub-columns: 1

* - App
- Model
- Parent
* - :guilabel:`Accounting`
- :ref:`Asset/Revenue Recognition <create-assets-entry>`

:doc:`Loan </applications/finance/accounting/bank/loans>`
- :ref:`Asset model <assets/asset-model>`

:ref:`Journal <cheat_sheet/journals>`
* - :guilabel:`Appraisals`
- :ref:`Employee Appraisal <appraisals/manual>`
- :ref:`Department <employee/create-departments>`
* - :guilabel:`Approvals`
- Approval Request
- Category
* - :guilabel:`CRM`
- :doc:`Lead/Opportunity </applications/sales/crm/acquire_leads/email_manual>`
- :ref:`Sales team <crm/sales-team-dashboard>`
* - :guilabel:`Employees`
- :ref:`Employee <employees/general-info>`
- :ref:`Company <employees/general-info>`
* - :guilabel:`Events`
- :doc:`Event Registration </applications/marketing/events/registration_desk>`
- :ref:`Event <events/new-event>`
* - :guilabel:`Fleet`
- :doc:`Vehicle </applications/hr/fleet/new_vehicle>`
- :ref:`Vehicle model <fleet/add-model>`
* - :guilabel:`Frontdesk`
- :ref:`Frontdesk Visitors <frontdesk/list>`
- :ref:`Station <frontdesk/stations>`
* - :guilabel:`Helpdesk`
- :ref:`Ticket <helpdesk/follow>`
- :ref:`Helpdesk team <helpdesk/create-team>`
* - :guilabel:`Inventory`
- :ref:`Lot/Serial <inventory/product_management/edit-lot>`

:doc:`Transfer
</applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods/wave>`

:ref:`Batch Transfer <inventory/misc/batch_picking>`
- :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>`
* - :guilabel:`Knowledge`
- :ref:`Knowledge Article <knowledge/articles_editing/create-article>`
- :ref:`Parent article <knowledge/articles_editing/create-article>`
* - :guilabel:`Maintenance`
- :ref:`Maintenance Equipment <maintenance/equipment_management/add_new_equipment>`
- :ref:`Equipment category <maintenance/equipment_management/add_new_equipment>`
* - :guilabel:`Meeting Rooms`
- Room
- Office
* - :guilabel:`Payroll`
- :ref:`Employee/Contract <employees/general-info>`

:ref:`Payslip <payroll/new-payslip>`
- :ref:`Company <employees/general-info>`

:ref:`Structure <payroll/structure-types>`
* - :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:`Job Position <recruitment/new_job_position/edit>`

Candidate
- :ref:`Job position <job-position/create-job-position>`

:ref:`Company <general/companies/company>`

:ref:`Company <general/companies/company>`
* - :guilabel:`Repairs`
- :ref:`Repair order <repairs/repair_orders/repair>`
- :ref:`Company <general/companies/company>`
* - :guilabel:`Sales` / etc.
- Product
- Category

.. 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
- :ref:`Mailing List Contacts <marketing/mailing-list/contacts>` in the :guilabel:`Email
Marketing` app
- :doc:`Contact Form <../../../applications/essentials/contacts>` in the :guilabel:`Contacts` app
- :ref:`Mailing List Contacts <marketing/mailing-list/contacts>` in the :guilabel:`Email
Marketing` app
2 changes: 2 additions & 0 deletions content/applications/productivity/ai/fields.rst
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ After the field is added, click the |AI| icon to refresh the field value.
.. image:: fields/warning.png
:alt: A warning message indicating the AI was unable to complete the request.

.. _ai/add-a-new-field/properties:

Add via edit properties
-----------------------

Expand Down