28 Agustus 2017

Advanced Routing (Push and Procurement Rules) Part 1

Bismillahirrahmaanirrahiim

Udah lama mau share feature ini...
Karena rada lama juga belajar memahami feature routing.. rada lemot untuk bisa sampai bener2 memahaminya...

Oke, langsung aja ya...
Apa itu Push Rules?
Apa itu Procurement Rules?

Sebelumnya harus setting apa sajakah?
Setelah instal module Inventory, 2 hal yang penting untuk di-check adalah sebagai berikut.
Yang pertama, supaya bisa create lebih dari 1 warehouse, dan yang ke-2 untuk meng-aktifkan feature Advanced Routing.






Kalau kita lihat di menu Inventory / Configurations / Routes / Routes, by default hanya akan ada 3 routes berikut:











Mari bedah Make to Order.
















Applicable On, dengan priority:
  • Product Categories 
  • Products
  • Warehouses
Contoh suatu Sales Order generate Delivery order dari lokasi A --> Customer (dengan warehouse A) 
dengan produk XYZ
  1. maka dia akan cek dulu, apakah category dari XYZ diset suatu routes. Jika ada, maka ambil rules dari kategori tersebut.
  2. Jika tidak ada, dia akan cari apakah ada route yang diset untuk produk XYZ (di form product) 
  3. Jika tidak ada, maka akan cari route dari warehouse A si Delivery Order.
Dan jika tidak ada dari ke-3 hal di atas yang ada rule nya... maka akan search dari default rule. yaitu rule yang tidak di-assign ke Routes manapun.

Di manakah default rule nya? Kalau kita set technical mode on (debug mode), kita akan menemukan menu Global Procurement Rules. By default gak ada datanya.

btw kesimpulan ini saya dapat, setelah membaca function _search_suitable_rule di module stock











Lalu kembali lagi ke Make to Order route di atas. Kalau kita lihat baru ada Procurement Rules ya.
Coba kita lihat isinya






















Bagaimana cara bacanya? 
Rules di atas memiliki arti:
Jika ada permintaan di lokasi Procurement, maka akan meminta dari lokasi Source Location dengan cara  Move Supply Method = Create Procurement yang akan membua Stock.picking dengan type Picking Type

Maksudnya?

Jika ada permintaan di lokasi Customer (Sales Order), maka akan membuat Procurement Order dengan lokasi source WH/Stock  --> dan ini berarti, harusnya akan melakukan sesuatu (entah Pembelian atau Manufacturing Order) dengan tujuan pengadaan stock di lokasi WH/Stock.

Duuh bingung...
Oke... kita coba aja ya bikin 1 produk baru dengan route Make to Order
















Karena masih baru, maka stock masih kosong ya..
Lalu kita buat Sales Order dengan item Produk A sebanyak 10 pcs, maka saat confirm Sales Quotation, yang terjadi adalah:

  1. Dibuat Procurement Order dengan Procurement Location = Customers dan Rule WH: Stock -> CustomersMTO yang diambil dari route Make to Order. Procurement order ini akan otomatis running dan membuat stock.picking (2)
  2. Karena itu akan dibuat stock.picking (delivery order) dengan source location WH/Stock dan destination Customers
  3. Karena rule  WH: Stock -> CustomersMTO memiliki Move Supply Method = Create Procurement, maka akan dibuat juga Procurement Order dengan Procurement Location = WH/Stock. Nah apa yang terjadi ketika procurement order ini running?
    Sudah pasti akan masuk ke Procurement Exceptions. Loh kenapa?
    Ya karena tidak bisa menemukan rule dengan procurement location WH/Stock


Terus bagaimana? 
Hmmm setelah saya instal modul Purchases, ada 1 route baru yaitu Buy dengan Procurement Rules berikut:
























Artinya adalah, ketika ada Procurement di location WH/Stock, maka akan langsung membuat Purchase Order (Action Buy) dengan Picking Type My Company: Receipts.
Kalau gitu kita coba assign aja Route tersebut ke Warehouse aja (bukan ke produk lagi).













Nah kita pilih warehouse My Company ya
maka coba kita manual klik Run Procurement, maka... pasti akan ada exception lagi 
Walah apa lagi? 
















Sudah bisa tebak kan kenapa bisa ada exception. Yaa.. karena rule nya Buy tapi belum diset Vendor nya. Kita set dulu ya di Product























Kemudian Run Procurement kembali, maka sudah bisa dipastikan akan dibuat 1 dokumen Purchase Order dengan posisi Draft





















Ehmmm jadi... kesimpulan dari atas sampai sini mengenai Procurement Rules adalah.
Suatu Rules untuk melakukan pengadaan suatu barang di lokasi tertentu, yang biasanya di trigger dari suatu Sales Order atau picking manual atau manual procurement order.
Dan Faktanya, ketika kita COnfirm Sales Order, yang dilakukan adalah create Procurement Order, bukan langsung buat Delivery Order.

Beda halnya dengan Purchase Order, akan dibuat langsung Incoming Shipment.

