OpenERP 7.0 Module : ar_pajak


Pajak merupakan hal yang tidak dapat dipisahkan dari operasional perusahaan. Selalu menjadi nilai tambah dalam sebuah sistem jika bisa menyediakan fitur yang memudahkan perusahaan dalam mengatur semua dokumen perpajakannya.

Modul generik OpenERP hanya menyediakan fungsionalitas standar terkait dengan perpajakan. Modul lokalisasi untuk perpajakan Indonesia harus dibuat agar menjadi nilai tambah.

Continue reading

OpenERP 7.0 Module : ar_base_amount_to_text


OpenERP implementation need amount to text function on many documents such as invoice, sale order, etc. I know that OpenERP has provide amount_to_text functionality. Too bad it is not located on module. They put it on /tools folder (amount_to_text.py). It is not as flexible that i wanted to. That’s why we build this module.

Continue reading

OpenERP 6.1 Modul : HR Attendance / Absensi


Modul attendance/absensi merupakan modul penting dalam Human Resource Information System bersama-sama dengan modul payroll. Berbeda dengan modul payroll yang pada versi 6.1 sudah mengalami meningkatan yang cukup signifikan, modul generic attendance / absensi belum mendapatkan perhatian yang cukup. Hal ini meengakibatkan modul attendance generic sangat tidak tepat untuk diimplementasikan pada kondisi ketenagakerjaan di Indonesia.

Pengembangannya lebih sulit dari modul payroll ataupun pph 21, karena tidak banyak yang bisa dimanfaatkan dari modul-modul generic OpenERP.

A. FITUR-FITUR

Continue reading

OpenERP 5.0.16, 6.0.3, 6.04, dan 6.1 Technical Tutorial : Cara Menambahkan Data Dengan Menyertakan Context


Penulsi beberapa kali menemukan kondisi dimana penulis harus melakukan overloading terhadap method create ORM. Pada overloading tersebut ada method yang dijalankan apabila ada nilai context tertentu yang diberikan. Contoh sintaksnya :

def create(cr, uid, value, context={}):
    obj_partner = self.pool.get('res.partner')

    partner_id = super(res_partner, self).create(cr, uid, value, context)

    nilai = context.get('nilai', False)

    if nilai : self.lakukan_method(cr, uid, partner_id)

    return partner_id

Method di atas menginstruksikan bahwa method lakukan_method akan dijalankan ketika ada key ‘nilai’ dalam parametercontext yang diberikan ketika mengeksekusi method create.

Jika selanjutnya Penulis ingin menambahkan data demo (via xml) dan menyertakan context tersebut, maka sintaks xml nya adalah sebagai berikut :

<record context="{'nilai' : True}" id="some_id" model="res.partner">
    ...
    ...
</record>

Perhatikan context=”{‘nilai’ : True}”

OpenERP 5.0.16, 6.0.4, 6.0.3, dan 6.1 Technical Tutorial : Membuat Sequence


Berikut panduan pemrograman untuk membuat sequence pada OpenERP 5.0.16, 6.0.3, 6.0.4 dan 6.1. Mungkin sifatnya hanya algoritma pemrograman saja, codenya silahkan disesuaikan dengan kebiasaan pemrograman masing-masing.

#1 Dapatkan id dari sequence yang ingin digunakan

Contoh menggunakan method search:

obj_sequence = self.pool.get('ir.sequence')

kriteria = [] # contohnya [('name','=','Sale Order')] untuk sequence Sale Order
sequence_id = obj_sequence.search(cr, uid, kriteria)[0]

Continue reading

OpenERP 5.0.16, 6.0.3, 6.0.4 & 6.1 Technical Tutorial : Memperbaiki Relationship many2one


Ketika membuat sebuah field many2one di OpenERP, terkadang developer salah menuliskan ke object mana many2one tersebut direlasikan. Jika field tersebut sudah terbuat, developer tidak bisa serta-merta mengkoreksi file .py untuk membetulkan relasi tersebut.

CONTOH
class object_contoh(osv.osv):
    _columns = {
               'name' : fields.char(string='Nama', size=100),
               'partner_id' : fields.many2one(obj='account.account', string='Partner'),
               }

Relasi many2one pada baris ke-4 harusnya ke object res.partner

LANGKAH KOREKSI

Continue reading