nginx : Konfigurasi Default Server


Pagi ini Penulis bangun agak cepat untuk menyiapkan server demo odoo untuk salah satu kenalan Penulis. Penulis kemudian melakukan langkah awal yang tidak biasa dalam menyiapkan server demo, yaitu membuat subdomain untuk server demo odoo. Langkah ini diikuti oleh mencoba membuka URL subdomain tersebut pada browser. Setengah takjub ternyata subdomain tersebut sudah bisa dibuka, walaupun diforward ke server yang salah, padahal Penulis belum mendaftarkan domain tersebut di nginx

Segelas kopi, segelas teh, dan berlembar-lembar halaman web kemudian Penulis baru menemukan bahwa :

ketika nginx tidak menemukan sebuah nama server, maka nginx akan melakukan dua hal berikut :

  1. Mencari server dengan directive default_server
  2. Mencari server pertama pada port yang dimaksud

Nginx Penulis ternyata tidak mempunyai default_server, oleh karena itu nginx memforward request dari subdomain tersebut ke server pertama yang standby di port 80. Damn

Penulis kemudian menambahkan directive di bawah untuk mengarahkan request yang salah ke halaman 504 Bad Gateway

server {
    listen       80  default_server;
    server_name  _;
    return       504;
}

Ok lesson learned … * yawn

Odoo (Former OpenERP) 7.0 Module : koi_project – Project Family


Melanjutkan artikel Penulis mengenai modul Odoo Project Management yang Penulis kembangkan, kali ini Penulis akan menjelaskan mengenai konsep Project Family. Project Family adalah kelompok besar project yang fungsi utamanya adalah untuk memudahkan pengorganisasian project. Berikut adalah screenshot dari tampilan tree dan form milik Project Family

Tree Project Family

Tree Project Family

Form Project Family

Form Project Family

Fungsi/Fitur yang dimiliki oleh project family adalah :

  1. Dimungkinkan untuk memiliki sendiri
  2. Memiliki pengaturan hak akses
  3. Penentuan project template per project family

Continue reading

Odoo (former OpenERP) 7.0 Module : koi_project – Project Management Application


Selamat tahun baru 2015

Tahun 2015 ini Penulis buka dengan merilis modul kustom Odoo untuk project management. Rilis modul ini dilatarbelakangi oleh (1) kebutuhan internal Penulis dan Tim yang sangat mendesak dan (2) permintaan dari beberapa klien untuk modifikasi project management Odoo

Sedangkan penulisan artikel ini dimotivasi terutama dari keinginan Penulis yang tidak mau kalah dari Gita Ekapratiwi yang saat ini juga sedang menulis artikel pada blog nya hehehehehe

A. KONSEP DASAR

Penulis belum akan menuliskan fitur-fitur baru pada artikel ini. Namun berikut adalah beberapa konsep dasar yang Penulis gunakan dalam membuat modul kustom Project Management

A.1 Extra Rigiditas Pada Field-field Many2one

Field many2one untuk Penulis adalah pedang bermata dua dalam implementasi Odoo. Di satu sisi field ini menawarkan kemudahan untuk menginput data-data referensi tanpa harus membuka menu terkait. Di satu sisi field many2one adalah mimpi buruk hak akses untuk Penulis. Duplikat data berserakan, paling parah pada data Partner. Masih terbayang serentetan malam panjang Penulis harus melakukan koreksi data Partner akibat user-user project management dan user-user finance & accounting tidak melakukan kordinasi penginputan data Partner (colek-colek BKP Dwipayana hehehehe).

Akhirnya Penulis terpaksa mengambil sikap yang lebih rigid dalam penggunaan field many2one. Memanfaatkan modul web_m2x_options, penulis membuat field many2one tidak bisa (1) membuat data langsung, dan (2) tidak bisa membuka data referensi lansung. So sorry guys … integritas data jadi taruhannya disini

Tidak ada opsi create ataupun create and edit

Tidak ada opsi create ataupun create and edit

Tidak ada link ke data referensi

Tidak ada link ke data referensi

Continue reading

Odoo (Former OpenERP) 7.0 Modules : ar_account (Metode Konversi Kurs)


Odoo (Former OpenERP) menggunakan metode perhitungan tidak langsung dalam melakukan konversi kurs. Hal ini menyulitkan bagi user dengan nilai tukar base currency yang lemah. Ini terjadi pada implementasi Odoo (Former OpenERP) di Indonesia. Sebagai contoh lihat screenshot di bawah :

Kurs Dengan Metode Tidak Langsung

Kurs Dengan Metode Tidak Langsung