Ehh tapii, saya gak pernah set apapun deh di routing, dan otomatis akan create Delivery Order.
Oke.. mari cari semua route yang Procurement Location nya lokasi Customers.. Pasti ada... dan dalam case database saya ini hanya 1.. Lalu coba non-aktifkan. 
Maka ketika confirm Sales Order, PASTI tidak akan terbuat Delivery Order, dan akan masuk ke Procurement Exception, karena tidak ada route dengan Procurement Location = Customers

Jadi jika kita mau buat suatu route otomatis dari lokasi A -> B -> C -> Customers
maka setidaknya harus ada 3 Procurement rules, dengan detail berikut:
1. Procurement Location: Customers, Source Location: C, Move Supply Method: Create Procurement
2. Procurement Location: C, Source Location: B, Move Supply Method: Create Procurement
3. Procurement Location: B, Source Location: A, Move Supply Method: Take From Stock


Demikian.. 
Segini dulu yaa...
kapan2 kalau ada waktu lanjut lagii
test

17 Mei 2017

Gagal Upgrade/Instal Module --> Hapus Database, addons, modul, atau bagaimana?

Bismillahirrahmaanirrahiim

Hai hai semua... haha udah nyaris 1 tahun ini blog gak diisi.
Kali ini mau share troubleshooting yang sering terjadi dan bikin stress...

Pernahkah, habis update suatu modul custom Odoo, lalu pas Upgrade di Odoo gagal? Sering lah
Nah terus bukan cuma gagal, tapiii merembet ke modul custom lain? dan itu bisa banyaak...
Yaudah cancel Upgrade aja siii? yaaa kalau bisa, lah kalau akhirnya tahu2 kita logout terus gak bisa masuk sama sekali, dan lihat di lognya error nya itu di modul yang bahkan gak pernah kita sentuh, gak jelas, dan intinya mentok lah mau ngapain lagi..

Terus, akhirnya apa yang terfikirkan, ahhhhh hapus aja databasenya, ehh hapus aja modul nya, bahkan sampe instal ulang odoo nya...... waduuuuuuwww
jangan!!
capek ah, dan wasting time.
Dan itu yang saya lakukan pada zaman dahulu... hehe

Sampai akhirnya menemukan cara yang lebih manusiawi.
Misal kita mau upgrade modul X, lalu gagal dan pas kita lihat di list modul ada modul A, B, C, D yang ikutan statusnya to upgrade (kalau emang masih bisa masuk ke list view modules :P)

Terus apa solusinya.
Masuk ke database, pakai pgAdmin or psql atau apapun lah...

Bisa coba cek pakai query, modul2 apa yang statusnya to upgrade
select id, name from ir_module_module where state='to upgrade';

pasti bisa nemu data berikut
id, name
100, A
101, B
102, C
103, D
120, X

Nah ketahuan kan modul2 apa yang berpengaruh ...
terus diapain? Yaa dibenerin lah satu2.. hehe .. itu kalau lagi banyak waktu, kalau lagi buru2 diapain?

Yasudah, reset aja statusnya. Jadi?? *installed*

Yep gunakan query berikut
update ir_module_module set state='installed' where state='to upgrade';

Selesai.........
Insya Allah yang tadinya gak bisa login, bisa masuk lagi..
Kemudian, benerin deh modulnya...
bersihin...
itu terjadi biasanya karena modulnya gak clean... buggy intinya mah..

Ohya kalau misal errornya terjadi saat mau instal modul baru

update statusnya dari to install menjadi uninstalled

Demikian.. smeoga bermanfaat :)


As usual, cmiiw ya :)
 

28 September 2016

variasi search text dengan orm

Bismillahirrahmaanirrahiim

Cek di sini

https://www.odoo.com/forum/help-1/question/solved-what-does-ilike-in-domain-operator-used-for-58261


31 Agustus 2016

Cara Cepat Set Default Suatu Field

Bismillahirrahmaanirrahiim

Suatu saat saya lupa set default Account A/R dan A/P dari partner. biasanya saya set ketika instal module accounting (chart of account).

Akhirnya rempong...
dan butuh cara cepat untuk set default...

Dan ternyata hanya dengan 4 langkah berikut:

  1. Activate the Developer mode
  2. Di form customer, create new, terus isi field A/R dan A/P nya
  3.  Klik Set Defaults di pojok kanan atas kekirian dikit #halaah
  4. Pilih fieldnya, kemudian Save Defaults

Udah deeeh selanjutnya setiap create customer baru akan keiisi default tersebut...
Cara ini berlaku untuk semua field di semua form yaaa

#ditulisDiSiniSupayaKalauLupaBisaCepetDapetSolusi

30 Mei 2016

Upgrade modul dari terminal

Bismillahirrahmaanirrahiim

Waduh sudah lama juga ya blog ini tidak di-update *tutup muka*
Maaf ya semuaa .. :'(

ini update sedikit

jadi misal kita punya custom modul,
sudah berhasil diinstal

