09 Februari 2012

ir_model_data menyimpan mapping record id dengan name di OpenERP

Bismillahirrahmaanirrahiim

Sering melihat code seperti ini:
id=nama_modul.sesuatu_id

seperti yang terlihat pada postingan saya sebelumnya tentang pengaturan hak akses. Nah di file csv yang dibuat kan ada group_id:id

contoh: cash_out_voucher.group_co_voucher_user

yang diambil dari definisi file xml seperti ini:

<record id="group_co_voucher_user" model="res.groups">
       <field name="name">Cash Out Voucher User</field>
    </record>

Sempat bingung di mana id tersebut disimpan sehingga ketika kita menemukan nama group Cash Out VOucher di menu group, adalah group dengan id group_co_voucher_user

Ternyata saat saya tidak sengaja menemukan suatu error yang berhubungan dengan access group, ketahuan deh bahwa id, name dan model di simpan diiii tabel "ir_model_data"

 Sok atuh dicek ricek tabel tersebut, setidaknya test dengan menjalankan query berikut:

select name,model,module from ir_model_data where name like 'group%';

Demikian, semoga bermanfaat :)

06 Februari 2012

Set Default Filter pada Search View OpenERP

Bismillahirrahmaanirrahiim

Hmm langsung saja yaa...
Contoh kita punya filter seperti ini:



Dengan 3 tombol kiri merupakan filter state seperti berikut:
<filter icon="terp-document-new" name="draft" string="Draft" domain="[('state','=','draft')]" help="Draft Vouchers"/>
<filter icon="terp-document-new" name="approval" string="Approval" domain="[('state','in',('wait','confirm'))]" help="Vouchers wait to be approved"/>
<filter icon="terp-document-new" name="posted" string="Posted" domain="[('state','=','posted')]" help="Approved and Posted"/>
yaitu untuk mendapatkan list data dengan kondisi state sesuai yang dipilih.
Kemudian, yang kita inginkan adalah ketika klik menuAll Cash Usage, maka defaultnya adalah filter data dengan state=wait atau confirm (tombol filter Approval defaultnya terpilih), seperti gambar berikut:


Maka, yang dilakukan adalah tambahkan filed context pada action window record tag (gak tau harus menyebutnya apa) pada file view xml, seperti berikut:
<field name="context">{'search_default_approval':1}</field>
lihat yang berada di dalam kurung kurawal,search_default_approval: di set 1 (True),
maka tombol filter approval secara default terpilih saat klik menu All Cash Usage.

sintax search_default_approval berasal dari search_default_ + nama_field_filter (lihat atribut name dari tab filter di atas yang berwarna merah).
Jadi, jika mau membuat default filter pada filter Posted, maka kita ganti saja menjadi 'search_default_posted'

* Biasanya kita tidak memberi atribut name pada tag filter, tapi untuk kebutuhan filter default maka kita wajib memberi atribut name pada setiap tag filter.

Untuk code lengkapnya bisa dilihat berikut ini:


<record model="ir.actions.act_window" id="action_voucher_nonpo">
   <field name="name">All Cash Usage</field>
   <field name="res_model">
     cash.out.voucher.settlement.nonpo</field>

   <field name="view_type">form</field>
   <field name="context">{'search_default_approval':1}  
   </field>

           
</record>
Demikian ...
Semoga informasi sedikit ini bermanfaat :) ...