OpenERP 5.0.15, 6.0.3, 6.0.4 & 6.1 Technical Tutorial : ORM Method Copy

SINTAKS


copy(self, cr, uid, id, defaults, context=None)

PARAMETER

cr
cursor
uid
integer. ID user yang akan mengeksekusi method
id
integer. ID dari resource yang akan di-copy
defaults
dictionary. Dictionary nilai-nilai yang akan diset defaultnya

RETURN

Integer. ID dari resource hasil copy

CONTOH

class object_contoh(osv.osv):
    _name = 'object.contoh'
    _description = 'Contoh'
    _columns = {
               'name' : fields.char('Name', size=100),
               'code' : fields.char('Code', size=30),
               'active' : fields.boolean('Active'),
               'note' : fields.text('Note'),
               }

Kondisi data dari object_contoh adalah sebagai berikut :

id name code active note
1 Contoh 1 001 True
2 Contoh 2 002 True

Jika data dengan id=2 ingin dicopy menjadi data baru tanpa ada perubahan, maka code nya seperti berikut :

obj_contoh = self.pool.get('object.contoh')
obj_contoh.copy(cr, uid, 2, {})

Hasil dari code diatas adalah seperti ini (perhatikan data dengan id=3):

id name code active note
1 Contoh 1 001 True
2 Contoh 2 002 True
3 Contoh 2 002 True

Jika data dengan id=2 ingin dicopy menjadi data baru dengan perubahan name=”Contoh 3″, maka code nya seperti berikut :

obj_contoh = self.pool.get('object.contoh')
obj_contoh.copy(cr, uid, 2, {'name' : 'Contoh 3'})

Hasil dari code diatas adalah seperti ini (perhatikan data dengan id=4):

id name code active note
1 Contoh 1 001 True
2 Contoh 2 002 True
3 Contoh 2 002 True
4 Contoh 3 002 True
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