@@ -3,34 +3,35 @@ Search, filter, and group records
3
3
=================================
4
4
5
5
Odoo allows for the searching, filtering, and grouping of records in a view to display only the most
6
- relevant records. The search bar is located at the top of the view, start typing to :ref: `search for
7
- values <search/values>`, or click the :guilabel: ` 🔽 ( down arrow ) ` icon to access the :ref: ` Filter
8
- <search/filters>`, :ref: `Group By <search/group >`, and :ref: `Favorites < search/favorites >` drop-down
9
- menus.
6
+ relevant records. The search bar is located at the top of the view: start typing to :ref: `search for
7
+ values <search/values>`, or click the :icon: ` fa-caret- down` :guilabel: ` (dropdown ) ` icon to access
8
+ the :ref: ` Filter <search/filters >`, :ref: `Group By <search/group >`, and :ref: `Favorites
9
+ <search/favorites>` drop-down menus.
10
10
11
11
.. _search/values :
12
12
13
13
Search for values
14
14
=================
15
15
16
- Use the search field to quickly look for specific values, and add them as a filter. Type the value
17
- to search for, and select the desired option from the drop-down menu to apply the search filter.
16
+ Use the search field to look for specific values, and add them as a filter. Type the value to search
17
+ for (like a salesperson's name or a product), and select the desired option from the drop-down menu
18
+ to apply the search filter.
18
19
19
20
.. example ::
20
21
Instead of adding a :ref: `custom filter <search/custom-filters >` to select records where
21
22
*Mitchell Admin * is the salesperson on the *Sales Analysis * report (:menuselection: `Sales app -->
22
- Reporting --> Sales `), search for `Mitch `, and click the :guilabel: `⏵ (right arrow) ` next to
23
- :guilabel: `Search Salesperson for: Mitch `, and select :guilabel: `Mitchell Admin `.
23
+ Reporting --> Sales `), search for `Mitch `, and click the :icon: `fa-caret-right `
24
+ :guilabel: `(submenu) ` icon next to :guilabel: `Search Salesperson for: Mitch `, and select
25
+ :guilabel: `Mitchell Admin `.
24
26
25
27
.. image :: search/search-values.png
26
- :align: center
27
28
:alt: Searching for a specific value on the Sales Analysis report
28
29
29
30
.. note ::
30
31
Using the search field is equivalent to using the *contains * operator when adding a :ref: `custom
31
32
filter <search/custom-filters>`. If a partial value is entered, and the desired field is directly
32
- selected (without selecting the :guilabel: ` ⏵ ( right arrow) `) , *all * records containing the typed
33
- characters for the selected field are included.
33
+ selected (without selecting the :icon: ` fa-caret- right` :guilabel: ` (submenu) ` , *all * records
34
+ containing the typed characters for the selected field are included.
34
35
35
36
.. _search/filters :
36
37
@@ -46,9 +47,9 @@ specific to each view, but can be modified by selecting one (or several) :ref:`p
46
47
Preconfigured filters
47
48
---------------------
48
49
49
- Modify the default selection of records by clicking the :guilabel: ` 🔽 ( down arrow) ` icon from the
50
- search bar, and selecting one (or several) *preconfigured filters * from the :guilabel: ` Filters `
51
- drop-down menu.
50
+ Modify the default selection of records by clicking the :icon: ` fa-caret- down` :guilabel: ` (dropdown) `
51
+ from the search bar, and selecting one (or several) *preconfigured filters * from the
52
+ :guilabel: ` Filters ` drop-down menu.
52
53
53
54
.. example ::
54
55
On the *Sales Analysis * report (:menuselection: `Sales app --> Reporting --> Sales `), only records
@@ -58,12 +59,12 @@ drop-down menu.
58
59
To also include records at the *quotation * stage, select :guilabel: `Quotations ` from the
59
60
:guilabel: `Filters `.
60
61
61
- Furthermore, to *only * include sales order and quotation records from a specific year, like
62
- 2024, for example, first remove the existing `Order Date: Last 365 Days ` filter, by clicking the
63
- :guilabel: `❌ (remove) ` icon, then select :menuselection: `Order Date --> 2024 `.
62
+ Furthermore, to *only * include sales order and quotation records from a specific year, like 2024,
63
+ for example, first remove the existing `Order Date: Last 365 Days ` filter by clicking
64
+ :icon: `fa-times ` :guilabel: `(cancel) `, then select the :menuselection: `Order Date --> 2024 `
65
+ filter.
64
66
65
67
.. image :: search/preconfigured-filters.png
66
- :align: center
67
68
:alt: Using preconfigured filters on the Sales Analysis report
68
69
69
70
.. note ::
@@ -78,32 +79,31 @@ Custom filters
78
79
--------------
79
80
80
81
If the :ref: `preconfigured filters <search/preconfigured-filters >` are not specific enough, add a
81
- custom filter. To do so, click the :guilabel: ` 🔽 ( down arrow ) ` icon in the search bar, then select
82
- :menuselection: `Filters --> Add Custom Filter `.
82
+ custom filter. To do so, click the :icon: ` fa-caret- down` :guilabel: ` (dropdown ) ` icon in the search
83
+ bar, then select :menuselection: `Filters --> Add Custom Filter `.
83
84
84
85
The :guilabel: `Add Custom Filter ` pop-up window displays the matching option, filter rule, and a
85
86
toggle to :guilabel: `Include archived ` records.
86
87
87
88
.. image :: search/custom-filter.png
88
- :align: center
89
89
:alt: The Add Custom Filter pop-up window.
90
90
91
91
The default matching configuration is to :guilabel: `Match any of the following rules `, indicating
92
92
that each filter rule is applied independently. To change the matching configuration to
93
93
:guilabel: `Match all of the following rules `, at least two filter rules must be added to the custom
94
94
filter.
95
95
96
- - :guilabel: `Match all 🔽 of the following rules `: **all ** of the filter rules must be met.
97
- Logically, this is an *AND * (`& `) operation.
98
- - :guilabel: `Match any 🔽 of the following rules `: **any ** of the filter rules can be met.
99
- Logically, this is an *OR * (`| `) operation.
96
+ - :guilabel: `Match all ` :icon: ` fa-caret-down ` :guilabel: ` of the following rules `: **All ** of the
97
+ filter rules must be met. Think of this as an *AND * (`& `) operation.
98
+ - :guilabel: `Match any ` :icon: ` fa-caret-down ` :guilabel: ` of the following rules `: **Any ** of the
99
+ filter rules can be met. Think of this as an *OR * (`| `) operation.
100
100
101
101
By default, a single filter rule is added to the custom filter. The following describes the
102
102
structure of a filter rule:
103
103
104
104
#. The first inline field is the *field name * to filter by. Some fields have refined parameters that
105
- are nested within another field. These fields have an :guilabel: ` > (arrow) ` icon beside them,
106
- which can be selected to reveal the nested fields.
105
+ are nested within another field. These fields have a :icon: ` fa-caret-right ` :guilabel: ` (submenu) `
106
+ icon beside them, which can be selected to reveal the nested fields.
107
107
#. The second inline field is the conditional *operator * used to compare the field name to the
108
108
value. The :ref: `available conditional operators <reference/orm/domains >` are specific to the
109
109
field's data type.
@@ -113,20 +113,21 @@ structure of a filter rule:
113
113
114
114
Three inline buttons are also available to the right of the rule's filter criteria:
115
115
116
- #. :guilabel: ` ➕ (plus sign ) `: adds a new rule below the existing rule.
117
- #. :guilabel: `(Add branch ) `: adds a new group of rules below the existing rule, with the
118
- :guilabel: `any ` and :guilabel: `all ` matching options available to define how each rule within
116
+ #. :icon: ` fa-plus ` :guilabel: ` (plus) `: Adds a new rule below the existing rule.
117
+ #. :icon: ` fa-sitemap ` : guilabel: `(node ) `: Adds a new group of rules below the existing rule, with
118
+ the :guilabel: `any ` and :guilabel: `all ` matching options available to define how each rule within
119
119
this branch is applied to the filter. If the matching option is set to the same as the parent
120
120
group, the fields are moved to join the parent group.
121
121
122
122
.. example ::
123
- If the matching option is set to :guilabel: `Match all 🔽 of the following rules `, and a new
124
- branch is added with its matching option changed from :guilabel: `any 🔽 of ` to :guilabel: `all
125
- 🔽 of `, the newly-added branch disappears, and its group of rules are moved to the parent
126
- group.
123
+ If the matching option is set to :guilabel: `Match all ` :icon: `fa-caret-down ` :guilabel: `of the
124
+ following rules `, and a new branch is added with its matching option changed from
125
+ :guilabel: `any ` :icon: `fa-caret-down ` :guilabel: `of ` to :guilabel: `all ` :icon: `fa-caret-down `
126
+ :guilabel: `of `, the newly-added branch disappears, and its group of rules are moved to the
127
+ parent group.
127
128
128
- #. :guilabel: ` 🗑️ (garbage can ) `: deletes the node. If a branch node is deleted, all children of
129
- that node are deleted, as well.
129
+ #. :icon: ` fa-trash ` :guilabel: ` (delete ) `: Deletes the node. If a branch node is deleted, all
130
+ children of that node are deleted, as well.
130
131
131
132
A new filter rule can be added to the custom filter by clicking the :guilabel: `New Rule ` button.
132
133
@@ -136,17 +137,16 @@ Once the filter criteria are defined, click :guilabel:`Add` to add the custom fi
136
137
To target all leads and opportunities from the :menuselection: `CRM ` app that are in the *Won *
137
138
stage, and have an expected revenue greater than $1,000, the following should be entered:
138
139
139
- :guilabel: `Match all 🔽 ( down arrow) of the following rules: `
140
+ :guilabel: `Match all ` :icon: ` fa-caret- down` :guilabel: ` of the following rules: `
140
141
141
142
#. :guilabel: `Stage ` :guilabel: `is in ` :guilabel: `Won `
142
143
#. :guilabel: `Expected Revenue ` :guilabel: `> ` `1,000 `
143
- #. :guilabel: `any 🔽 ( down arrow) ` :guilabel: `of: `
144
+ #. :guilabel: `any ` :icon: ` fa-caret- down ` :guilabel: `of: `
144
145
145
146
- :guilabel: `Type ` :guilabel: `= ` :guilabel: `Lead `
146
147
- :guilabel: `Type ` :guilabel: `= ` :guilabel: `Opportunity `
147
148
148
149
.. image :: search/custom-filter-example.png
149
- :align: center
150
150
:alt: Adding a custom filter to filter specific records in CRM.
151
151
152
152
.. tip ::
@@ -160,8 +160,8 @@ Group records
160
160
=============
161
161
162
162
The display of records in a view can be clustered together, according to one of the *preconfigured
163
- groups *. To do so, click the :guilabel: ` 🔽 ( down arrow ) ` icon in the search bar, then select one of
164
- the :guilabel: `Group By ` options from the drop-down menu.
163
+ groups *. To do so, click the :icon: ` fa-caret- down` :guilabel: ` (dropdown ) ` icon in the search bar,
164
+ then select one of the :guilabel: `Group By ` options from the drop-down menu.
165
165
166
166
.. example ::
167
167
To group the records by salesperson on the *Sales Analysis * report (:menuselection: `Sales app -->
@@ -170,7 +170,6 @@ the :guilabel:`Group By` options from the drop-down menu.
170
170
records.
171
171
172
172
.. image :: search/group.png
173
- :align: center
174
173
:alt: Grouping records on the Sales Analysis report
175
174
176
175
It is possible to *customize groups * by using a field present on the model. To do so, click
@@ -187,56 +186,54 @@ Comparison
187
186
==========
188
187
189
188
Certain reporting dashboards include a :guilabel: `Comparison ` section in the drop-down menus of
190
- their :guilabel: ` Search... ` bars. This includes the :doc: `Overall Equipment Effectiveness
191
- <../inventory_and_mrp/manufacturing/reporting/oee>` report for the *Manufacturing * app, and the
192
- :doc: `Purchase <../inventory_and_mrp/purchase/advanced/analyze >` report for the *Purchase * app,
189
+ their search bars. This includes the :doc: `Overall Equipment Effectiveness
190
+ <../inventory_and_mrp/manufacturing/reporting/oee>` report for the ** Manufacturing ** app and the
191
+ :doc: `Purchase <../inventory_and_mrp/purchase/advanced/analyze >` report for the ** Purchase * * app,
193
192
among others.
194
193
195
194
The options in the :icon: `fa-adjust ` :guilabel: `Comparison ` section are used to compare data from
196
- two different time periods. There are two comparison options to choose from : :guilabel: `(Time
197
- Filter): Previous Period ` and :guilabel: `(Time Filter): Previous Year `.
195
+ two different time periods. Pick between the two comparison options: :guilabel: `(Time Filter):
196
+ Previous Period ` and :guilabel: `(Time Filter): Previous Year `.
198
197
199
198
.. important ::
200
- For some reports, the :guilabel: `Comparison ` section **only ** appears in the
201
- :guilabel: `Search... ` bar drop-down menu if one (or more) time periods have been selected in the
202
- :guilabel: `Filters ` column. This is because, if no time period is specified, there is nothing to
203
- compare.
199
+ For some reports, the :guilabel: `Comparison ` section **only ** appears in the search bar drop-down
200
+ menu if one (or more) time periods have been selected in the :guilabel: `Filters ` column. This is
201
+ because there is nothing to compare if no time period is specified.
204
202
205
203
Additionally, some reports only allow use of the :guilabel: `Comparison ` feature when the
206
- :icon: `fa-pie-chart ` :guilabel: `(pie chart ) ` graph type, or the :icon: `oi-view-pivot `
207
- :guilabel: `(pivot ) ` view, is selected. A :guilabel: `Comparison ` option can be selected even if
204
+ :icon: `fa-pie-chart ` :guilabel: `(Pie Chart ) ` graph type or the :icon: `oi-view-pivot `
205
+ :guilabel: `(Pivot ) ` view, is selected. A :guilabel: `Comparison ` option can be selected even if
208
206
another view is enabled, but doing so does **not ** change the way data is displayed on the
209
207
report.
210
208
211
209
.. image :: search/comparison-section.png
212
- :align: center
213
- :alt: The Search... bar for the production analysis report.
210
+ :alt: The search bar for the production analysis report.
214
211
215
212
To view data using one of the two comparisons, begin by selecting a time period in the
216
- :guilabel: `Filters ` column of the :guilabel: ` Search... ` bar drop-down menu. Then, select either
217
- :guilabel: ` (Time Filter): Previous Period ` or :guilabel: `(Time Filter): Previous Year ` in the
218
- :guilabel: ` Comparison ` section.
213
+ :guilabel: `Filters ` column of the search bar drop-down menu. Then, select either :guilabel: ` (Time
214
+ Filter): Previous Period ` or :guilabel: `(Time Filter): Previous Year ` in the :guilabel: ` Comparison `
215
+ section.
219
216
220
217
With one of the :guilabel: `Comparison ` options enabled, the report compares the data for the
221
218
selected period, with the data for the same unit of time (month, quarter, year), one period or year
222
219
prior. The way the data is displayed depends on the selected view:
223
220
224
- - The :icon: `fa-bar-chart ` :guilabel: `(bar chart ) ` shows two bars, side-by-side, for each unit of
221
+ - The :icon: `fa-bar-chart ` :guilabel: `(Bar Chart ) ` shows two bars, side-by-side, for each unit of
225
222
time for the selected time period. The left bar represents the selected time period, while the
226
223
right bar represents the previous time period.
227
- - The :icon: `fa-line-chart ` :guilabel: `(line chart ) ` is displayed with two lines, one representing
224
+ - The :icon: `fa-line-chart ` :guilabel: `(Line Chart ) ` is displayed with two lines, one representing
228
225
the selected time period, and the other representing the previous time period.
229
- - The :icon: `fa-pie-chart ` :guilabel: `(pie chart ) ` appears as a large circle with a smaller circle
226
+ - The :icon: `fa-pie-chart ` :guilabel: `(Pie Chart ) ` appears as a large circle with a smaller circle
230
227
inside. The larger circle represents the selected time period, while the smaller circle represents
231
228
the previous time period.
232
- - The :icon: `oi-view-pivot ` :guilabel: `(pivot table ) ` is displayed with each column split into two
233
- smaller columns. The right column represents the selected time period, while the left column
234
- represents the previous time period.
229
+ - The :icon: `oi-view-pivot ` :guilabel: `(Pivot ) ` is displayed with each column split into two smaller
230
+ columns. The right column represents the selected time period, while the left column represents
231
+ the previous time period.
235
232
236
233
.. example ::
237
234
In the :guilabel: `Production Analysis ` report of the :menuselection: `Manufacturing ` app, data for
238
235
the second quarter of 2024 is compared to data for the second quarter of 2023. :guilabel: `Q2 ` is
239
- selected in the :guilabel: `End Date ` filter section of the :guilabel: ` Search... ` bar drop-down
236
+ selected in the :guilabel: `End Date ` filter section of the search bar drop-down
240
237
menu. In the :guilabel: `Comparison ` section, :guilabel: `End Date: Previous Year ` is selected.
241
238
242
239
The current year is 2024, so the larger circle shows data for the second quarter (Q2) of 2024.
@@ -247,7 +244,6 @@ prior. The way the data is displayed depends on the selected view:
247
244
the first quarter (Q1) of 2024, which is the same time period, but one *period * prior.
248
245
249
246
.. image :: search/comparison.png
250
- :align: center
251
247
:alt: The comparison view of the Production Analysis report.
252
248
253
249
.. _search/favorites :
@@ -258,24 +254,23 @@ Favorites
258
254
Favorites are a way to save a specific search for future use, or as the new default filter for the
259
255
view.
260
256
261
- To save the current view as a favorite, click the :guilabel: ` 🔽 ( down arrow ) ` icon in the search
262
- bar, then select the :guilabel: `Save current search ` drop-down menu to display the following
263
- options:
257
+ To save the current view as a favorite, click the :icon: ` fa-caret- down` :guilabel: ` (dropdown ) ` icon
258
+ in the search bar, then select the :guilabel: `Save current search ` drop-down menu to display the
259
+ following options:
264
260
265
- - Filter name: name of the favorited search.
266
- - :guilabel: `Default filter `: sets the favorited search as the default filter for the view.
267
- - :guilabel: `Shared `: makes the favorited search available to all users. By default, the favorited
268
- search is only available to the user who created it.
261
+ - :guilabel: ` Filter name `: Name of the favorited search.
262
+ - :guilabel: `Default filter `: Sets the favorited search as the default filter for the view.
263
+ - :guilabel: `Shared `: Makes the favorited search available to all users. Otherwise, by default, the
264
+ favorited search is only available to the user who created it.
269
265
270
266
Once the options are set, click :guilabel: `Save ` to save the favorited search.
271
267
272
268
.. image :: search/favorites.png
273
- :align: center
274
- :alt: Saving a favorite search on the Sales Analysis report
269
+ :alt: Saving a favorite search on the Sales Analysis report.
275
270
276
- Saved favorites can be accessed by clicking the :guilabel: ` 🔽 (down arrow ) ` icon in the search bar,
277
- then selecting the saved filter in the :guilabel: `Favorites ` drop-down menu. To remove a saved
278
- favorite, click the :guilabel: ` 🗑️ (garbage can ) ` icon next to the favorited search.
271
+ Saved favorites can be accessed by clicking the :icon: ` fa-trash ` :guilabel: ` (delete ) ` icon in the
272
+ search bar, then selecting the saved filter in the :guilabel: `Favorites ` drop-down menu. To remove a
273
+ saved favorite, click the :icon: ` fa-trash ` :guilabel: ` (delete ) ` icon next to the favorited search.
279
274
280
275
.. tip ::
281
276
To view *all * favorited searches, first activate :ref: `developer-mode `, and navigate to
0 commit comments