|
| 1 | +=============== |
| 2 | +Property fields |
| 3 | +=============== |
| 4 | + |
| 5 | +Property fields, or properties, enable the customization of a :ref:`form |
| 6 | +<studio/views/general/form>` view by adding various :ref:`field types <property_field/add>`. These |
| 7 | +fields allow information storage and management by adding values. |
| 8 | + |
| 9 | +.. admonition:: Property vs. regular fields |
| 10 | + |
| 11 | + Properties act as pseudo-fields; they behave like regular fields but are not saved as columns in |
| 12 | + the database. They also rely on a defined :ref:`parent record <property-fields/properties-apps>`. |
| 13 | + |
| 14 | + .. example:: |
| 15 | + Adding a property to a *task* inserts a field in *all tasks* within the *same |
| 16 | + project* while other projects' tasks remain unaffected. |
| 17 | + |
| 18 | +.. _property_field/add: |
| 19 | + |
| 20 | +Add property fields |
| 21 | +------------------- |
| 22 | + |
| 23 | +To add a first property field to a :ref:`form view <studio/views/general/form>`, click the |
| 24 | +:icon:`fa-cog` (:guilabel:`Actions`) icon, then select :icon:`fa-cogs` :guilabel:`Edit Properties`. |
| 25 | + |
| 26 | +In the popover, enter the property's :guilabel:`Label`, choose a :guilabel:`Field Type`, and then |
| 27 | +configure the field based on the selected type: |
| 28 | + |
| 29 | +.. list-table:: |
| 30 | + :header-rows: 1 |
| 31 | + :widths: 15 30 55 |
| 32 | + |
| 33 | + * - Field type |
| 34 | + - Use |
| 35 | + - Options |
| 36 | + * - :ref:`Text <studio/fields/simple-fields-text>` |
| 37 | + - Short text on a single line |
| 38 | + - Enter a :guilabel:`Default Value` if desired. |
| 39 | + * - :guilabel:`Multiline Text` |
| 40 | + - Full text on multiple lines |
| 41 | + - Enter a :guilabel:`Default Value` if desired. |
| 42 | + * - :ref:`HTML <text-editor>` |
| 43 | + - HTML field |
| 44 | + - Enter a :guilabel:`Default Value` if desired. |
| 45 | + * - :ref:`Checkbox <studio/fields/simple-fields-checkbox>` |
| 46 | + - Checked or unchecked status |
| 47 | + - Choose the :guilabel:`Default State`. |
| 48 | + * - :ref:`Integer <studio/fields/simple-fields-integer>` |
| 49 | + - Integer numbers (:dfn:`positive, negative, or zero, without a decimal`) |
| 50 | + - Enter a :guilabel:`Default Value` if desired. |
| 51 | + * - :ref:`Decimal <studio/fields/simple-fields-decimal>` |
| 52 | + - Decimal numbers (:dfn:`positive, negative, or zero, with a decimal`) |
| 53 | + - Enter a :guilabel:`Default Value` if desired. |
| 54 | + * - :ref:`Date <studio/fields/simple-fields-date>` |
| 55 | + - Selection of a date on a calendar |
| 56 | + - Select a :guilabel:`Default Value` if desired. |
| 57 | + * - :ref:`Date & Time <studio/fields/simple-fields-date-time>` |
| 58 | + - Selection of a date on a calendar and a time on a clock |
| 59 | + - Select a :guilabel:`Default Value` if desired. |
| 60 | + * - :ref:`Selection <studio/fields/simple-fields-selection>` |
| 61 | + - Selection of a value from a group of predefined values |
| 62 | + - Add a selectable option by clicking :icon:`fa-plus` :guilabel:`Add a Value` and entering the |
| 63 | + :guilabel:`Option Name`. |
| 64 | + |
| 65 | + If desired, set an option as default by clicking the :icon:`fa-star-o` |
| 66 | + (:guilabel:`Select Default`) button. |
| 67 | + |
| 68 | + Reorder the options by dragging and dropping them using the :icon:`oi-draggable` |
| 69 | + (:guilabel:`drag handle`) button. |
| 70 | + |
| 71 | + Delete an option by clicking the :icon:`fa-trash-o` (:guilabel:`Remove Property`) button. |
| 72 | + * - :ref:`Tags <studio/fields/relational-fields-tags>` |
| 73 | + - Selection of multiple values in the form of tags |
| 74 | + - Enter a :guilabel:`Tag` name and press `Enter` to save it. |
| 75 | + |
| 76 | + Change a tag's color by clicking it and selecting another one. |
| 77 | + * - :ref:`Many2one <studio/fields/relational-fields-many2one>` |
| 78 | + - Selection of a single record from another model |
| 79 | + - Enter the :guilabel:`Model` name. Configure its :ref:`Domain <search/custom-filters>` to |
| 80 | + filter records if needed. |
| 81 | + |
| 82 | + Select a :guilabel:`Default Value` if desired. |
| 83 | + * - :ref:`Many2many <studio/fields/relational-fields-many2many>` |
| 84 | + - Selection of multiple records from another model |
| 85 | + - Enter the :guilabel:`Model` name. Configure its :ref:`Domain <search/custom-filters>` to |
| 86 | + filter records if needed. |
| 87 | + |
| 88 | + Select a :guilabel:`Default Value` if desired. |
| 89 | + * - :guilabel:`Separator` |
| 90 | + - Group several properties under a foldable label |
| 91 | + - |
| 92 | + |
| 93 | +Click outside the popover to save the added property. |
| 94 | + |
| 95 | +.. note:: |
| 96 | + - Select whether to display the property in the Kanban, List, or Calendar views cards for every |
| 97 | + field with the :guilabel:`Display in Cards` option. |
| 98 | + - To add another property, click :icon:`fa-plus` :guilabel:`Add a Property` at the bottom of the |
| 99 | + form while. |
| 100 | + |
| 101 | +.. tip:: |
| 102 | + To edit an existing property, hover the cursor over the property: |
| 103 | + |
| 104 | + - Click the :icon:`fa-pencil` (:guilabel:`pencil`) button to open a popover and modify the |
| 105 | + property. In the popover, click the :icon:`fa-chevron-up` (up) or :icon:`fa-chevron-down` |
| 106 | + (down) chevron to move a property upwards or downwards. |
| 107 | + - Click :icon:`fa-trash` :guilabel:`Delete`, then :guilabel:`Delete` to delete it. Deleting |
| 108 | + a property is permanent. |
| 109 | + - Use the :icon:`oi-draggable` (:guilabel:`drag handle`) icon to drag and drop the property to |
| 110 | + reorder or regroup. |
| 111 | + |
| 112 | +.. _property-fields/properties-apps: |
| 113 | + |
| 114 | +Properties across apps |
| 115 | +---------------------- |
| 116 | + |
| 117 | +Property fields can be defined in the :ref:`form view <studio/views/general/form>` of multiple |
| 118 | +models. Once set, the property is shared by all records that are linked to the same *parent*. |
| 119 | + |
| 120 | + .. list-table:: |
| 121 | + :widths: 20 40 40 |
| 122 | + :header-rows: 1 |
| 123 | + :stub-columns: 1 |
| 124 | + |
| 125 | + * - App |
| 126 | + - Model |
| 127 | + - Parent |
| 128 | + * - :guilabel:`Accounting` |
| 129 | + - :ref:`Asset/Revenue Recognition <create-assets-entry>` |
| 130 | + |
| 131 | + :doc:`Loan </applications/finance/accounting/bank/loans>` |
| 132 | + - :ref:`Asset model <assets/asset-model>` |
| 133 | + |
| 134 | + :ref:`Journal <cheat_sheet/journals>` |
| 135 | + * - :guilabel:`Appraisals` |
| 136 | + - :ref:`Employee Appraisal <appraisals/manual>` |
| 137 | + - :ref:`Department <employee/create-departments>` |
| 138 | + * - :guilabel:`Approvals` |
| 139 | + - Approval Request |
| 140 | + - Category |
| 141 | + * - :guilabel:`CRM` |
| 142 | + - :doc:`Lead/Opportunity </applications/sales/crm/acquire_leads/email_manual>` |
| 143 | + - :ref:`Sales team <crm/sales-team-dashboard>` |
| 144 | + * - :guilabel:`Employees` |
| 145 | + - :ref:`Employee <employees/general-info>` |
| 146 | + - :ref:`Company <employees/general-info>` |
| 147 | + * - :guilabel:`Events` |
| 148 | + - :doc:`Event Registration </applications/marketing/events/registration_desk>` |
| 149 | + - :ref:`Event <events/new-event>` |
| 150 | + * - :guilabel:`Fleet` |
| 151 | + - :doc:`Vehicle </applications/hr/fleet/new_vehicle>` |
| 152 | + - :ref:`Vehicle model <fleet/add-model>` |
| 153 | + * - :guilabel:`Frontdesk` |
| 154 | + - :ref:`Frontdesk Visitors <frontdesk/list>` |
| 155 | + - :ref:`Station <frontdesk/stations>` |
| 156 | + * - :guilabel:`Helpdesk` |
| 157 | + - :ref:`Ticket <helpdesk/follow>` |
| 158 | + - :ref:`Helpdesk team <helpdesk/create-team>` |
| 159 | + * - :guilabel:`Inventory` |
| 160 | + - :ref:`Lot/Serial <inventory/product_management/edit-lot>` |
| 161 | + |
| 162 | + :doc:`Transfer |
| 163 | + </applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods/wave>` |
| 164 | + |
| 165 | + :ref:`Batch Transfer <inventory/misc/batch_picking>` |
| 166 | + - :ref:`Product variant <product-variants/add-product-variants>` |
| 167 | + |
| 168 | + :ref:`Operation type <inventory/product_management/operation-type-setting>` |
| 169 | + |
| 170 | + :ref:`Operation type <inventory/product_management/operation-type-setting>` |
| 171 | + * - :guilabel:`Knowledge` |
| 172 | + - :ref:`Knowledge Article <knowledge/articles_editing/create-article>` |
| 173 | + - :ref:`Parent article <knowledge/articles_editing/create-article>` |
| 174 | + * - :guilabel:`Maintenance` |
| 175 | + - :ref:`Maintenance Equipment <maintenance/equipment_management/add_new_equipment>` |
| 176 | + - :ref:`Equipment category <maintenance/equipment_management/add_new_equipment>` |
| 177 | + * - :guilabel:`Meeting Rooms` |
| 178 | + - Room |
| 179 | + - Office |
| 180 | + * - :guilabel:`Planning` |
| 181 | + - :ref:`Shift <planning/roles>` |
| 182 | + - :ref:`Role <planning/roles>` |
| 183 | + * - :guilabel:`Project` / :guilabel:`Field Service` |
| 184 | + - :ref:`Task <task_creation/task-configuration>` |
| 185 | + - :ref:`Project <project_management/configuration>` |
| 186 | + * - :guilabel:`Recruitment` |
| 187 | + - :ref:`Applicant <recruitment/quick-add-applicant>` |
| 188 | + |
| 189 | + :ref:`Job Position <recruitment/new_job_position/edit>` |
| 190 | + |
| 191 | + Candidate |
| 192 | + - :ref:`Job position <job-position/create-job-position>` |
| 193 | + |
| 194 | + :ref:`Company <companies/manage>` |
| 195 | + |
| 196 | + :ref:`Company <companies/manage>` |
| 197 | + * - :guilabel:`Repairs` |
| 198 | + - :ref:`Repair order <repairs/repair_orders/repair>` |
| 199 | + - :ref:`Company <companies/manage>` |
| 200 | + * - :guilabel:`Sales` / etc. |
| 201 | + - Product |
| 202 | + - Category |
| 203 | + |
| 204 | +.. note:: |
| 205 | + The following models do not depend on any *parent* and apply to all records: |
| 206 | + |
| 207 | + - :doc:`Contact Form <../../../applications/essentials/contacts>` in the :guilabel:`Contacts` app |
| 208 | + - :ref:`Mailing List Contacts <marketing/mailing-list/contacts>` in the :guilabel:`Email |
| 209 | + Marketing` app |
0 commit comments