Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Sign in
Sign in
Download free for days
100%
(1)
100% found this document useful (1 vote)
331 views
96 pages
Basic Odoo For Beginner
Build Expensive System with 30 One Book, One as Author, Odoo
Uploaded by
Asep Sofyan
AI-enhanced title
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Download
Save
Save Basic Odoo for Beginner For Later
Share
100%
100% found this document useful, undefined
0%
, undefined
Print
Embed
Report
100%
(1)
100% found this document useful (1 vote)
331 views
96 pages
Basic Odoo For Beginner
Build Expensive System with 30 One Book, One as Author, Odoo
Uploaded by
Asep Sofyan
AI-enhanced title
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Carousel Previous
Carousel Next
Download
Save
Save Basic Odoo for Beginner For Later
Share
100%
100% found this document useful, undefined
0%
, undefined
Print
Embed
Report
Download
Save Basic Odoo for Beginner For Later
You are on page 1
/ 96
Search
Fullscreen
Build Expensive System With 30 One Book, One as Author, Odoo: Created By : Onesinus Saut Parulian 2017Kata Pengantar Puji dan Syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, karena Berkat dan KaruniaNya Penulis dapat membuat buku yang berjudul “”. Penulis juga menyampaikan terimakasih kepada orang orang yang memberi dukungan dalam pembuatan buku ini, baik dukungan teknis maupun dukungan moral, Penulis menyampaikan terimakasin kepada : LA 2B 3. € 4D 5. E 6. F Penulis menyadari akan ketidaksempurnaan buku yang penulis buat ini, seperti seorang pepatah berkata ‘tak ada gading yang tak retak’. oleh karena hal itulah penulis sangat terbuka untuk kritik serta saran/ masukan dari buku ini. Supaya kedepan ada perbaikan dan menjadi semakin baik lagi. Penulis berharap dengan adanya buku ini dapat membantu teman teman yang ingin membangun sistem ERP secara OTODIDAK hingga bisa digunakan dan diharapkan juga teman teman mudah menerapkan nya agar bermanfaat baik untuk tugas kuliah, skripsi, sekedar belajar,atau bahkan untuk pembaca yang akan menggunakannya di dunia pekerjaan, juga untuk yang ingin menjual software. Akhir kata, Semoga buku ini bermanfaat dan mudah dipahami oleh pembaca. Jakarta, September 2017 Onesinus Saut Parulian 089626105445 / onesinus231@ gmail.comDaftar Isi Kata Pengantar ...csstsstnssnsee seul Daftar Isi. iil Pendahuluan..... a BAB | : Instalasi Odoo 2 1.1 Instalasi Odoo Di windows... 1.2 Instalasi Odoo di Linux (Centos 7)... 1.3 Instalasi Odoo di Linux (Ubuntu 14.04). BAB 2: Pengenalan Database & Module di Odoo 2.1 Cara menginstall database di odoo... 2.2. Cara Menginstall Module Default Odoo ..... 2.3 Upgrade & Uninstal Module Odoo 2.4 Mencari Module di odoo.com/apps... 2.5 Menginstall Module dari odoo.com/apps BAB 3: Membuat Module Sederhana di Odo. 3.1 Struktur Folder Wajib Module Odoo 3.2 Membuat Menu dan Sub Menu... 3.3 Membuat field-field di odoo ... 3.3.1 Membuat field relasi di odoo. 3.3.2 Membentuk form 3.3.3 Function / Method Odo... 3.4 Membuat Print Out Odoo (Qweb).... BAB 4 : Modifikasi Module Default Odoo (Inheritance) 4.1 Inherit Model... 4.2 Inherit Form .. 4.3 Inherit Print Out (Qweb).. Bab 5 : Practice Makes Perfect (Membuat project sederhang)... 5.1 Aplikasi Fulus Management (Membuat Form dan Repott) ......ccuscnestenieneniee 5.20doo (Python) + PHP + Android Studio = Absen Cuy Apps...Tentang Penulis... Daftar Pustaka.Pendahuluan doo is analkin-one management sofiware that offers a range of business applications that form a complete suite of enterprise management applications targeting companies of all sizes. Odoo is an all-in-one business software including CRM, Website/e-Commerce, billing, accounting, manufacturing, warehouse- and project management, and inventory. ‘The Community version is the open source version while the Enterprise version supplements the Community edition with commercial features and services. As of Odoo 11 the accounting module (central module of any ERP system) is no longer part of the Communitiy version! Ya... jadi intinya odoo itu menerapkan sistem “All in One” management software yang memiliki beberapa module untuk membangun suatu sistem. Saat Ini odoo sudah mencapai versi 11 dan untuk odoo sendiri terdapat 2 versi yaitu Enterprise dan Community, Enterprise adalah ketika kita membayar per periode kepada odoo untuk menggunakan fitur-fitur odoo enterprise (termasuk semua module-moduke yang ada di codoo enterprise), tetapi adapula community edition yaitu untuk kita yang ingin customize odoo kita sendiri dengan source code yang ada. Kedua versi memiliki kentungan dan kekurangan masing-masing, untuk odoo enterprise keuntungannya ialah kita mendapatkan fitur-fitur yang lengkap dari odoo sedangkan kekurangannya terkadang kita mungkin belum bisa untuk membayar harga enterprise sedangkan untuk community edition keuntungannya adalah kita bisa mendapatkan nya secara gratis (asal ngerti) dan juga mengubah ubah code sesuai yang kita mau (asal bisa juga), tetapi kekurangannya adalah kita tidak mendapatkan akses ke module-module yang lengkap (all module) yang mana didapatkan di enterprise. Nah... Untuk itulah buku ini dibuat, yaitu membuat anda BISA dengan modal buku saja © Dijamin tidak akan rugi mengikuti panduan yang ada dibuku ini, dikarenakan penulis ‘membuainya berdasarkan pengalaman sehari-hari bermain dengan odoo © Semua sudah di saring dan di ambil inti intinya agar pembaca dapat memahami dengan mudah, serta dapat mempraktekan nya agar bisa menghasilkan sistem yang senilai PULUHAN UTA bahkan sampai RATUSAN JUTA RUPIAH Selamat Membaca, Berpetualangan, dan Selamat Mencoba.BAB 1 : Instalasi Odoo 1.1 Instalasi Odoo Di windows Untuk menginstall odoo diwindows maka langkah pertama yang harus dilakukan adalah mendownload installer odoo nya dari website resmi odoo (odoo.com). untuk buku ini kita akan menggunakan odoo versi 10, walaupun sudah release odoo terbaru versi 11 namun di buku ini akan menggunakan odoo versi 10 alasannya karena versi 10 sudah oke menurut penulis disamping itu versi 11 ada beberapa perubahan seperti module accounting (module core dari erp) sudah tidak ada di community edition. Oke mari kita download terlebih dahulu installer nya di link ini hups://www.odoo.com/page/download I q 2-0 tewmetain om — Anda bisa Klik download pada Odoo 10.0 Community untuk Windows, Kemudian anda akan diminta untuk mengisi formSetelah anda mengisi form download odoo anda bisa mengklik lagi tombol download ote ro8 -0 ven stat a ow co Bn or ‘000 few mont emer — hark Jika download sudah selesai maka bisa double klik di Odoo_10.0.latest.exe untuk menginstall nyaKlik Installer Odoo ‘odoo_10.0.atest 3/6/2017 12:50PM Application 199,611 KB Pilih Bahasa Klik Ok Welcome to the Odoo 10.0 Setup. Wizard ‘This wizard wil guide you through the installation of Odo. 10.0. {ls recommended that you dose all other applications before starting Setup. This wil make t possible to update relevant system fies withaut having to reboct your computer, ‘Click Next to continue, Klik Next >O0d0oO https://www.odoo.com Press Page Down to see the rest ofthe agreement. For copyright information, please see the COPYRIGHT fle. \cdloois published under the GNU LESSER. GENERAL PLBLIC LICENSE, Version 3 |.ceLv3), as induded below. Since the LGPL s a set of addtional [permissions on top ofthe GPL, the text ofthe GPL is incuded af the bottom as vel. \some external lovares and contrisutons bundled wth Odoo may be publshed lander other GPL-compatble lcenses. For these, please refer to the relevant Icource Fes andor icense ies, inthe source code tree, doo 10.0 Klik I AgreeOd00 https://www.odoo.com Check the components you want to install and uncheck the components you derit want to instal, Clek Next to continue, Select the type of install: Or, select the optional components you wish to instal: Space required: 542.96 (odo 10.0 [alin One [Odeo Server Postgres Database Description Postion your mouse aver a component to soe ks Pilih All In One : Jika Ingin menginstall odoo server beserta dengan databasenya (postgresql) sekaligus Pilih SERVER ONLY : Jika ingin menginstall hanya odoo server saja Klik Postgresql Database : Jika ingin menginstall hanya postgresql nya sajaOd0Oo https://www.odoo.com Configure the information for the PostgreSQL connection Hostname localhost Port 5432 Username nae Password openapwd 0860 10.0 Hostname : Url yang akan dignakan odoo (isi ip address atau hostname dari computer, default isi localhost) Pont : Port yang akan digunakan oleh odoo Username : Username dari postgtresq Password : Password dari postgresqlOd0o https://www.odoo.com Setup wil instal Odoo 10.0 in the Following folder. To installin a different folder, cick Browse and select another Folder. Cick Install to start the instalation. Space required: 542,36 Space available: 70,068 Odeo 19.0 Klik Install Plowomsmp = = SO*~=CSs‘“‘S*S”:C«C Od0Oo https://www.odoo.com Extracts mrdat.. 100% Extract: Extract: Extract: extract: Extract: Extract: Extract: mn. Extract: ma_Cyl.det... 100% Extract: mn_Cyl_MV.dat... 100% a Extract: me.dat.. 100% doa 10.0.Proses Install Odoo Todos ina Seip PET Microsoft Visual C++ 2013 Redistributable (x86) - 12.0.21005 Setup Progress Processing: Initializing... (
Program Fles|Odoo 10.0lthirdperty UsersiMEAppDatalLocal\Temp Extract: postaresgl-9.5.4-2-windows.exe... 100% Execute: “C:\Users|ME\AppDatalLocalTemplpostgresd-9.5.4-2-windows.exe" mo... Created uninstaller; C:\Program Fies\Odoo 10,0\Linstal.exe a Completed = (doo 19,9 Klik Next & Centang Start Odoo dan Finish Completing the Odoo 10.0 Setup Wizard (0d 10.0has been installed on your computer. ‘lek Fish to close this weard. Odeo '~1.2 Instalasi Odoo di Linux (Centos 7) Sekarang kita akan mencoba untuk menginstall odoo di Centos 7, kenapa kita harus mempelajari ini? © karena terkadang kita menemui case dimana kita harus menginstall odoo di operating system selain windows, lagipula pembaca belum tentu semuanya menggunakan windows kan ? © Nah Langsung saja kita install odoo kita di centos 7, Ketikan perintah “yum update” di command line centos kita Perintah ini untuk memastikan bahwa server kita up to date Langsung ketikan y saja untuk mengupdate package-package, kemudian tekan enter Setelah semua package berhasil di upgrade.maka selanjutnya kita perlu menginstal repository EPEL “yum install -y epebrelease” Jika package epel sudah terinstall dan versi terbaru maka Selanjutnya adalah kita perlu menginstall postgresql (odoo menggunakan postgresql sebagai database nya) serta beberapa package yang diperlukan untuk instalasi odoo, seperti wkhtmltopdf untuk nantinya export pdf dari odoo “yum install postgresql-server fontconfig libpng libX11 libXext libXrender xorg-x11-fonts- ‘Typel xorg-x1 1-fonts-75dpi wkhtmltopdf yum-utils” Langsung saja ketikan “y” kemudian enterTnilah tampilan jika kita sudah menjalankan perintah diatas, Nah jika tadi kita sudah Menginstal postgresql, setelah di install postgresql perlu di setup sama halnya seperti saat diwindows kita mendownload postgresql, maka kita perlu juga untuk mensetup postgresql nya Ketikan perintah “postgresql-setup initdb” Jika sudah sekarang kita akan enable dan start service dari postgresql, menggunakan perintah ini “systemetl enable postgresql” dan “systemetl start postgresql” Postgresq! kita sudah siap dan sudah dijalankan,sekarang tinggal kita install odoonya Untuk install odoo pertama kita perlu menambahkan repository nya dahulu dengan perintah ini “yum-config- manager --add-repo=https://nightly.odoo.conv 10.0/nightly/tpm/odoo. repo BSetelah repository odoo ditambahkan install odoo dengan perintah ini “yum update && yum install odoo” Tekan “y” dan akan muncul seperti ini Tekan “y” lagi saja dan proses install akan berjalan (disini anda akan berasa seperti hacker :D) karena orang yang melihat layar anda bergerak dengan hanya tulisan © Baikan jika sudah complete, sama seperti postgresql yang perlu di enable dan distart, mari lakukan di odoo “systemctl enable odoo” “systemetl start odoo™Nah... Sekarang odoo sudah kita install, enable, dan start maka untuk eek apakah odoo sudah berjalan bisa menggunakan perintah “systemectl status odoo” api... saat kita coba akses odoo yang sudah kita install di browser dengan url jp:8069 maka hasilnya seperti ini B This site can't be reached Itu dikarenakan, port default odoo (8069) itu belum kita izinkan (allow), maka untuk mengizinkan nya bisa mengetikan perintah ini “service firewalld start” untuk mengaktifkan firewall “firewall-cmd —zone=public ~add-port=8069/tcp --permanent” untuk mengizinkan port default odoo (8069), “firewallk-cmd --reload” untuk reload firewall 15Saat kita coba lagi mengakses p:8069, maka hasilnya sudah berhasil masuk ke odoo oO Yuhuuu... odoo kita sudah terinstall di server centos kita 1.3 Instalasi Odoo di Linux (Ubuntu 14.04) Jika anda ingin menginstall odoo 10 di sistem operasi ubuntu, maka di buku ini juga akan dipandu berdasarkan pengalaman penulis menginstall odoo di sistem operasi ubuntu. Pertama, kita harus memastikan bahwa server yang akan kita gunakan untuk menginstall odoo sudah up to date, gunakan perintah ini “apt-get update && apt-get -y upgrade” Selanjutnya kita perlu menginstall Git untuk mengambil source code Odoo dari Github “apt-get install git” Setelah menginstall Git kita akan membuat terlebih dahulu user di server kita untuk odoo 16Sekilas info : perintah diatas membuat user dengan nama odoo didalam group odoo dengan dengan fokler odoo Btw kok odoo,odoo semua ya... triple odoo... © Membuat folder untuk log odoo “mkdir /var/log/odoo” EEE Buat fokler odoo yang telah kita buat menjadi milik user yang bernama odoo “chown -R odoo: /var/log/odoo” Ambil source code odoo dari github Disable dahulu verifikasi ssl dari git “git config --global http.ssiverify false” (SEER REE SECRET Masuk ke folder odoo di /opt “ed /optiodoo” “git clone https://www. github.com/odoo/odoo ~-depth I --branch 10.0 --single-branch” 7Setelah kita mengambil source code odoo dari github, kita akan memindahkan isi nya ke folder odoo- 10.0 yang telah kita buat diperintah sebelumnya “my odoo odoo-10.0" Pe Beri kepemilikan foller odoo-10.0 ke user odoo “chown -R odoo: odoo-10.0” ESE Maka kepemilikan fokler odoo-10.0 menjadi seperti ini Selanjutnya adalah menginstall NPM dan LESS processor “apt-get install npm”“In -s /ust/bin/nodejs /ust/bin/node” “npm install -g less less-plugin-clean-css” Sckarang saat nya kita menginstall database yang akan digunakan oleh odoo yaitu postgresql “apt-get install postgresql” 19Masuk ke postgresql dan buat super user bernama odoo Untuk memastikan bahwa super user bernama odoo telah terbuat gunakan perintah ini “psa” “\du” “su- postgres” “createuser -s odoo” Keluar da postgres dan kembali ke root dengan perintah ini Setelah postgresql terinstall dan sudah dibuatkan super user untuk koneksi odoo nantinya, sekarang kita akan menginstall paket-paket python yang dibutuhkan oleh odoo “apt-get install python-pip” 20“apt-get install python-dev postgresqFserver-dev-9.3 libxml2-dev libxsitl-dev libjpeg-dev libldap2-dev libsasI2-dev” Kita juga akan menginstall paket-paket python yang dibutuhkan yang ada didalam file requirements.txt, “pip install -r /opt/odoo/odoo-10.0/requirements.txt” Buat file untuk konfigurasi odoo dengan cara mengcopy dari source odoo “ep /opt/odoo/odoo-10,0/debian/odoo.cont /etc/odoo.cont” Buka file konfigurasi dan ubah menjadi seperti ini 21“vi /ete/odoo.conf* Nah... selesai sudah kita menginstall dan mengkonfigurasi odoo di ubuntu, agar dapat berjalan maka kita harus menjalankan service dari odoo “sudo -H -u odoo bash” “Jopt/odoo/odoo-10,0/odoo-bin” Sekarang langsung saja buka odoo sesuai dengan ip address / domain masing-masing Format url : [ip]+[port]Contoh : localhost:8069, 192.168.1.1:8069, joko.com:8069 6 Opereen Maka odoo akan terbuka... itu tandanya anda telah berhasil menginstall odoo di ubuntu. Selamat... © Berikutnya kita akan belajar cara membuat database di odoo... petualangan kita baru akan
Jangan panik, tetap tenang, dan sruput kopi anda... Y Programmer yang hebat adalah programmer yang menjadikan error sebagai temannya Y Program tanpa error = Imposibru :v Y Problem Solving itu penting Y Belajar dari kesalahan itu hal yang bagus © 25(Oke langsung saja kita solve error tersebut. *FYI : error tersebut muncul karena kita install melalui centos, jika anda menginstall dengan sistem operasi windows kemungkinan error tersebut tidak akan muncul Buka file odoo.conf dengan perintah ini “Vi /etc/odoo/odoo.cont”, kemudian tekan “Insert” dan tambahkan sebaris perintah seperti gambar iniKemudian setelah menambahkan db_template = template0 tekan “ese” ketik titik dua “.” ketik “wq” untuk quit dan write, kemudian enter (esc, :wq, enter, insert adalah perintah-perintah yang digunakan untuk mengubah file di centos 7, jadi kalian harus familiar dengan ini yah... ©) Sekarang kita harus restart server odoo kita dengan perintah “service odoo restart” ‘Sesudah odoo direstart silahkan refresh browser (tekan f5), dan lakukan lagi langkah membuat database yaitu dengan mengisikan form nama database, email, password, dil Seharusnya ketika di * | oO Create Database” sudah berhasil Odoo sudah muncul, tetapi ada yang aneh, tampilan jadi blank... Him... error macam apalagi ini??? Untuk melihat error di odoo kita dapat melihat log file nya, di windows lokasi log file nya ada di C:\Program Files (x86)\Odoo 10.0\server\ odoo.log (C:\ Karena saya menginstall odoonya diC) Sedangkan di centos 7 lokasi log file nya ada di Wwarllog/odoo/odoo-server.log, bisa gunakan perintah tail -f Menjadi tail—f /var/log/odoo/odoo-server.log 7Nah keliatan kan errornya, ada kata “addons_path” disana yang mana artinya ada yang salah dengan lokasi addons yang ada di odoo.conf kita, jika kita lihat di odoo.conf kita dengan perintah “cat /etclodoo/odoo.conf”, maka tampilan settingan addons_path kita B roctoeept- Jika kita lihat path /ust/lib/python2.7/site-packages/odoo dengan perintah “ls /ust/lib/python2.7/site-packages/odoo, maka hasilnya akan seperti ini Nah disinilah masalah nya, addon “addons”, sedangkan addons-addons default bawaan odoo ada didalam folder tersebut, yang mana salah satu addons nya bernama web, yang di error tadi dikatakan “keyError: web” <_path yang kita setting belum sampai ke folder yang bernama Langsung saja kita fixing masalah ini dengan cara mengubah addons_path di odoo.conf menjadi ke folder “addons” B® root@orpt/use/ib/python2.7/site-packaget/odoo/addont Note : Cara mengubah addons_path sama seperti cara saat kita menambahkan pengaturan db_template = template0, kalau lupa dilihat lagi ya cara ubah file dan menyimpan nya ©Setiap kali ada perubahan di odoo seperti konfigurasi (odoo.conf) kita perlu merestart odoo dengan perintah “service odoo restart”, setelah restart coba refresh lagi browser yang tadi blank, maka tampilan odoo kita sudah terinstal sempurna seperti ini Ome x e- 2 « odoo ” ~ SDs bs . = = Asyikkkkk,... Sudah disini tahap menginstall database pun sudah bisa dikatakan selesai, dengan adanya dua error yang tadi sudah kita solve... © ai = [Baru di tahap install database saja sudah menemukan 2 masalah, yang mana kalau kita tidak mengerti bisa membuat kita menjadi pusing... dan rasanya ingin bethenti me lanjutkan petualangan ini... tetapi... ‘menurut penulis... programmer yang takut dengan error belum bisa dikatan “the real programmer” ] -ospt2.2 Cara Menginstall Module Default Odoo Pada sub bab ini kita akan mencoba menginstall module-moduke (bisa juga dikatakan addons) bawaan(default) dari odoo, semua moduke-module odoo ada di menu “Apps” Itu adalah module-module yang sudah tersedia di odoo, kita dapat langsung menginstall dan menggunakannya, sekarang mari kita coba menginstall Apps yang bernama “Website Builder” yang fungsinya adalah membuat website dengan hanya “drag and drop” seo: Cara nya cukup mudah, hanya dengan mengetikkan nama module nya (dalam hal ini website builder) kemudian klik install, dan pilih Theme nya (Bootswatch / Bootstrap)uote You Thame pawn a B Peet) acc) Bebas saja pilih yang mana, di klik install dan dicek saja perbedaannya, itu hanya perbedaan template yang dihasilkan melalui framework css (bootswatch / Bootstrap), saya mencoba memilih yang bootswatch, maka setelah memilih tampilan akan menjadi seperti ini ‘od00 Welcome to your Homepage! rate @ senting in Oxmase Sane Coma scone as Keren yah... tinggal klik klak klik install sudah jadi seperti itu tampilannya, sudah smooth pula tampilannya, ketimbang kita buat pake ess yang ancur nya minta dit Ampun(kecuali para mastah design) © Untuk menggunakan module yang sudah kita install kita bisa klik “Edit” (yang ada gelembung biru di pojok kanan atas), sehingga tampilannya akan menjadi seperti ini 31Disebelah kiri muncul “Structure” yang berisi widget-widget yang bisa kita “drag and drop” ke kanan, misalnya kita ingin menggunakan widget title (widget pertama yang ada tulisan Abed) maka cukup “Klik” dan tarik ke kanan (lembar kosong), menjadi seperti ini Your Website Title doable Tinggal ganti deh tulisannya menjadi seperti yang kita mau, kemudian tekan “Save” seperti contoh dibawah ini‘odo i z My First Website Nah... as simple as that deh pokoknyaaa... sisanya tinggal sesuaikan dengan kreattfitas dan ide masing-masing yah... © Nab diatas kita sudah berhasil menginstall module default / bawaan odoo, untuk module-module ‘yang lainnya pun cara menginstallnya sama, klik menu Apps kemudian cari nama module nya ddan klik install, 32.3 Upgrade & Uninstal Module Odoo Adakalanya module-module default/bawaan dari odoo belum atau kurang sesuai dengan kebutuhan user (user requirement), oleh sebab itu perlu adanya “Customize” module yaitu dimana kita mengubah-ubah module-module yang sudah ada maupun membuat module baru / buatan kita sendiri (di Bab 3 Kita akan melakukannya) untuk memenuhi kebutuhan yang diminta, tentunya jika ada perubahan didalam module odoo kita perlu melakukan “Upgrade” Module untuk mengaplikasikan perubahan yang sudah kita buat Caranya cukup mudah, cukup buka menu Apps, kemudian klik nama module yang ingin di upgrade, maka didalamnya ada tombol untuk Upgrade e Website Builder By Odoo S.A. ee Uninstall Sama halnya dengan “Uninstal” memang jarang sekali kita uninstall Module akan tetapi itu tetap diperlukan jika ada module-module yang baru kita install atau baru kita buat bermasalah dan menyebabkan satu sistem tidak dapat digunakan maka kita perlu uninstall module tersebut agar bisa digunakan kembali sistemnya, dengan catatan jika anda uninstall module artinya data-data yang berkaitan dengan module tersebut akan hilang (terhapus). 2.4 Mencari Module di odoo.com/apps Langkah yang paling tepat untuk menghemat waktu dan tenaga saat kita membangun sistem (dalam hal ini dengan odoo) adalah dengan memanfiatkan module-module yang sudah pemah ada atau yang orang lain sudah pernah buat, salah satu cara mendapatkannya selain meminta pada teman yang punya (ini tipikal temen sue... kita buat susah susah dia main minta aja -p) adalah dengan cara mencarinya di “odoo.comvapps”” Banyak module-moduke yang sudah di buat orang lain disana, yang tentunya ada yang berbayar dan ada juga yang free, tinggal kita cari aja, cara nya mudah banget, sama seperti mencari module di menu Apps odoo kita, oke mari kita praktikan langsungIni dia tampilan odoo.convapps ‘+ rte Odo0 ADPS Cukup ketik nama module yang ingin kita cari, misalnya kita ingin mencari module yang dapat me-load video di web yang tadi sudah kita buat, maka ketik saja keyword seperti “embed video” ‘0d00 Apps tee ae Sei ‘Nah... kebetulan ada tuh... maka beruntunglah kalian yang butuh moduke ini, anda tidak perlu membuatnya,cukup klik modulenya kemudian download saja module nya untuk kemudian diinstall Kita bisa filter module di odoo.convapps dengan kriteria FREE atau PAID, juga module untuk apa (Accounting, Sale Order, Point Of Sale, dil), juga kita tentunya bisa filter berdasarkan versi 0d00(6,7,8,9,10,11) 35,Embed Videos vane — Jangan lupa filter versi nya, karena versi odoo kita 10 dan kebetulan module nya support untuk versi 10, maka cucok... bisa kita gunakan... 2.5 Menginstall Module dari odoo.com/apps Setelah kita mendownload module “Embed Videos” Di Sub bab 2.4, kita akan menerapkan module tersebut di database kita, dengan kata lain kita akan menginstall moduke tersebut... Tapi bagaimanakah caranya? Cukup mudah... yaitu hanya dengan mengekstrak file yang tadi kita download (dalam bentuk zip) menjadi sebuah folder Open ‘BD Enrectfiles... S batract Here 'B Extract to embed video-10.0.1.0\, Begini tampilan setelah zip nya diextract, maka akan ada folder bernama embed_video ‘embed video 12/25/2017 10:55... File folder ‘embed video-10.0.1.02ip 12/25/2017 10:55... WinRAR ZIP archive 3KB Setelah sudah terbentuk folder, kita cukup copy saja folder tersebut ke lokasi module-module ‘doo, secara default jika anda menginstall odoo di C:\ maka lokasi default module- module odoo adalah di C:\Program Files (x86)\Odoo 10.0\server\odoo\addonsPC > Local Disk (C:) » Program Files (86) > Odoo 100 » server + odoo » addons Name Date modified Type Sire () embed video 12/26/2017 11:16. File folder Th event 7PO1T3OTPM Filefolder event sale 12972017 307 PM Filefolder fetch 1/29/2017 3:07PM Filefolder fleet 7/29/2017 307 PM File folder gamification 7/29/2017 3.07PM Filefolder sgamifcation_sale_crm 7/29/2017 3:07PM Filefolder google account 7/29/2017 3:07PM Filefolder google_calendar 7/29/2017 307 PM File folder google drive 7/29/2017 3:07 PMA File folder google spreadsheet 7/29/2017 3:07PM Filefolder hr 7/29/2017 307 PM Filefolder Setelah Fokler module di Copy langkah selanjutnya kita perlu restart service odoo dengan cara tekan Ml + R bersamaan, kemudian ketikkan “services. msc” Run x {Ey Bpethename of «program, folder, document, rntrnet resource, and Windows will open it for you. Kemudian klik “OK” dan cari odoo“Sees - 0 x file Action View Hp #2) mos Bolo weve Tm doo server 100100, Name Descigtion Status Startup Type Log * Codoo-server-100 100 Running Automatic Loc — Gotice Soucetngine Saves instal Manual Loc Lote SotwarePetecion Ofc Se. Manual Net Gottine Fee The One Manu Tig. Lee Dhoptimse ves Hee tnee Manual Lee GiPeerName Recon rot. Enables se Manual Lee Greer Networking Grouping Enables mul Manual Lee “QaPeer Networking Identity M... Provide ide Manual Loe ‘QPertormance Counter DLL... Enables vem, Manual Loe ‘Ghpetomance Loge Ales Pefrmane Manual ee GPhone Seve Manageth Manu Tig. Lee GyPiug ana Pay Enalerse.. Running Manual Lee ‘G\PNRP Machine Name Publ. Ths see Manual Lee GiPonabieDevice rumor. Eneres 9 Manual Tig tee GpongesOl For Odo. Running Automatic or Qrower Manages... Running Automatic Loc ‘QePrint Spooter ‘This service.. Running Automatic Loc GiPrinter tenons nd Neti. Th serie Manual Loc GhProblem Repos an Soli Th erie Manual Lee ‘GiProgam Comput asi- Thssenice.. Running Automatic Loe Qadnity Windows A Vid Quy Win. Manual Lee ¥ \ tends (Sana Klik “Restart the service” Sesudah Restart service odoo, K ita Perlu Melakukan “Update Apps List” dengan cara ke Menu ‘Apps dan klik “Update Apps List” — aoe. | = =o" =o” aa a = a= —_— Jika ada yang di menu Apps nya tidak ada “Update Apps List” itu artinya anda belum mengaktifkan mode developer, Cara mengaktifkannya ada di menu Settings* s & < - O88 Klik saja “Active the developer mode” maka secara otomatis di menu Apps ada “Update Apps List” Klik “Update Apps List” sehingga tampilan akan seperti ini Langsung saja klik “Update” Setelah di update maka sekarang coba cari nama module yang kita sudah tambahkan tadi (embed_videos) ‘Nah... module yang kita download dari odoo.comvapps sudah ada di Apps kita, dan kita bisa install.. Pertanyaannya... Bagaimana kita melakukannya jika sistem operasi kita Centos7? Konsep nya sama persis, yang membedakan hanyalah, jika ingin Copy file module ke centos7 kita memerlukan Winscp atau Fikzila (software untuk copy file dari windows ke linux) Seperti ini jika kita memindahkan foldernya melalui winsepBee arenes ner EE PED Geen tas oe ce Smetananie gucsaoe a ee if HE unt Kita dapat lihat bahwa lokasi default addons odoo ada di /ust/lib/python2.7 site-packages/odoo/addons Untuk mengetahui lokasi addons kita dapat melihat odoo.conf Nah... kita sudah mengerti cara menambahkan module-module dari luar, tetapi ada tips and trick nih dari saya, tadikan kita meletakan module nya ditempat yang sama dengan module- module bawaan odoo, tetapi alangkah baiknya kita membuat folder kita sendiri untuk module- module diluar module bawaan odoo, alasannya adalah Y Lebih Rapih Y Gampang Mencari Y Tau yang mana yang hasil custom kita senditi ¥ Mencegah komputer kena virus (Karena lokasi default di windows C:\) lebih baik di jangan didisk C:, letakkan diluar disk yang digunakan sistem operasi seperti D:\ dan lain Jain vy DI Nab itulah kurang lebih mengenai instalasi module, di Bab berikutnya saat kita membuat module sendiri kita akan coba membuat folder kita sendiri untuk tempat module yang kita buat, Keep fighting... ©BAB 3 : Membuat Module Sederhana di Odoo Dibab sebelumnya kita sudah mengenal sekilas tentang odoo, dan bagaimana kita mencari dan menginstall module-module di odoo. Lalu bagaimana saat kita membutuhkan suatu module tetapi belum ada orang yang membuat module tersebut? Kita cari-cari di google tidak ada, juga di odoo.com/apps tidak ada... Maka langkah yang harus dilakukan adalah MAU TIDAK MAU Ya kita harus membuatnya sendiri, nah di Bab inilah kita akan melakukannya. Kita akan mencoba membuat sebuah module yang bernama “Fulus Management System” yang terdiri dari FORM Input pengeluaran, FORM Input pemasukan, juga REPORT untuk menampilkan pengeluaran dan pemasukan kita... Jika module ini telah selesai dibuat, maka akan saya berikan link nya untuk bisa dilihat,diubah, maupun di gunakan, Sudah tidak sabar kan? Mari langsung kita lakukan, Modal Perang==: + Text Editor (Bebas, pilih salah satu yang anda sukai) > Sublime Text: https’/notepad-plus-plus.orgidownload/v7.5.4.html > Notepad++ — :https:/www.sublimetext.conv3 > Pycharm —_: https//www.jetbrains.com/pycharmvdownload * Semangat dan Daya Juang © Download dahulu salah satu editor diatas, yang mana saja yang anda suka, tapi kalau spesifikasi laptop / komputer anda mencukupi maka bisa menggunakan Pycharm karena memang memiliki fitur khusus sebagai editor python, tetapi jika spesifikasi laptop/komputer nya biasa-biasa saja atau mungkin tidak terlalu tinggi bisa menggunakan sublime text 3 dan notepad+-+ latest version. 4a.3.1 Struktur Folder Wajib Module Odoo Untuk membuat sebuah module di odoo kita memiliki2 file yang wajib ada yaitu —init_py dan juga_openerp__py /_manifest_py Untuk file _openerp__.py dan _manifest__py bisa kita gunakan salah satu, keduanya bisa, tetapi untuk versi 10 seharusnya sudah menggunakan__manifest__py walaupun bisa saja jika menggunakan _openerp__.py Supaya lebih komplit mari kita langsung praktekan, kita buat dahulu sebuah folder di partisi kita selain partisi C (seperti D,E,F.dll), kali ini saya akan membuat fokler nya di partisi saya (E) 7314 (E) Fe) eee) ee eh ae This > HUET sédons ‘yanoie34t PM Felder Saya membuat folder bernama “addons” di partisi E saya, kemudian buat sebuah fokler lagi didalam foler “addons” dengan nama “first_module” buka foldernya dan buat kedua file yang WAJIB Hukumnya tadi... 2 _init_py 1/2/20183:43 PM Python File oKB P _manifest_ py 1/2/2018 3:45PM Python File OKB Sehingga ada dua file yang memiliki extension .py (Python File) didalam folder “first_module” ThisPC » 7314(E) » addons » fist module YG Search fet rm Name . Datemodified Type Size /2/2018343 PM Python File os 2/5/2018 11:25PM Python File 18 a23.2 Membuat Menu dan Sub Menu Didalam suatu aplikasi yang kita buat tidak terlepas dari Menu Maupun Submenu, maka i sub bab kali ini kita akan belajar bagaimana membuat menu dan sub menu di odoo. Jika di sub bab sebelumnya kita membuat 2 file dengan ekstension .py maka kal ini kita akan membuat file lagi, tetapi dengan ekstension .xml, karena di odoo untuk membuat menu dan submenu menggunakan file dengan ekstension .xml Jangsung saja buat sebuah file dengan nama menu.xml (pastikan meletakan file menu.xml nya difolder yang sama dengan file __init__py dan__manifest_.py yang sebelumnya telah kita buat di folder “first_module”) kemudian isi file tersebut dengan code seperti ini
Bile Edit Selection Find View Goto Tools Project Preferences Help FOLDERS & addons y B first module B _init_oy B _manitest_oy Struktur yang sudah di buat oleh odoo untuk file xml adalah dengan tag
dan juga tag
Dan code untuk membuat menu nya ada diantara tag
, jadi seperti ini aturannya
...Codingan menu disini.....
Maka langsung saja kita tambahkan menu nya dengan code seperti ini a3
<{-- Aksi ketika sub menu pengeluaran di klik -->
Form Pengeluaran
t-pengeluaran
tree, form
""MenuParent” sequence="10" Maka file menu.xml kita akan menjadi seperti ini Simpan file menu. xml 44Nah code untuk menambahkan menu hanya sesimpel itu, yaitu dengan menggunakan tag
dengan attribute : > Id :sebagai pengenal dari menu id (yang nanti nya bisa digunakan sebagai referensi dari menuitem ini jika nantinya ingin digunakan / di referensikan di menu lain) > Name : Nama menu nya ( Bebas ) > Sequence : Urutan menu tersebut di tampilkan » Action : Action yang dilakukan ketika menu / sub menu di klik ( Diisi sesuai id action yang akan ingin dituju ) Kita juga ada melihat tag
yang mana fungsi nya untuk mengarahkan sebuah menu / sub menu yang diklik ke model ( yang nantinya akan terhubung ke sebuah Form ) > Name : Nama dari actionnya ( Bebas ) > Res_model : Model yang akan digunakan untuk form ( berhubungan dengan table, relasi, fiekd, data, dsb ) » View_mode : Mode view yang akan diberikan (tree,formkanban, list,dsb) Karena adanya Res_model di action yang mana code diatas kita isi dengan tpengeluaran t.pengel Maka kita perlu membuat kan “Model” dengan nama t.pengeluaran, untuk istilah-istilah seperti Model, View, Controller (MVC Concept ),table, field, data, record, dsb kita harus sudah familiar, karena itu hal yang umum kok di bahasa pemrograman apapun dan framework apapun eo ‘Oke mari buat sebuah file lagi bernama model.py untuk membuatkan model tpengeluaran di doo, model di odoo terletak pada file dengan ekstensi .py ya... Isidengan code seperti ini from odoo import api, fields, models, _ class Pengeluaran(models. Model): _name = 'tpengeluaran’ doc_number = fields.Text() Sehingga akan menjadi seperti ini 45,[BF Exaddons\fist modulmodelpy (ist module) - Sublime Text (UNREGISTERED) Ble Edt Selection Find Yiew Goto Jools Project Preferences Help ¥ & fist module ee Simpan file model_py dan Sekarang buka file _manifest_.py, dan tambahkan code berikut { “name” : "Belajar Membuat Module di doo", "version" 210", “depends” 1 “author” : "kodekite@ gmail.com’, “category” :"Odoo", “website” “onespt blogspot.com’, “description” :"1. Belajar Membuat menu’, “data” 1 “installable”: True, “auto_install" : False, “application” : True } Schingga file _manifest__.py menjadi seperti iniFile Edit Selection Find View Goto Tools Project Preferences Help ¥ & addons y & tist module B _int_oy Keterangan : Name : adalah nama module yang akan kita buat Version : versi dari module yang kita buat + Depends :keterkaitan module kita dengan module lain + Author : Pembuat module + Category : Kategori moduke ‘© Website : Informasi website yang ditampilkan di module + Description : Deskripsi module ‘> Data : File-File Xml yang akan di load oleh module ‘Installable : Apakah module dapat di install (True / False) “© Auto_install : Apakah module ingin secara otomatis di install (True / False) * Application : Apakah module ini termasuk aplikasi (True / False) Setelah kita lihat penjelasan diatas kita dapat melihat bahwa fungsi Data adalah untuk memberi dafiar file-file xml mana saja yang akan dijalankan oleh moduke kita, maka sekarang ubah code i__manifest_.py dengan menambahkan file menu.xml di data, menjadi seperti ini a7File Edit Selection Find View Goto Tools Broject Preferences Help y © addons ¥ & first module B —init_py B menuxml Simpan file _manifest_py Dikarenakan kita membuat module diluar dari folder “addons” default odoo, melainkan di partisi lain isPC > 7314(E) > addons Name Date modified Type first. module 2/5/20181055 PM Filefolder maka kita perlu mengubah konfigurasi odoo yang ada di file odoo.conf SPC» Local Disk (C) > Program Files (86) » Odoo 10.0 > server Name “ Dstemodiied Type EB numberspye 2017831 AM Compiled Python ie B odoo.cont 3/20189:16AM — CONFFile 2kB [B odooiog 252018 1:20PM Tee Document 058 Ke [5 odoo-bin.exe 3/6/2017 8:33AM Application 21KB Menjadi seperti ini di bagian addons_patha Eat Saeton Fad i tea Dect Pade Save file odoo. conf , dan restart service odoo(karena berhubungan dengan file ber-ekstensi -py maka kita perlu merestart service, juga jika berhubungan dengan perubahan di file konfigurasi odoo kita periu restart service), cara merestart service sudah kita pelajari di sub bab 2.5 saat kita belajar menginstall module Setelah service sudah di restart, lakukan “Update Apps List” Seperti yang sudah kita pelajari di sub bab 2.5 tentang menginstall module Maka sekarang seharusnya modu kita sudah tersedia dimenu Apps odoo kita, sekarang tinggal kita cari dengan nama first_module (Sesuai nama folder yang kita buat untuk file-file module kita) odoo van sows ’ Yang mana kalau kita klik module nya akan menampilkan detail dari module sesuai dengan code yang telah kita buat Belajar Membuat Module di Odoo by icetingamacon Sekarang kita bisa install module pertama kita dan melihat menu yang sudah kita buat Se — a odoo = ee = 49Kita dapat melihat ada menu di top menu yang bernama “Fulus Management” dan di bawah logo odoo terdapat sub menu bernama “Pengeluaran”, juga kita melihat ada Form Pengeluaran. .. Waw... less code banget ya... sudah jadi menu, sub menu, form beserta CRUD ( Create, Read, Update, Delete ) nya, juga sudah tersedia filter / search data loh hanya dengan beberapa file yang, code nya juga tidak sampai ratusan © Ketika kita klik Button Create Form Pengeluaran New ‘Oke sekarang coba klik-klak-klik dahulu semua yang sudah dibuat, coba untuk create dan masukan data, kemudia coba filter dan search, karena nantinya SEMUA form odoo akan seperti itu secara default... Di sub bab berikutnya kita akan belajar mengenai form lebih detail lagi ya... ® 3.3 Membuat field-field di odoo Sekarang kita akan membuat field-field di odoo yang mana field nya akan kita gunakan di form nantinya. Sama halnya saat di bab sebelum nya kita membuat sebuah model bernama “tpengeluaran” dan membuat sebuah field bernama “doc_number” di file modeLpy Baiklah langsung saja kita buka file modeLpy, dan tambahkan code ini tanggal_pengeluaran = fields.Date() jumlah_pengeluaran = fiekds.Float() Sehingga file model.py menjadi seperti iniHl E\addons\first module\modelpy (fist. module - Sublime Text (UNREGISTERED) File Edit Selection Find Yew Goto Tools Project Preferences Help FOLDERS B _init_.py ° Es eaestsC BB _manitest_py menuxmt Dengan menambahkan kode tersebut maka odoo akan membuatkan field di database (postgresql) dengan nama dan type data yang di tuliskan, maka setelah field dibuat kita bisa menggunakan field nya di form (praktek di Sub bab berikutnya tentang “membentuk form dengan field odoo”) Begitulah cara menambahkan field di odoo, nama field bebas yang menentukan jenis dari field itu adalah di type data, berikut beberapa daftar type datanya © Text /Char : Untuk menyimpan data yang berbentuk Text / karakter © Integer : Untuk menyimpan data yang berbentuk angka / numeric > Date : Untuk menyimpan data tanggal (tanggal — bulan - tahun) © Datetime : Untuk menyimpan data tanggal beserta waktu (tanggal ~ bulan — tahun jam:menitdetik) Float : Untuk menyimpan data angka yang mengandung decimal, seperti uang, dsb ‘One2many : Untuk membuat field yang bersifat relasi Satu ke Banyak, seperti Satu ‘Company punya banyak Employee © Many2one : Untuk membuat field yang bersifat relasi Banyak ke Satu, seperti Banyak User dalam satu Group © Many2Many : Untuk membuat field yang bersifat relasi Banyak ke Banyak go 3.3.1 Membuat field relasi di odoo Sebuah relasi adalah hal yang diperlukan untuk menghubungkan antar Form-Form yang ada didalam sistem, dalam hal ini odoo memiliki field dengan type One2many, Many2one, Many2many untuk membuat relasi antar table, maka sekarang buka lagi file model.py untuk membuat field- field relational odoo, dengan code seperti ini user_id = fields. Many2one(‘res.users’, string="Nama User’, default=lambda self: selfenv.user) 51sehingga file modelpy menjadi seperti ini Te etna res.users : adalah table yang ingin direlasikan dengan table t pengeluaran string : adalah Deskripsi field yang akan di tampilkan di form * Default : adalah nilai default yang ingin di isi ketika form dibuka, dalam hal ini di set ‘menjadi user yang sedang login ke sistem (self.env.user) Begitulah cara membuat relasi Many2one ( Banyak user hanya 1 yang di pilih di penjualan form ), sekarang tambahkan lagi code ini di file modelpy penjualin_detail = fields. One2many(tpengeluaran. line’ ‘pengeluaran_i Detail’) , string="Pengeluaran class PengeluaranDetail( models. Model): tame = 'tpengeluaran.line’ deskripsi_pengeluaran = fields.Text() amount = fields.Float() pengeluaran_id = fiekls. Many2one(‘tpengeluaran’, string="Pengeluaran Header’, required=True, ondelete='cascade’) Sehingga file model.py menjadi sepe 52Ketika kita ingin menambahkan relasi One2many (Satu Penjualan mempunyai lebih dari 1 / banyak Detail Penjualan ) maka kita harus membuat field juga di table yang di tuju sebagai penghubung, perhatikan fie! penjualan_detail dan pengeluaran_id kedua field itu terhubung, karena di fie! penjualan_detail disebutkan table tujuannya yaitu t.pengeluaran.line dengan field pengeluaran_id sebagai referensi nya Sekarang simpan file modeLpy, kemudian restart service odoo ( ingat pembelajaran awal mengenai module odoo dan cara merestart service nya) Maka saat kita sudah restart service dan buka odoo tampilan form nya akan menjadi seperti ini aa, odoo = Form secara otomatis berubah menjadi seperti itu karena kita menambahkan field-field relasi di modelpy kita Jadi jika kita membangun sistem di odoo, kita bisa membuat sistem tanpa perlu melihat atau menyentuh database nya, kita bisa buat table dan field hanya dengan code yang kita tuliskan di model odoo 53Wah... makin seru ya... ini nih codingan full yang udah kita buat di model.py from odoo import api, fields, model, _ class Pengeluaran(models. Model): doc_number = fields.Text() tanggal_pengeluaran = fields.Date() jumlah_pengeluaran = fields Float() user_id = fields. Many2one(‘res.users', string='Nama User’, default=lambda self: selfenv.user) penjualan_detail = fields.One2many(t.pengeluaran. line’, pengeluaran_id’, string='Pengeluaran Detail’)\ class PengeluaranDetail( models. Model): _name = 'tpengeluaran.line™ deskripsi_pengeluaran = fields.Text() amount = fields.Float() pengeluaran_id = fiekls. Many2one('t pengeluaran’, string="Pengeluaran Header’, required=True)Bayangkan hanya dengan 20 baris code kita sudah bisa membuat form di odoo TANPA. MENYENTUH DATABASE, yang perlu kita pahami hanya konsep, dan dengan sedikit code, maka kita sudah bisa membuat form yang kita butuhkan, AKAN TETAPI kita perlu menyempurnakan lagi FORM yang default dibuatkan odoo, karena ada beberapa yang ingin kita atur posisi nya, ada beberapa pula yang ingin kita hilangkan dari form (tidak perlu ditampilkan). Mudah kan....? Jangan terlalu serius, coba berenti dulu sebentar, ke warung dan beli kopi untuk Janjut ke pembelajaran berikutnya, yang pastinya lebih seru dan menyenangkan... 3.3.2 Membentuk form Memang secara default sudah terbentuk sebuah form setelah kita membuat sebuah menu dan submenu yang kemudian diarahkan ke suatu model odoo yang didalam nya ada field-field yang kita deklarasikan, akan tetapi itu hanyalah form default yang disediakan oleh odoo, jadi kita perlu melakukan perubahan-perubahan agar form yang dihasilkan sesuai apa yang kita ingin, nah sekarang kita akan mencoba membentuk form yang sudah ada (secara default) menjadi tampilan yang lebih rapih baik dari sisi posisi penempatan inputan, keterangan inputan, dsb. Sama halnya saat kita ingin menambahkan menu dan submenu di odoo, yaitu dengan menambahkan code di file dengan ekstensi xml saat kita ingin memanipula form pun kita cukup menambahkan code di file dengan ekstensi xml Baiklah langsung saja kita praktekan, buat sebuah file baru (masih di difolder yang sama yaitu “first_module”), misalnya nama file nya adalah “pengeluaran. xm!” 55,Setelah membuat file, isi file tersebut dengan code seperti ini
t.pengeluaran,form
t-pengeluaran
form
-
jumlah_pengeluaran’ readonly="1"/>_
Tika belum terlalu memahami dari setiap code yang dijalankan, tidak apa apa sebaiknya tulis saja dulu, nanti lama lama terbiasa dan ingat, walaupun bisa di copy + paste, alangkah baiknya tulis setiap code yang ada agar terbiasa dan familiar dengan code-code di xml maupun di python Maka file pengeluaran. xml akan menjadi seperti ini 37Soe te aan aa Stes er an aes as ested ae eee ean ere Dist ao ae se paee aay er oe ed ae engeluaran-De teres ene: Karena kita membuat sebuah file baru, maka hal yang WAJIB dilakukan adalah menambahkan file tersebut ke dalam __manifest__py tepatnya dibagian data seperti iniSees Cera eee ro ‘Simpan file + restart service + upgrade module, maka form akan menjadi seperti ini Fim Pengelaran/ New Form default berubah karena file yang kita buat, yang tentunya didalam file tersebut ada code untuk mengubah form default doo 59Berikut tampilan form sebelum ditambabkan file pengeluaran.xml Foim Pengeluaran/ New Nah... begitulah cara memanipulasi form defiult (bawaan) dari odoo Anda bisa kembangkan dan ubah-ubah lagi form yang sudah dibuat, misalnya saya ingin membuat tanggal pengeluaran menjadi di sebelah nama user, maka ubah saja code nya yang sebelumnya seperti ini
jumlah_pengeluaran” readonly:Derr eee peers torres tic ener ee Menjadi seperti ini
inggal_pengeluaran"/>oor ome Se ee Maka saat kita simpan + upgrade module, tampilan form menjadi seperti ini Form Pengewaran NewMisalnya masih belum puas dengan formnya, kolom untuk isi Nomor terlalu besar, maka anda bisa ubah di model py saja, dengan cara mengubah type data nya dari Text menjadi Char, karena ‘Text akan membentuk text area (cocok untuk inputan alamat, alasan, dsb), sedangkan char tidak membentuk text area, hanya text saja (cocok untuk document number, dsb) Modelpy sebelumnya Poorer otey " Seer arte Cee eer eno Simpan + restart service maka akan menjadi seprti ini formnya CrInputan nomor tidak dan deskripsi pengeluaran sudah bukan text area, melainkan hanya text saja. Nah begitulah cara memodifikasi form default / bawaan odoo, anda bisa mengembangkan lagi kemampuan anda untuk memodifikasi form odoo dengan banyak referensi di internet. 3.3.3 Function / Method Odoo Disetiap bahasa pemrograman pasti ada yang disebut function / method, demikian juga ‘odoo yang memiliki function / method yang di definisikan dengan perintah “Def” Pada subbab ini kita akan mencoba mempraktekan bagaimana membuat function/method dari ‘doo yang mana didalam nya kita bisa membuat Jogic-logic sederhana untuk sistem yang akan kita buat. Function/method di odoo adalah menggunakan bahasa Python, mari kita buat function/method diodoo. Fungsi pertama yang akan kita buat adalah untuk menghitung Jumlah pengeluaran di Form Pengeluaran kita, Baiklah langsung saja kita praktekan.Buka file model. py, dan tambahkan code berikut @apionchange(‘penjualan_detail’) def _hitung_total_pengeluaran(self): total_pengeluaran = for data_detail in self penjualan_detail: total_pengeluaran = total_pengeluaran + data_detail.amount self.jumlah_pengeluaran = totalpengeluaran i Bonne Maka ketika kita restart service dan kita kembali membuka Form Pengeluaran, maka Inputan “Jumlah Pengeluaran” Akan secara otomatis terisi jumlah dari Pengeluaran, seperti gambar ini 65Form Pengelaran | New Pengeluaran Hari Senin Coy Sedikit kita bahas dari code tadi @apionchange(‘penjualan_detail’) ‘Adalah code untuk menghandle setiap perubahan yang ada di field penjualan_detail (Aksi apa yang ingin kita lakukan jika ada perubahan pada field tersebut) Selain @apionchange, ada juga @api yang lain seperti onclick, dsb def _hitung_total_pengeluaran( self): Adalah code untuk membuat sebuah function / method bernama _hitung_total_pengeluaran, self sendiri adalah parameter yang isi nya adalah data-data yang ada di odoo di tampung dalam variable self ini total_pengeluaran = 0 for data_detail in selfpenjualan_detail: total_pengeluaran = total_pengeluaran + data_detail.amount self.jumlah_pengeluaran = totalpengeluaran Sedangkan code ini adalah logic sederhana untuk menjumlahkan setiap amount yang ada di detail Form Pengeluaran, setelah sudah terjumlah maka langsung di set ke field jumlah_pengeluaran dengan perintah self,jumlah_pengeluaran = total_pengeluaran ‘Nah... Kurang lebih seperti itulah cara membuat function / method di odoo... ©3.4 Membuat Print Out Odoo (Qweb) Pada pembelajaran sebelumnya kita sudah belajar bagaimana membuat sebuah field dan sebuah form serta fungsi didalam form tersebut. Didalam sebuah sistem tidak lepas ujungnya adalah pada Reporting, yang mana salah satu tujuan dari sistem itu sendiri ialah untuk mengolah dan menghasilkan data yang dapat dijadikan sebuah laporan, Pada sub bab ini kita akan membuat Print out dalam bentuk PDF di Odoo yaitu dengan menggunakan Qweb Odoo. Langsung saja kita lakukan dengan membuat sebuah file baru dengan ekstensi .xml di folder addons kita, saya akan menamakan file ini dengan nama report, sehingga menjadi seperti ini E\addons\first_ module\reportam! (fist_ module) - Sublime Text Bile Edit Selection Find View Goto Tools Project Pre FOLDERS ¥ B first module @ —init_py 1 _manitest_py B menus! BB modetpy B pengel Kemudian tambahkan code seperti ini
Hello Joko
Schingga file report.xml menjadi seperti ini toni module repat am it, mode) «Sule Tet (UNREGISTERED) Bile [4 Selection Find View Goto Teck Boiect_ Preferences Help ¥ BS tat moaue 1B _nt_or Bi ceantest_oy Bens B oseioy BB pengeusansmiSeperti biasa, setelah menambabkan file baru kita harus meload nya di manifest.py {HE EAaddons\ ist module_manifes_py (st module) - Sublime Tet (UNREGISTERED) Ble [de Selection Find Yew Goto Toole Project Preferences tp ¥ Gist module B —int_oy B mena! 1B modetpy By pengetuarnam! By reportxmt Seperti biasa, restart service odoo dan akan muncul tombol untuk Report Pengeluaran kita Pengeluaran Hari Kamis Dan jika tombol itu di klik akan terdownload pdf dengan nama ReportPengeluaranpdf Seperti iniReport Pengeluaran.pdf © http:/localhost:2069/re wnload Show in folder Dan jika pdf nya dibuka akan tampil seperti ini Nah ditahap ini anda telah berhasil membuat sebuah report dalam bentuk pdf, nanti tinggal kita lah bagaimana bentuk report yang kita inginkan Mari kita membahas mengenai code yang sudah kita jalankan tadi
adalah tag yang digunakan untuk membuat tombol print out seperti ini 70Pengeluaran Hari Kamis 1d : identitas dari tag report itu sendiri String : Tulisan yang ditampilkan di tombol Model : Nama model yang akan menjadi sumber data di report nantinya Report Type : Tipe dari report yang kita hasilkan, dalam hal ini pdf File : Nama file yang akan terbuat, dalam hal ini Report Pengeluaran.pdf Name : Nama template Qweb yang akan kita buat, dalam hal ini first_module.report_pengeluaran_template karena harus di sertakan nama folder baru id dari tag
2 > 2 2 2 > Sedangkan tag
ini
Hello Joko
Je Mempunyai fungsi untuk membentuk report kita, nantinya jika kita ingin mengubah-ubah bentuk atau tampilan dari report kita bisa mainkan didalam tag
ini, kita bisa menggunakan bahasa xml maupun html nBAB 4 : Modifikasi Module Default Odoo (Inheritance) Didalam membangun sistem dengan odoo memang kita bisa membuat FORM dan REPORT kita sendiri dari awal, akan tetapi ada kalanya dimana kita membutuhkan FORM atau REPORT akan tetapi odoo telah menyediakannya, dan ada juga case dimana kita hanya perlu mengubah sedikit dari FORM atau REPORT yang sudah ada. maka dari tu penting juga bagi kita untuk memahami bagaimana cara mengubah FORM dan REPORT default atau bawaan dari odoo itu sendiri Diodoo kita bisa langsung mengubah-ubah code original yang ada di komputer kita, yaitu code yang ada disini C:\Program Files (x86)\Odoo 10.0\server\odoo\addons. 2 » Local Disk (Ci) » Program Files 686) » Odoo 100 » server » odoo » addons Name Date modified Type Size account 7/29/2017 3:06PM Filefolder account accountant 7/29/2017 3:08PM Filefolder account analytic. default 7/29/2017 3.06PM Flefolder account asset 7/29/2017 3.06PM File folder account bank statement import 7/29/2017319PM_—_Filefolder account budget 7/29/2017 3:08PM ilefolder account_cancel 7/29/2017 3:06PM Filefolder account_check printing 1/29/2017 306PM File folder account tax_cash basis 7/29°2017 3.08PM Flefalder account tax python 7/29/2017 3:07PM Filefolder account test 7/29/2017 3.07PM Flefolder account voucher 7/29/2017 3:07PM File folder Kita bisa saja langsung membuka file py dan .xml yang ada ditiap-tiap folder yang ada disana yang tentunya akan merubah FORM maupun REPORT dari odoo AKAN TETAPT [tu adalah cara Koboi... dan sangat tidak disarankan, karena jika kita coding dan membuat error... itu akan membuat kita sulit untuk memperbaikinya.... MAKA DARI ITU Kita tidak akan mengubah langsung code yang ada disana, MELAINKAN Kita menggunakan teknik “Inheritance” atau Konsep Turunan, yang mana kita tidak code langsung di source code original, tetapi kita membuat sebuah module / addons untuk menurunkan code original tersebut dan mengembangkan code nya di module / addons kita Hasil nya biasa disebut Custom Module / Custom Addons nR4.1 Inherit Model Pada sub bab ini kita akan mencoba Inberit sebuah model yang sudah ada secara default di odoo, pertama-tama mari install module / addons yang bernama Invoicing Buka menu Apps dan cari dengan kata “invoicing” | ir Install dan tunggu hingga loading selesai, maka menu akan menjadi seperti ini Maka akan tampil Form Invoice yang sudah ada default saat kita menginstall module / addons bernama “invoicing” BNah FORM inilah yang akan kita inherit model nya untuk dapat melakukan beberapa perubahan pada model, seperti menambahkan field-field baru, membuat function / method baru, dsb persis seperti yang sudah kita pelajari di bab sebelumnya. ‘Caranya sangat mudah cukup baca dari URL yang ada di browser saja ‘Cukup lihat di URL sebuah kata yang ada didalam “model” di URL, itulah nama model nya yang akan kita inherit, dalam hal ini adalah “account invoice”, jika sudah tahu nama model yang ingin di inherit, langsung saja buka file model_py kita dan tambahkan code ini class InheritInvoice(models. Model): inherit = ‘account. invoice’ 74.sehingga model.py menjadi seperti ini Class InberitInvoice(models.Model) berfungsi untuk membuat sebuah class baru dalam object models. Model odoo inherit = ‘account. invoice’ berfungsi untuk menurunkan class yang bernama “account. invoice” DAN INGAT jika ingin menurunkan model kita harus meload folder yang membuat model tersebut di__manifest__py, karena kalau tidak akan error seperti ini di file odoo.log Dan di odoo akan tampil error seperti ini 5(© sto nara ener © © Oveanes Internal Server Error ‘The server countered an tera ror an wa able complete our request Eiterthe serve i ovrlouded other ian enor in the application. Cara load nya mudah hanya dengan menambahkan nama folder dari model yang akan kita load, Buka file __manifest__.py dan ubah hingga menjadi seperti ini BE E\addons\first_ module\_manifest_,py (addons) - Sublime Text (UNREGISTERED) File Edit Selection Find View Goto Tools Project Preferences Help ¥ © addons y ES twst moaute B _init_py © menus & modetpy By pengetuaran nt reportxmi Mengapa kita menambahkan “account” di depends ? Itu karena file account.invoice yang didalam nya ada model account. invoice itu berada didalam folder yang bernama account, kita dapat melihat dari gambar ini 76| models € <> ThsPC > LocaDisk (CD » Program Files 6) » Of00100 > saver» ooo > addons »Leoun} models Name ° Date modified Type Size of Quick acces int aythonfie 8 ta Ondine © Linen empied Phen ie amr ? wcouny Python 08 B sccountye Completion. KB i Desitop ? account_analytic_line py Python File aKB Documents, B account analytic ine pyc ‘Compiled Python. To Downionds 1 account bork sterertpy bythe sexe 2 Mac scout bark statement ye Compiled yon be © Pictures ? accountinvoicepy 8/19/2017 138 PM Python File 75KB i Viceos B account invoice pye TAEPM Compiled Python. 7K: vba (e) tecount journal nhboudpy a7oigeao ak pyrene se B account ioumal dashboard.ove ‘7/25/2017 3:13PM Compiled Prthon 17KB Jika kita sudah menurunkan modelnya, maka kita bisa melakukan hak hal seperti menambah field, mereplace field-field yang sudah ada, juga function / method yang sudah ada maupun yang ingin dibuat di model tersebut Marikita coba untuk membuat sebuah field baru yaitu field pengeluaran, tambahkan code ini di modelpy pengeluaran_detail = fields.One2many(‘t-pengeluaran,, ‘penjualan_detail’, string='Pengeluaran Detail’) 74.2 Inherit Form Jika di sub bab sebelumnya kita sudah inherit model “account invoice” dan juga sudah. menambahkan field bernama pengeluaran_detail, maka di sub bab ini kita akan menampilkan field tersebut di FORM default / bawaan odoo yang bernama Invoice Form dengan cara inherit FORM nya, Pertama pastikan bahwa odoo dalam keadaan developer mode ‘© camer ies -O5. € > © O tecomost Customer Invoices odoo ssions with your customer are automaticaly displayed atthe botton Jika di url ada “2debug” itu artinya anda sudah dalam keadaan developer mode Buka form dengan cara klik tombol “Create” dan kemudian klik icon bergambar kumbang Ono x ° & 0 owasDan klik “Edit Form View" Onno a ‘Akan muncul tampilan seperti ini Omom x Nah disitulah kita mendapat beberapa informasi untuk kita dapat inherit form di odoo ‘Ada beberapa yang perlu di lihat yaitu External ID, View Type dan ModelSekarang langsung saja kita inherit form invoice, dengan membuat sebuah file bernama “invoice.xml” dan menambahkan code seperti ini
<[-- Inherit Form Invoice --> record id= ‘account.invoice_form_pengeluaran” model="ir.ui. view">
account.invoice_form_pengeluaran
account.invoice
formé/field>
Schingga file invoice.xml menjadi seperti iniDan jangan lupa... jika menambahkan file .xml tambahkan di__manifest_.py estore modl_manden_ (doen Tet UNREGISTERED + ose ye rot nosue enact 2 soot Dan terakhir, pastikan code di model.py ada 3 baris code seperti ini _tec_name = 'doc_number’ invoice_pengeluaran_id = fields. Many2one(‘t.pengeluaran’, string='Pengeluaran’, required=True) pengeluaran_detail = fields. One2many(pengeluaran’, 'invoice_pengeluaran_id’, string="Pengeluaran Detail) 81Code sudah cukup dan langsung saja kita Restart Service dan Upgrade Module Sehingga Form Invoice menjadi seperti ini ‘Akan bertambah inputan Untuk memasukan Pengeluaran, yang jika kita klik “Add an item” akan ‘menjadi seperti ini 82‘Nab, begitulah cara inherit Form di odoo... Mudah kan??? © Kita sudah bisa inherit Model dan Form dari odoo, maka itu bisa menjadi modal awal kita untuk merombak-rombak odoo yang apa adanya menjadi sesuai dengan kebutuban... 4.3 Inherit Print Out (Qweb) Terakhir namun tidak kalah penting, di sub bab ini kita akan mencoba untuk inherit print out (Qweb) dari odoo, Jika di sub bab sebelumnya kita telah mempelajari cara membuat print out pdf (Qweb), maka kali ini kita akan inherit Qweb yang sudah ada di odoo, dan menambahkan “sesuatu” disana. Karena kadang kala kita memerlukan ini disaat print out default bawaan odoo bisa digunakan, dan hanya membutuhkan sedikit perubahan. Misalnya Report “Trial Balance” odoo yang tampilan awalnya seperti ini 83(O nccwingounsons x 0 Yalbdeceet Jone Downiosinan20Bsnce nat code 1613000 1613200 1613300 613302 613400 ‘11100 ‘811200 ‘911100 Menjadi Seperti ini Account Bioya Meeting Kantor Biaya Seway angsuran Bioye Operasiona Bloya Am Bank ‘loys Pak Bunga Bioyo Pak 22 BlayaLain-ain Pendapatan ‘unga Pendapatan Lan Pak Penghaston © AconingOtonr = J [) Tal bone pe Jonae/Downlae/eaP70Rae pl bebit 737.700.0018 34,142,265.00108 529,500.00 OR 1.426,159.00 OR 126,005,770.00 OR 0.00108 0.00 0 7,070;561.00 OR creat 0.00108 0.00.08 0.00 08 0.00108 9,000.00 OR 148,97498108 187,001.00108 0.00 08 Balance 737,700.00 OR 40,300,000.00 OR 34,142,265.00 OR 529,500.00 OR 1.426.159.00 DR 25,996,770.00 OR 1489749808 187,001.00 OR 7,070,561.00 OR code 613100 613200 613300 613301 613202 613400 11100 #811200 911100 Total Account Biaya Meeting Kantor Blaya Seway angsuran Biaya Operasional Blaya Adm Bank Biya Pojak Bunga Bloya Pak 22 Biya Latin Pendapatan unga Pendapatan Lai ‘ae Palak Penghasian Debit 737,700.00 OR 40,300,000.00 OR 34.242.265.00 OR 529,500.00 OR 29,794990R 2.426.159.00 OR 26,005,770.00 OR 0.00 08 0.00 108 7,070,561.00 OR credit 0.00 oR 0.00 oR 0.0008 0.00 oR 0.00 oR 0.00 oR 9,000.00 oR 148,974.98 OR 187,001.00 oF 0.00 oR 1,609,555,154.541DR 1,609,555,154.54 DR Balance 737,700.00 OR 40,300,000.00 OR 34,142,265.00 OR 529,500.00 OR 29,794990R 1.426,159.00 OR 25,996,770.00 OR 148,974.98 OR 187,001.00 OR 7,970561.0008 0.0008Ya... Betul, kita hanya menambahkan Total pada akhir report nya saja, tetapi apakah jika kita hanya ingin menambahkan total di akhir report kita harus membuat report yang sama persis dari awal ? lalu kemudian baru kita tambahkan Total? Maka jawabannya adalah tidak... Kita bisa langsung menambahkan saja Total diakhir report, tanpa membuat report yang sama persis dari awal, nah teknik ini disebut inherit Qweb Odoo Mari langsung kita lakukan, yaitu dengan cara membuat sebuah file bernama inherit_report.xml Dan isi file tersebut dengan code seperti ini
--Membuat total debit, credit, dan balance-->
Instagram
Facebook
Facebook
Pinterest
Pinterest
Get our free apps
About
About Scribd, Inc.
Everand: Ebooks & Audiobooks
SlideShare
Join our team!
Contact us
Legal
Terms
Privacy
Copyright
Do not sell or share my personal information
Support
Help / FAQ
Accessibility
Purchase help
AdChoices
Social
Instagram
Instagram
Facebook
Facebook
Pinterest
Pinterest
Get our free apps
Documents
Language:
English
Copyright © 2025 Scribd Inc.
We take content rights seriously.
Learn more
in our FAQs or
report infringement here
.
We take content rights seriously.
Learn more
in our FAQs or
report infringement here
.
Language:
English
Copyright © 2025 Scribd Inc.