Dengan metode tidak langsung 1 Rp = USD 12.000 harus diinput seperti screenshot di atas. Presisi pun harus ditambah menjadi (12,12). Namun setelah uji coba, pembulatan yang dihasilkan sangat tidak memuaskan. Contoh bisa dilihat pada screenshot di bawah :

Bank Payment Dengan Metode Konversi Kurs Tidak Langsung

Bank Payment Dengan Metode Konversi Kurs Tidak Langsung

Bank payment dengan mata uang USD menghasilkan konversi yang tidak tepat pada screenshot di atas

Berangkat dari permasalahan di atas, Penulis menambahkan pengaturan metode konversi kurs. Metode yang dipilih bisa berupa (1) Langsung/Direct, atau (2) Tidak Langsung/Indirect. Screenshot dari pengaturan tersebut dapat dilihat pada screenshot di bawah

Continue reading

Odoo 7.0 Module : koi_base_generic_multi_approval – Generic Multiple Approval System


Approval process is a primary concern for every OpenERP client that I encounter. It is pain in the a** to create approval system for each transaction on OpenERP. There’s should be a generic approval system which could be used by every object that need approval. The variance of approval pattern make this task even unbearable.

Since OpenERP 7.0, there is a way to create abstract model using osv.AbstractModel. This is the foundation to create generic approval system on OpenERP. I tried to use the same technique as mail.thread and mail.message to create approval system. The feature that should be available on approval system are :

  1. The approval system could be use by all object that needed approval system
  2. No need to/less additional code for approval system implementation
  3. Reduce the need to add additional step on original workflow (if there is any)
  4. Bypass system for emergency use
  5. Multiple approval for one document that could be defined by user (not hard code)
  6. User or group that allowed to approve/reject/bypass should be user defined (not hard code)

Continue reading

Odoo (Former OpenERP) 7.0 Functional Tutorial : Cara Melihat Trial Balance On-Screen


Query Trial Balance adalah fitur pada Odoo 7.0 untuk melihat Trial Balance tanpa harus mencetak laporan (on-screen). Berbeda dengan Trial Balance generik Odoo, Query Trial Balance menyajikan field-field tambahan seperti (1) Beginning Debit, (2) Beginning Credit, (3) Ending Debit, dan (4) Ending Credit. Hasil akhir dari fitur ini merupakan list view bukan pdf report seperti fitur Trial Balance generik.

Query Trial Balance

Query Trial Balance

Continue reading

Odoo (Former OpenERP) 7.0 Functional Tutorial : Cara Melihat Expense Detail On-Screen


Query Expenses Detail adalah fitur dalam Odoo (Former OpenERP) yang berfungsi untuk menampilan data-data beban pada rentang periode tertentu. Hasil dari fitur ini berupa list view, bukan report cetak.

PANDUAN MENGGUNAKAN FITUR

#1 Buka menu Accounting -> Query -> Purchase -> Expenses Detail

#2 Isi wizard yang muncul

Wizard Query Expenses Detail

Wizard Query Expenses Detail

Berikut penjelasan mengenai parameter pada wizard :

Continue reading

Odoo (Former OpenERP) 7.0 Functional Tutorial : Cara Melihat Sales Detail On-Screen


Query Sales Detail adalah fitur dalam Odoo (Former OpenERP) yang berfungsi untuk menampilan data-data penjualan pada rentang periode tertentu. Hasil dari fitur ini berupa list view, bukan report cetak.

PANDUAN MENGGUNAKAN FITUR

#1 Buka menu Accounting -> Query -> Sales -> Sales Detail

#2 Isi wizard yang muncul

Wizard Sales Detail

Wizard Sales Detail

Berikut penjelasan mengenai parameter pada wizard :

Continue reading

Odoo (Former OpenERP) 7.0 Functional Tutorial : Cara Melihat Balance Sheet On-Screen


Balance Sheet atau Nearaca Saldo adalah salah satu dari tiga laporan keuangan perusahaan. Laporan ini memuat saldo aset, kewajiban dan ekuitas perusahaan pada periode waktu tertentu.

SOLUSI DENGAN MENGGUNAKAN OODO

Query Balance Sheet adalah fitur dalam Oodo untuk melihat secara on-screen. Fitur ini sebenarnya sama dengan Report Balance Sheet standar Oodo. Perbedaannya adalah :

  1. Output dari Query Balance Sheet bukan berupa PDF tetapi tree view
  2. Selain saldo dari periode yang dipilih Query Balance Sheet juga menampilkan saldo periode sebelumnya.

Berikut cara menampilkan Query Balance Sheet :

Continue reading