terus kita tambahin suatu field misal field X
terus mau di-upgrade
tapi posisi Odoo nya lagi logout..
nah pas mau login gagalll teruss
dengan error kira-kira bunyinya begini "field X tidak tersedia"
semacam itu deh..

lah kita mau login maksudnya juga mau upgrade modul tersebut buat nambahin field X ntu
lahhh gimana ini??
pusing pusing pusing  :P

tenang...
ada solusinya hehe
jadi biasanya itu terjadi ketika kita custom modul yang berhubungan dengan res.users atau res.partner atau apapun yang digunakan di halaman depan (web) atau berhubungan dengan proses login..

jadi gimana? gimana mau upgrade iniiii?

jadi bisa dengan lakukan upgrade melalui terminal tanpa harus login ke Odoo dulu

caranya

contoh:

/opt/odoo9/openerp-server --config=/etc/odoo9-server.conf -d nama_database -u nama_modul

Silahkan dicoba :)

03 Desember 2015

Odoo 9 problem

Bismillahirrahmaanirrahiim

dicatet dulu deh di sini...
dari awal install Odoo9 banyak banget kekurangannya
mungkin saya kurang teliti

dan ini masalah terakhir yang Alhamdulillah solved setelah nemu link ini

https://www.odoo.com/groups/community-59/community-15170147?mode=thread&date_begin=&date_end=

Semoga bermanfaat

10 Juli 2015

Masalah Report di Odoo 8

Bismillahirrahmaanirrahiim

Jadi, akhirnya dapet juga tugas custom report di Odoo8.
Hal pertama yang mau saya ubah itu Header/Footer nya

Dengan semangat saya coba ubah di Header/footer company Settings.
Kemudian saya preview Header Footer.. dan hasilnya sudah OKEH...


Terus dengan semangat lagi, saya buat custom module nya...
udah kelar...

terus dicoba generate PDF Sales Order dan Customer Invoice 
DOENG!! gak berubah sodara sodari...

Terus saya guglingg...
dan baru saya inget, kalo Odoo 8 ini reportnya udah pakai QWeb!
Gak pakai RML lagi
dan setting Header/Footer di Company itu  masih pake RML

jadi intinya mau ubah secantik apapun di Company Settings gak akan ngaruh di report PDF SO,PO,Invoice (kalo gak salah itu2 aja) karena mereka sudah pakai QWeb...

Huwaa nangis gulang guling deh... :P

lah terus dimana ubah header/footer nya?

bisa cek di Settings/Technical/User Interface/Views

cari deh tuuuh external_layout_header dan external_layout_footer.

Ubah deh di situ... buat custom modulnya sekalian yaa biar bisa di-reuse..

Nah terus setelah dicoba2 juga, Footer di PDF2 tersebut gak muncul sodara sodari..

Nah lhoo!! Kenapa tho..

setelah gugling juga, ternyata ada masalah di paket wkhtmltopdf
Punya saya versi wkhtmltox-0.12.2.1
Dan katanya baru bisa jalan kalau pakai older version wkhtmltox-0.12.1

Jadiii?? remove dulu versi yg sekarang, lalu download dan instal versi lama
Download di http://download.gna.org/wkhtmltopdf/0.12/0.12.1/wkhtmltox-0.12.1_linux-precise-i386.deb (sesuaikan dengan versi Ubuntunya ya)

Uninstal yang lama:
sudo dpkg -r wkhtmltox

instal lagi yang versi lama
sudo dpkg -i  /path/to/wkhtmltox-0.12.1_linux-precise-i386.deb

restart Odoo nya

dan Alhamdulillah footernya sudah muncul dehh..

Demikian sekilas info, semoga bermanfaat..

02 Juli 2015

Fixed Asset Management

Bismillahirrahmaanirrahiim

Duuh dah lama banget ya gak posting di sini...
Hmm sekedar share aja deh..
kalau masih ada yang nanya manajemen fixed asset di Odoo (OpenERP) itu bagaimana,

monggi di cek di link berikut ya

https://drive.google.com/file/d/0B638YgFK9X4eYURjdDhSWXFIdVE/view?usp=sharing

Itu masih pakai Odoo7.
Saya belum sempat oprek2 Odoo8 nya

Silahkan didownload dan di share sepuasnya :)

07 Maret 2015

Rotate text di RML


Bismillahirrahmaanirrahiim

Just share, siapa tahu ada yang butuh... meskipun di odoo8 seharusnya tidak usah sentuh2 RML lagi ya :D

ini contoh cara untuk memutar text di rml
memutar 90 derajat

dan ini hasilnya ya:

27 Januari 2015

Purchase Management basic ebook

Bismillahirrahmaanirrahiim

Dear all,

https://drive.google.com/file/d/0B638YgFK9X4eRVBUeDNGVGlYTnc/view?usp=sharing

Ini ebook untuk tutorial dasar-dasar fungsional Purchase Management OpenERP 7 

Karena dasar, saya pakai modul dasar bawaan dari odoo saja...

Semoga bermanfaat...