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
Blog ini dibuat untuk membagi sedikit ilmu OpenERP yang saya miliki... Semoga bermanfaat :-)
03 Desember 2015
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..
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 :)
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
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...
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...
06 Desember 2014
Tentang Masalah Datetime - UTC OpenERP 7 & 8
Bismillahirrahmaanirrahiim
Hmm sulit sekali lepas dari kata OpenERP.. harusnya Odoo yaa hehe ..
iya ini tentang konsep datetime di OE 7 dan 8. hmm sebenarnya juga OE 6.1
Memang konsep ini dimulai sejak OE 6.1
Sedangkan di OE 6.0 masih "normal"
Maksudnya gimana nih?
Dulu di OE 6.0 kalau kita input datetime 06/12/2014 07:30:58
maka saat disimpan di database juga disimpan sebagai 06/12/2014 07:30:58
Sedangkan, mulai di OE 6.1 dst, maka akan disimpan di Postgre sebagai datetime yang dikembalikan ke basic UTC yaitu UTC+0 sesuai timezone masing-masing user
Di masing-masing user, ada preferences untuk setting local timezone. Contoh saya set timezone Asia/Jakarta (UTC+7). Nah maka ketika saya input 06/12/2014 07:30:58 maka akan disimpan sebagai 06/12/2014 00:30:58
Sedangkan jika ada user lain di UTC-2 misalkan, dengan input yang sama maka akan disimpan sebagai 06/12/2014 09:30:58
Nope, ini BUKAN BUGS. Ini memang disain yang dibuat demikian.
Nah terus apa masalahnya?
toh nanti pas tampil tetap sesuai timezone yang dipilih tiap user?
betul... di web tentu akan tampil sesuai timezone kita... gak perduli dengan timezone yg kita set di laptop. semua hanya dipengaruhi timezone yg diset di masing-masing user. cmiiw
Masalahnya adalah ketika berhubungan dengan report.
Kalau kita buat report pakai RML standard, sudah ada solusinya, yaitu
pakai [[ formatLang(fielddatetime, datetime=True) ]]
Nah kalau pakai query misalnya, atau pakai browse biasa... maksudnya buat function di *.py untuk menghasilkan datetime sesuai timezone, nah itu yang jadi masalah...
Jadi ceritanya beberapa minggu lalu, saya dapat task untuk export data ke dalam xls. Saat itu saya menggunakan python-xlwt (HINT: xlsxwriter ternyata lebih powerful lho. Saya gak pake aeroo ya.. krn pada kenyataannya dengan langsung generate dengan xlwt/xlxwriter akan jauuuuuuuuuuuuh lebih cepat saat generate data banyak..
Lalu saya gunakan browse biasa kemudian read field datetime, maka akan keluar datetime dengan basic UTC. Dan si user yang request modul ini jadi protes, karena gak sesuai dengan timezone mereka...
yaudah pakai formatLang aja?
sayangnya hanya bisa dipakai di rml saja.. cmiiw
terus gimana?
Alhamdulillah, setelah ngubek2 src code dan gugling sana sini, dapatlah solusi ini...
jangan lupa import pytz nya ya...
Nah selanjutnya tinggal disesuaikan deh mau ambil timezone dari mana.
kalau di code tsb, diambil dari timezone user yg login.
kalau misalnya untuk lembur, mungkin disesuaikan dengan timezone masing2 karyawan. karena bisa jadi karyawan nya tersebar di penjuru dunia dengan berbagai variasi timezone.
Demikian
semoga bermanfaat
kalau ada yang salah mohon bantu koreksi yaa
terima kasih
Hmm sulit sekali lepas dari kata OpenERP.. harusnya Odoo yaa hehe ..
iya ini tentang konsep datetime di OE 7 dan 8. hmm sebenarnya juga OE 6.1
Memang konsep ini dimulai sejak OE 6.1
Sedangkan di OE 6.0 masih "normal"
Maksudnya gimana nih?
Dulu di OE 6.0 kalau kita input datetime 06/12/2014 07:30:58
maka saat disimpan di database juga disimpan sebagai 06/12/2014 07:30:58
Sedangkan, mulai di OE 6.1 dst, maka akan disimpan di Postgre sebagai datetime yang dikembalikan ke basic UTC yaitu UTC+0 sesuai timezone masing-masing user
Di masing-masing user, ada preferences untuk setting local timezone. Contoh saya set timezone Asia/Jakarta (UTC+7). Nah maka ketika saya input 06/12/2014 07:30:58 maka akan disimpan sebagai 06/12/2014 00:30:58
Sedangkan jika ada user lain di UTC-2 misalkan, dengan input yang sama maka akan disimpan sebagai 06/12/2014 09:30:58
Nope, ini BUKAN BUGS. Ini memang disain yang dibuat demikian.
Nah terus apa masalahnya?
toh nanti pas tampil tetap sesuai timezone yang dipilih tiap user?
betul... di web tentu akan tampil sesuai timezone kita... gak perduli dengan timezone yg kita set di laptop. semua hanya dipengaruhi timezone yg diset di masing-masing user. cmiiw
Masalahnya adalah ketika berhubungan dengan report.
Kalau kita buat report pakai RML standard, sudah ada solusinya, yaitu
pakai [[ formatLang(fielddatetime, datetime=True) ]]
Nah kalau pakai query misalnya, atau pakai browse biasa... maksudnya buat function di *.py untuk menghasilkan datetime sesuai timezone, nah itu yang jadi masalah...
Jadi ceritanya beberapa minggu lalu, saya dapat task untuk export data ke dalam xls. Saat itu saya menggunakan python-xlwt (HINT: xlsxwriter ternyata lebih powerful lho. Saya gak pake aeroo ya.. krn pada kenyataannya dengan langsung generate dengan xlwt/xlxwriter akan jauuuuuuuuuuuuh lebih cepat saat generate data banyak..
Lalu saya gunakan browse biasa kemudian read field datetime, maka akan keluar datetime dengan basic UTC. Dan si user yang request modul ini jadi protes, karena gak sesuai dengan timezone mereka...
yaudah pakai formatLang aja?
sayangnya hanya bisa dipakai di rml saja.. cmiiw
terus gimana?
Alhamdulillah, setelah ngubek2 src code dan gugling sana sini, dapatlah solusi ini...
jangan lupa import pytz nya ya...
Nah selanjutnya tinggal disesuaikan deh mau ambil timezone dari mana.
kalau di code tsb, diambil dari timezone user yg login.
kalau misalnya untuk lembur, mungkin disesuaikan dengan timezone masing2 karyawan. karena bisa jadi karyawan nya tersebar di penjuru dunia dengan berbagai variasi timezone.
Demikian
semoga bermanfaat
kalau ada yang salah mohon bantu koreksi yaa
terima kasih
05 Desember 2014
AttributeError: 'NoneType' object has no attribute '_table'
Bismillahirrahmaanirrahiim
Pernah mengalami error seperti judul di atas saat uninstal/upgrade modul??
hal tersebut terjadi karena ada 1 atau lebih modul yang lupa didaftarkan dalam informasi depends di __openerp__.py
'depends': ['mro','account_asset','mi_fleet','hr'],
pastikan semua inheritance class yang kita buat, sudah didaftarkan nama modulnya di baris depends tersebut yaa.
penyebab lainnya, pastinya karena ada modul yang belum kita tambahkan di addons kita, tapi terdaftar di depends tersebut.
ini biasanya kejadian kalo kita abis pindahan server ... terus ada aja yg terlewat..
begitu.. sekian..
semoga membantu
Pernah mengalami error seperti judul di atas saat uninstal/upgrade modul??
hal tersebut terjadi karena ada 1 atau lebih modul yang lupa didaftarkan dalam informasi depends di __openerp__.py
'depends': ['mro','account_asset','mi_fleet','hr'],
pastikan semua inheritance class yang kita buat, sudah didaftarkan nama modulnya di baris depends tersebut yaa.
penyebab lainnya, pastinya karena ada modul yang belum kita tambahkan di addons kita, tapi terdaftar di depends tersebut.
ini biasanya kejadian kalo kita abis pindahan server ... terus ada aja yg terlewat..
begitu.. sekian..
semoga membantu
04 November 2014
Menambah Messaging pada Suatu Form existing
Bismillahirrahmaanirrahiim
messaging itu maksudnya form discussion yang ada di bawah itu. yang ada add follower, lalu kita bisa diskusi di box nya.
Contoh ya form Sales Order/Invoice dll
Gak semua ada messaging, nah kalau mau menambahkan ke form yang sudah ada bagaimana? contoh kee form Product Category
Simple aja...
cukup buat suatu modul kecil, lalu tambahkan inherit ke mail.thread
seperti ini:
class product_category(osv.osv):
_name = "product.category"
_inherit = ["product.category", 'mail.thread']
_description = "Add messaging on product category"
product_category()
Lalu di xml nya hanya tambahkan satu div di bawah seperti ini:
...
<xpath expr="/form/sheet" position="after">
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread" options='{"thread_level": 1}'/>
</div>
</xpath>
Sudah deh..
selamat mencoba
messaging itu maksudnya form discussion yang ada di bawah itu. yang ada add follower, lalu kita bisa diskusi di box nya.
Contoh ya form Sales Order/Invoice dll
Gak semua ada messaging, nah kalau mau menambahkan ke form yang sudah ada bagaimana? contoh kee form Product Category
Simple aja...
cukup buat suatu modul kecil, lalu tambahkan inherit ke mail.thread
seperti ini:
class product_category(osv.osv):
_name = "product.category"
_inherit = ["product.category", 'mail.thread']
_description = "Add messaging on product category"
product_category()
Lalu di xml nya hanya tambahkan satu div di bawah seperti ini:
...
<xpath expr="/form/sheet" position="after">
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread" options='{"thread_level": 1}'/>
</div>
</xpath>
Sudah deh..
selamat mencoba
16 Oktober 2014
[Workflow] Tentang Split Mode dan Join Mode
Bismillahirrahmaanirrahiim
Alhamdulillah, akhirnya tercerahkan juga... begini nih kalo belajar otodidak dan cuma riset dari source code... dan tidak ada teman diskusi yang bisa dicolek2 (sabun kalii) plus suka lupaa (males) untuk cari manual nya duluu...
Jadi, ceritanya beberapa kali bikin workflow suka mentok, tiba2 transisi dari activity 1 ke activity lain tidak berjalan...
Lalu, ketika baca ini https://doc.odoo.com/trunk/server/workflows/ bagian Split Mode dan Join Mode.
tiba2 tercerahkan yuhuuuuuuu
Penjelasan Singkatnya begini:
SPLIT MODE adalah kondisi ketika transisi pergi meninggalkan suatu node activity. (panah keluar dari node). Ada 3 mode di sini: OR, XOR dan AND.
OR = semua transisi akan dicek kondisinya. Semua kondisi bernilai True akan dijalankan.
Saya kasih contoh ya: ketika di Workflow Purchase Order maka ada 2 kondisi yang dicek, yang berhubungan dengan:
1. Pembuatan Incoming Shipment
2. Pembuatan Invoice
XOR = kondisi True pertama yang dipenuhi akan dijalankan. Yang lain tidak akan dicek kembali.
Contoh kembali di Purchase Order:
Jika barang merupakan barang stockable (bukan service), maka akan pindah ke activity picking untuk melakukan pembuatan incoming Shipment
Jika barang bukan barang stockable (seperti service), maka pengiriman dianggap selesai dan masuk ke activity picking_done
Kondisi XOR adalah kondisi default, jadi kalau gak di define di xml otomatis akan pakai kondisi XOR.
AND = semua kondisi harus bernilai True sebelum bisa menuju activity tujuan.
Nah kalau yang ini saya belum pernah nemu nih contohnya.. belum kepikiran jugaa... kalau ada ide, monggo disampaikan ya :)
Karena saya pikir2 kalau memang harus AND juga kan bisa digabungkan dalam suatu function condition ya..
Selanjutnyaa...
JOIN MODE adalah kondisi ketika transisi menuju suatu node (panah menuju node). Di sini hanya ada 2 mode yaitu XOR dan AND
Penjelasan XOR dan AND sama aja kok dengan split. tapi kenapa gak ada OR ya? yaa namanya juga JOIN ke suatu node. jadi tujuannya cuma 1 kan..
Lalu gimana penerapannya?
Kalau mau coba2 edit dari workflownya, bisa click suatu node activity, maka akan muncul form dengan field Split Mode dan JOin Mode yang bisa dipilih.
Kalau mau dari xml bisa lihat contoh berikut:
<record id="purchase.act_router" model="workflow.activity">
<field name="wkf_id" ref="purchase.purchase_order"/>
<field name="name">router</field>
<field name="split_mode">OR</field> <field name="kind">function</field>
<field name="join_mode">XOR</field> <field name="action">wkf_approve_order()</field>
</record>
Kebeulan contohnya ada di node activity act_router di workflow purchase.
Aslinya adalah:
<record id="act_router" model="workflow.activity">
<field name="wkf_id" ref="purchase_order"/>
<field name="name">router</field>
<field name="split_mode">OR</field>
<field name="kind">function</field>
<field name="join_mode">AND</field> <field name="action">wkf_approve_order()</field>
</record>
Saya bold bagian join_mode yang membuat kekacauan selama ini :D
dipakai AND, yang artinya jika semua kondisi transition terpenuhi, baru bisa menuji activity router.
Oke aslinya memang yang menuju router hanya 1 transisi,
tapi ketika saya mau menambahkan 1 lagi transisi menjadi 2 transisi, akhirnya router ini tidak pernah dicapai, karena tidak mungkin 2 kondisi tersebut terpenuhi bersamaan?
Bisa cek contoh workflow yang saya buat di sini
Ada 2 transisi menuju router (JOIN MODE)
2 transisi itu berasal dari 2 activity yang berbeda setelah melalui serangkaian transisi yang berbeda untuk sampai ke smcus_case1 dan approve2 ..
Jika yang dipakai di JOIN MODE adalah AND yaa gak akan sampai ke router. karena tidak mungkin ke-2nya bernilai True. maka yang dipakai adalah XOR, karena itu saya replace acivity router dengan mengganti menjadi XOR
Sedangkan untuk SPLIT MODE yang dipakai sudah benar yaitu OR, karena harus mencek 4 kondisi yang berhubungan dengan picking dan invoice, seperti penjelasan saya sebelumnya.
Jadi, begitu deh...
Semoga bisa bermanfaat .
Happy coding ^.^
Alhamdulillah, akhirnya tercerahkan juga... begini nih kalo belajar otodidak dan cuma riset dari source code... dan tidak ada teman diskusi yang bisa dicolek2 (sabun kalii) plus suka lupaa (males) untuk cari manual nya duluu...
Jadi, ceritanya beberapa kali bikin workflow suka mentok, tiba2 transisi dari activity 1 ke activity lain tidak berjalan...
Lalu, ketika baca ini https://doc.odoo.com/trunk/server/workflows/ bagian Split Mode dan Join Mode.
tiba2 tercerahkan yuhuuuuuuu
Penjelasan Singkatnya begini:
SPLIT MODE adalah kondisi ketika transisi pergi meninggalkan suatu node activity. (panah keluar dari node). Ada 3 mode di sini: OR, XOR dan AND.
OR = semua transisi akan dicek kondisinya. Semua kondisi bernilai True akan dijalankan.
Saya kasih contoh ya: ketika di Workflow Purchase Order maka ada 2 kondisi yang dicek, yang berhubungan dengan:
1. Pembuatan Incoming Shipment
2. Pembuatan Invoice
XOR = kondisi True pertama yang dipenuhi akan dijalankan. Yang lain tidak akan dicek kembali.
Contoh kembali di Purchase Order:
Jika barang merupakan barang stockable (bukan service), maka akan pindah ke activity picking untuk melakukan pembuatan incoming Shipment
Jika barang bukan barang stockable (seperti service), maka pengiriman dianggap selesai dan masuk ke activity picking_done
Kondisi XOR adalah kondisi default, jadi kalau gak di define di xml otomatis akan pakai kondisi XOR.
AND = semua kondisi harus bernilai True sebelum bisa menuju activity tujuan.
Nah kalau yang ini saya belum pernah nemu nih contohnya.. belum kepikiran jugaa... kalau ada ide, monggo disampaikan ya :)
Karena saya pikir2 kalau memang harus AND juga kan bisa digabungkan dalam suatu function condition ya..
Selanjutnyaa...
JOIN MODE adalah kondisi ketika transisi menuju suatu node (panah menuju node). Di sini hanya ada 2 mode yaitu XOR dan AND
Penjelasan XOR dan AND sama aja kok dengan split. tapi kenapa gak ada OR ya? yaa namanya juga JOIN ke suatu node. jadi tujuannya cuma 1 kan..
Lalu gimana penerapannya?
Kalau mau coba2 edit dari workflownya, bisa click suatu node activity, maka akan muncul form dengan field Split Mode dan JOin Mode yang bisa dipilih.
Kalau mau dari xml bisa lihat contoh berikut:
<record id="purchase.act_router" model="workflow.activity">
<field name="wkf_id" ref="purchase.purchase_order"/>
<field name="name">router</field>
<field name="split_mode">OR</field> <field name="kind">function</field>
<field name="join_mode">XOR</field> <field name="action">wkf_approve_order()</field>
</record>
Kebeulan contohnya ada di node activity act_router di workflow purchase.
Aslinya adalah:
<record id="act_router" model="workflow.activity">
<field name="wkf_id" ref="purchase_order"/>
<field name="name">router</field>
<field name="split_mode">OR</field>
<field name="kind">function</field>
<field name="join_mode">AND</field> <field name="action">wkf_approve_order()</field>
</record>
Saya bold bagian join_mode yang membuat kekacauan selama ini :D
dipakai AND, yang artinya jika semua kondisi transition terpenuhi, baru bisa menuji activity router.
Oke aslinya memang yang menuju router hanya 1 transisi,
tapi ketika saya mau menambahkan 1 lagi transisi menjadi 2 transisi, akhirnya router ini tidak pernah dicapai, karena tidak mungkin 2 kondisi tersebut terpenuhi bersamaan?
Bisa cek contoh workflow yang saya buat di sini
Ada 2 transisi menuju router (JOIN MODE)
2 transisi itu berasal dari 2 activity yang berbeda setelah melalui serangkaian transisi yang berbeda untuk sampai ke smcus_case1 dan approve2 ..
Jika yang dipakai di JOIN MODE adalah AND yaa gak akan sampai ke router. karena tidak mungkin ke-2nya bernilai True. maka yang dipakai adalah XOR, karena itu saya replace acivity router dengan mengganti menjadi XOR
Sedangkan untuk SPLIT MODE yang dipakai sudah benar yaitu OR, karena harus mencek 4 kondisi yang berhubungan dengan picking dan invoice, seperti penjelasan saya sebelumnya.
Jadi, begitu deh...
Semoga bisa bermanfaat .
Happy coding ^.^
16 September 2014
Menggunakan Filter AND atau OR
Bismillahirrahmaanirrahiim
Ini hal kecil yang baru saya sadari malam ini...
Awalnya Filter di OE 7.0 ini hanya bisa pakai OR...
tapi ternyata bisa pakai AND...
dan trick nya benar2 simple,
hanya menambahkan separator -__'-
Contoh:
Nah cek bagian
<filter string="Services" icon="terp-accessories-archiver" domain="[('type','=','service')]"/>
<filter string="Consumable" name="consumable" icon="terp-accessories-archiver" domain="[('type','=','consu')]" help="Consumable products"/>
<separator/>
<filter string="Can be Sold" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>
Ini hal kecil yang baru saya sadari malam ini...
Awalnya Filter di OE 7.0 ini hanya bisa pakai OR...
tapi ternyata bisa pakai AND...
dan trick nya benar2 simple,
hanya menambahkan separator -__'-
Contoh:
Nah cek bagian
<filter string="Services" icon="terp-accessories-archiver" domain="[('type','=','service')]"/>
<filter string="Consumable" name="consumable" icon="terp-accessories-archiver" domain="[('type','=','consu')]" help="Consumable products"/>
<separator/>
<filter string="Can be Sold" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>
Filter di atas menunjukan filter
untuk (Services OR Consumable) AND Can Be Sold
Jadi, hanya dengan menambahkan <separator/>
menjadikan query filter dengan clause AND...
Contoh gambar berikut, ada 3 AND condition
Jadi kira2 begini:
(Services OR Products OR Consumable) AND (To Purchase OR Can be SOld OR Can be Purchased) AND Available.
Kalau OR Filter nya dempet seperti Can be Sold OR To Purchase,
Sedangkan AND Filter nya dipisah..
Kira-kira begitu...
Selamat mencoba...
CMIIW
Langganan:
Postingan (Atom)



