Catatan mengenai kolom ‘active’ dalam object

Kolom ‘active’ ternyata bukan sekedar pajangan di OpenERP. Nilai dari kolom ‘active’ akan secara otomatis menentukan apakah sebuah data ditampilkan di OpenERP atau tidak.

Nilai Kolom ‘active’ :
True/1 –> Data akan ditampilkan
False/0 –> Data tidak akan ditampilkan

Jika dalam pembuatan sebuah model di OpenERP anda membutuhkan sebuah mekanisme untuk menentukan apakah sebuah data masih bisa digunakan atau tidak, tambahkanlah sebuah kolom yg bernama ‘active’ (ejaan hrs persis sama :D).

Mekanisme ini dikendalikan dari method ‘search’ milik class orm (/bin/osv/orm.py baris ke 3056).  Method ini akan diwariskan ke semua model turunannya. Method ini kemudian akan memanggil sebuah method _where_calc (/bin/osv/orm.py baris ke 3022). Method inilah yang akan menambahkan klausa WHERE yang sudah ada dengan “active = 1”

Jadi apabila ada syntax berikut :

partner_ids = self.pool.get(‘res.partner’).search(cr, uid, [(‘name’,’=’,’tiny’)])

maka object orm akan menghasilkan SQL Syntanx ke Postgree berupa :

SELECT res_partner.id FROM res_partner WHERE name=’tiny’ AND active=1

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s