Search View di Odoo adalah fitur yang memungkinkan pengguna untuk mencari dan memfilter data dalam tampilan daftar. Dengan Search View, kita dapat menambahkan bidang pencarian, filter kustom, grup, dan fitur pencarian lanjutan untuk meningkatkan pengalaman pengguna.
Definisi Search View
Search View dalam Odoo didefinisikan dalam file XML dan digunakan untuk menambahkan elemen pencarian di model tertentu. Search View terdiri dari field pencarian, filter, grup, dan favorit.
Contoh Dasar Search View
Berikut adalah contoh dasar bagaimana mendefinisikan Search View dalam Odoo 18:
<record id="view_example_search" model="ir.ui.view">
<field name="name">example.search</field>
<field name="model">example.model</field>
<field name="arch" type="xml">
<search>
<field name="name"/>
<filter string="Active Records" name="active" domain="[('active', '=', True)]"/>
<filter string="Category A" domain="[('category', '=', 'A')]"/>
<group string="Group By">
<filter string="Category" name="group_category" context="{'group_by': 'category'}"/>
<filter string="Date" name="group_date" context="{'group_by': 'date'}"/>
</group>
</search>
</field>
</record>
Penjelasan Kode
<field name="name"/>
→ Menambahkan field yang bisa dicari.<filter>
→ Menambahkan filter kustom berdasarkan kondisi tertentu.<group>
→ Menambahkan opsi untuk mengelompokkan data berdasarkan field tertentu.
Elemen Search View
Search View di Odoo 18 mendukung beberapa elemen utama:
1. Field Pencarian
Field pencarian memungkinkan pengguna mencari data berdasarkan atribut tertentu.
<field name="customer"/>
2. Filter
Filter digunakan untuk menyaring data dengan kondisi tertentu.
<filter string="Paid" domain="[('state', '=', 'paid')]"/>
3. Grup (Group By)
Group digunakan untuk mengelompokkan hasil pencarian.
<group string="Group By">
<filter string="Customer" name="group_customer" context="{'group_by': 'customer_id'}"/>
</group>
4. Favorites
Favorites memungkinkan pengguna menyimpan pencarian yang sering digunakan.
<filter string="My Orders" name="my_orders" domain="[('user_id', '=', uid)]" context="{'group_by': 'date'}"/>
Contoh Implementasi Search View di Modul Kustom
Jika Anda memiliki model order.model
, berikut adalah contoh search view untuk meningkatkan fitur pencarian:
<record id="view_order_search" model="ir.ui.view">
<field name="name">order.search</field>
<field name="model">order.model</field>
<field name="arch" type="xml">
<search>
<field name="name"/>
<field name="customer_id"/>
<filter string="Confirmed" name="confirmed" domain="[('state', '=', 'confirmed')]"/>
<filter string="Pending" name="pending" domain="[('state', '=', 'pending')]"/>
<group string="Group By">
<filter string="Customer" name="group_customer" context="{'group_by': 'customer_id'}"/>
<filter string="Order Date" name="group_date" context="{'group_by': 'date'}"/>
</group>
</search>
</field>
</record>
Kesimpulan
Search View di Odoo 18 memungkinkan pengguna untuk mencari dan memfilter data dengan lebih efisien. Dengan menggunakan field pencarian, filter, grup, dan favorit, kita dapat meningkatkan pengalaman pengguna dalam menavigasi dan mengelola data di dalam aplikasi Odoo.