İçereği Atla
Menü
Bu soru işaretlendi
2 Cevaplar
7678 Görünümler

Hello!

We have a Kanban view grouped by a field called "state". This field only has 4 possible values (New, Allotted, Released, Invoiced).

When sorting by state field, we can only do ascending or descending. The ascending order is as follows: Allotted-Invoiced-New-Released.

How can we do the following sort?: New - Allotted - Released - Invoiced


Odoo 14: Community.


Regards!

Alberto

Avatar
Vazgeç
En İyi Yanıt

Hi,

if the field 'state' is of the type 'Selection', you would hardly achieve the goal in a simple manner.

The point is that 'Selection' represents char (string) in the database, so ordering means alphabetical order. In such a case the easiest way, is to rename the states (e.g. to have a number at the beginning).

Otherwise, make the state of the many2one type with a reference to another model (have a look how it is done in crm.lead & crm.stage). In such a case you would be able to select the param _order of that related model (e.g. sequence in the case of crm.lead)

Avatar
Vazgeç
Üretici En İyi Yanıt

Hello faOtools,

Thanks for you answer. In effect, the field is type "selection":

state = fields.Selection([('new','New'),('allotted','Allotted'),('released','Released'),('invoiced','Invoiced')], string="Stages", default="new", required=True, tracking=True)

Is there way to do it with the field type "selection"?

Avatar
Vazgeç

Hello, as I said in the answer the easiest way is to add an integer at the beginning: ('1_new', '1. New').

İlgili Gönderiler Cevaplar Görünümler Aktivite
2
May 20
10598
1
Haz 23
2672
2
May 20
5901
1
Şub 19
6907
0
Oca 19
5922