Peraturan-peraturan otomatisasi¶
Aturan otomasi memungkinkan eksekusi satu atau lebih tindakan yang telah ditentukan sebagai respons terhadap pemicu tertentu, misalnya membuat aktivitas saat field diatur ke nilai tertentu, atau mengarsipkan record 7 hari setelah pembaruan terakhirnya.
Saat membuat aturan otomatis, domain filters memungkinkan Anda menambahkan kondisi yang harus dipenuhi agar aturan otomatis berjalan, mis., opportunity harus ditugaskan ke salesperson tertentu, atau status record tidak boleh Draft.
Untuk membuat aturan otomasi dengan Odoo Studio, lakukan langkah berikut:
Buka Studio dan klik Automations, lalu New.
Berikan aturan otomasi nama yang jelas dan bermakna yang mengidentifikasi tujuannya.
Pilih pemicu dan, jika perlu, isi kolom yang muncul di layar berdasarkan pemicu yang dipilih.
Klik Add an action, lalu pilih Type dari action dan isi kolom yang muncul di layar berdasarkan action yang Anda pilih.
Klik Save & Close atau Save & New.
Example
Untuk memastikan tindak lanjut pada klien yang kurang puas, aturan otomasi ini membuat aktivitas 3 bulan setelah sales order dibuat untuk klien dengan persentase kepuasan lebih rendah dari 30%.
Tip
Gunakan tab Notes untuk mendokumentasikan tujuan dan cara kerja aturan otomasi. Ini membuat aturan lebih mudah dipelihara dan memfasilitasi kolaborasi antar pengguna.
Untuk memodifikasi model yang ditargetkan oleh aturan otomasi, alihkan model sebelum mengklik Automations di Studio, atau aktifkan mode pengembang, buat atau edit aturan otomasi, dan pilih Model di formulir Automation Rules.
Aturan otomasi dapat dibuat dari tahap kanban mana pun dengan mengklik ikon (Settings) yang muncul saat mengarahkan kursor ke nama tahap kanban, lalu pilih Automations. Dalam hal ini, Trigger diatur ke Stage is set to secara default, tetapi dapat diubah jika perlu.
Pemicu¶
Trigger digunakan untuk menentukan jenis peristiwa apa yang perlu terjadi agar aturan otomasi berjalan. Pemicu yang tersedia tergantung pada model. Lima kategori pemicu tersedia secara keseluruhan:
Menambahkan kondisi¶
Filter domain memungkinkan Anda menentukan record yang harus ditargetkan atau dikecualikan oleh aturan otomasi. Pemfilteran yang efisien meningkatkan kinerja keseluruhan karena menghindari pemrosesan yang tidak perlu pada record yang tidak terpengaruh oleh aturan.
Tip
Aktifkan mode pengembang sebelum membuat aturan otomasi untuk memiliki fleksibilitas maksimal dalam menambahkan filter domain.
Tergantung pada pemicu yang dipilih, dimungkinkan untuk menentukan satu atau lebih kondisi yang harus dipenuhi record sebelum dan/atau setelah pemicu terjadi.
Before Update Domain menentukan kondisi yang harus dipenuhi record sebelum peristiwa pemicu terjadi, misalnya record harus memiliki
Type = Customer InvoicedanStatus = Posted.Dengan mode pengembang diaktifkan, klik Edit Domain, jika tersedia, kemudian New Rule.
Extra Conditions, atau dalam beberapa kasus filter Apply on, mendefinisikan kondisi yang harus dipenuhi oleh rekaman setelah peristiwa pemicu terjadi, misalnya faktur pelanggan harus memiliki
Payment Status = Partially Paid.Dengan mode pengembang diaktifkan jika diperlukan, klik Add conditions atau Edit Domain, sesuai kebutuhan, kemudian New Rule.
Ketika pemicu terjadi, misalnya status pembayaran faktur pelanggan yang diposting diperbarui, aturan otomasi memeriksa kondisi yang ditentukan dan hanya menjalankan aksi jika record cocok dengan kondisi tersebut.
Example
Jika aksi otomatis harus dijalankan ketika alamat email diatur untuk pertama kalinya (berbeda dengan memodifikasi alamat email) pada kontak yang sudah ada yang merupakan individu bukan perusahaan, gunakan Email is not set dan Is a Company is not set sebagai Before Update Domain dan Email is set sebagai domain Apply on.
Catatan
Before Update Domain tidak diperiksa saat pembuatan record.
Value Diupdate¶
Picu aksi otomatis ketika perubahan spesifik terjadi di database. Pemicu yang tersedia dalam kategori ini bergantung pada model dan didasarkan pada perubahan umum, seperti menambahkan tag tertentu (misalnya ke tugas) atau menetapkan nilai field (misalnya menetapkan field User).
Pilih pemicu, kemudian pilih nilai jika diperlukan.
Email Acara¶
Memicu tindakan otomatis saat menerima atau mengirim email.
Kondisi Timing¶
Picu aksi otomatis pada titik waktu relatif terhadap field tanggal atau terhadap pembuatan atau pembaruan record. Pemicu berikut tersedia:
Based on date field: Tindakan dipicu dalam periode waktu yang ditentukan sebelum atau sesudah tanggal dari kolom tanggal yang dipilih.
Setelah pembuatan: Tindakan dipicu dalam periode waktu tertentu setelah record dibuat dan disimpan.
Setelah pembaruan terakhir: Tindakan dipicu dalam periode waktu tertentu setelah record yang ada diedit dan disimpan.
Anda kemudian dapat menentukan:
Delay: Tentukan jumlah menit, jam, hari, atau bulan. Untuk menjalankan tindakan sebelum tanggal pemicu, tentukan angka negatif. Jika Anda memilih pemicu Based on date field, Anda juga harus memilih kolom tanggal yang akan digunakan untuk menentukan penundaan.
Catatan
Secara default, penjadwal memeriksa aturan otomasi berbasis waktu setiap 240 menit, atau 4 jam. Frekuensi ini umumnya cukup untuk penundaan seperti 3 bulan setelah tanggal pesanan atau 7 hari setelah pembaruan terakhir.
Untuk penundaan kurang dari setara 2400 menit, atau 40 jam, sistem menghitung ulang frekuensi pemeriksaan ini untuk memastikan penundaan yang lebih terperinci, misalnya 1 jam sebelum tanggal dan waktu mulai acara, atau 30 menit setelah pembuatan, dapat dihormati sedekat mungkin.
Pesan di layar menunjukkan kemungkinan penundaan setelah pemicu terjadwal dari aturan.
Untuk melihat atau mengedit secara manual frekuensi penjadwal, dengan mode pengembang diaktifkan, buka untuk melihat semua tindakan terjadwal untuk database Anda.
Masukkan
Automationdi bilah pencarian, kemudian, dalam daftar hasil, klik Automation Rules: check and execute. Jika diinginkan, perbarui nilai kolom Execute Every. Klik Run Manually kapan saja untuk memicu tindakan terjadwal ini secara manual.Extra Conditions: Klik Add condition, kemudian tentukan kondisi yang harus dipenuhi agar aturan otomasi berjalan. Klik New Rule untuk menambahkan kondisi lain.
Tindakan dijalankan ketika penundaan tercapai dan kondisi terpenuhi.
Example
Untuk mengirim email pengingat 30 menit sebelum dimulainya acara kalender, pilih Start (Calendar Event) sebagai kolom tanggal untuk Trigger dan atur Delay ke -30 Minutes.
Khusus¶
Memicu tindakan otomatis:
On save: ketika rekaman disimpan.
Saat penghapusan: ketika record dihapus.
Saat perubahan UI: ketika nilai field diubah pada Tampilan Formulir, bahkan sebelum record disimpan.
Untuk pemicu On save dan On UI change, Anda harus memilih kolom yang akan digunakan untuk memicu aturan otomatis di kolom When updating.
Peringatan
Jika tidak ada field yang dipilih di field When updating, tindakan otomatis mungkin dijalankan beberapa kali per catatan.
Secara opsional, Anda juga dapat menentukan kondisi tambahan yang harus dipenuhi untuk memicu aturan automasi di field Apply on.
Example
Untuk memicu tindakan otomatis saat pembuatan rekaman, misalnya ketika kontak baru dibuat, pilih pemicu On save dan gunakan ID is not set sebagai domain Before Update Domain dan ID is set sebagai domain Apply on. Pastikan kolom yang benar dipilih di kolom When updating.
Ketika kontak baru disimpan, kontak tersebut secara otomatis ditetapkan ID database, sehingga memicu aturan otomasi.
Catatan
Pemicu Saat perubahan UI hanya dapat digunakan dengan tindakan Jalankan Kode dan hanya berfungsi ketika modifikasi dilakukan secara manual. Tindakan tidak dijalankan jika field diubah melalui aturan otomasi lain.
Eksternal¶
Picu tindakan otomatis berdasarkan peristiwa tertentu di sistem atau aplikasi eksternal menggunakan webhook.
Setelah webhook dikonfigurasi di Odoo, di mana URL webhook dihasilkan dan record target ditentukan, webhook perlu diimplementasikan di sistem eksternal.
Peringatan
Sangat disarankan untuk berkonsultasi dengan developer, solution architect, atau peran teknis lainnya ketika memutuskan untuk menggunakan webhook dan selama proses implementasi. Jika tidak dikonfigurasi dengan benar, webhook dapat mengganggu database Odoo dan dapat memakan waktu untuk dikembalikan.
Catatan
Dimungkinkan juga untuk mengatur tindakan otomatis yang mengirim data ke webhook sistem eksternal ketika peristiwa terjadi di database Odoo Anda.
Lihat juga
Action¶
Setelah Anda mendefinisikan pemicu aturan otomasi, klik Add an action di tab Actions To Do untuk menentukan tindakan yang akan dijalankan.
Tip
Anda dapat menentukan beberapa tindakan untuk aturan otomasi yang sama. Secara default, tindakan dijalankan sesuai urutan saat ditentukan.
Ini berarti, misalnya, jika Anda menentukan tindakan Perbarui record dan kemudian tindakan Kirim email di mana email mereferensikan field yang diperbarui, email menggunakan nilai yang diperbarui. Namun, jika tindakan Kirim email ditentukan sebelum tindakan Perbarui record, email menggunakan nilai yang ditetapkan sebelum record diperbarui.
Untuk mengubah urutan tindakan yang ditentukan, klik ikon (pegangan tarik) di samping tindakan dan seret ke posisi yang diinginkan.
Update Record¶
Tindakan ini memperbarui salah satu field (terkait) dari record. Klik field Update dan, dalam daftar yang terbuka, pilih atau cari field yang akan diperbarui. Jika diperlukan, klik (panah kanan) di sebelah nama field untuk mengakses daftar field terkait.
Jika Anda memilih many2many field, pilih apakah kolom harus diperbarui dengan Adding, Removing, atau Setting it to nilai yang dipilih atau dengan Clearing it.
Example
Jika Anda ingin tindakan otomatis menghapus tag dari record pelanggan, atur field Update ke Customer > Tags, pilih by Removing, kemudian pilih tag tersebut.
Tip
Atau, Anda juga dapat mengatur kolom record secara dinamis menggunakan kode Python. Untuk melakukannya, pilih Compute alih-alih Update, lalu masukkan kode yang akan digunakan untuk menghitung nilai kolom. Misalnya, jika Anda ingin aturan otomatis menghitung datetime field kustom ketika prioritas tugas diatur ke High (dengan memberi bintang pada tugas), Anda dapat menentukan pemicu Priority is set to ke High dan menentukan action Update Record sebagai berikut:
Buat Kegiatan¶
Action ini digunakan untuk menjadwalkan aktivitas baru yang terhubung ke record. Pilih Activity Type, masukkan Title dan deskripsi, lalu tentukan kapan Anda ingin aktivitas dijadwalkan di kolom Due Date In, dan pilih User type:
Untuk selalu menetapkan aktivitas kepada user yang sama, pilih Specific User, kemudian tambahkan user di field Responsible;
Untuk menargetkan user yang terhubung ke record secara dinamis, pilih Dynamic User (based on record) dan ubah User Field jika perlu.
Example
Setelah lead diubah menjadi opportunity, Anda ingin action otomatis menyiapkan panggilan untuk user yang bertanggung jawab atas lead. Untuk melakukannya, atur Activity Type ke Call dan User Type ke Dynamic User (based on record).
Send Email dan Send SMS¶
Action ini digunakan untuk mengirim email atau pesan teks ke kontak yang terhubung ke record tertentu. Untuk melakukannya, pilih atau buat Email Template atau SMS Template, lalu, di kolom Send Email As atau Send SMS As, pilih bagaimana Anda ingin mengirim email atau pesan teks:
Email: untuk mengirim pesan sebagai email kepada penerima Email Template.
Message: untuk memposting pesan pada catatan dan memberi tahu pengikut catatan.
Note: untuk mengirim pesan sebagai catatan internal yang terlihat oleh pengguna internal di chatter.
SMS (without note): untuk mengirim pesan sebagai pesan teks kepada penerima SMS template.
SMS (with note): untuk mengirim pesan sebagai pesan teks kepada penerima SMS template dan mempostingnya sebagai catatan internal di chatter.
Note only: untuk hanya memposting pesan sebagai catatan internal di chatter.
Kirim WhatsApp¶
Penting
Untuk mengotomatiskan pengiriman pesan WhatsApp, satu atau lebih template WhatsApp harus dibuat.
Tindakan ini digunakan untuk mengirim pesan WhatsApp ke kontak yang terhubung dengan record tertentu. Untuk melakukannya, pilih WhatsApp Template yang sesuai dari menu dropdown.
Tambah Pengikut dan Hapus Pengikut¶
Tindakan ini digunakan untuk berlangganan/berhenti berlangganan kontak yang ada ke/dari record.
Buat Record¶
Action ini digunakan untuk membuat record baru pada model apa pun.
Pilih model yang diperlukan di kolom Record to Create; secara default berisi model saat ini. Tentukan Name untuk record, lalu, jika Anda ingin membuat record pada model lain, pilih kolom di kolom Link Field untuk menghubungkan record yang memicu pembuatan record baru.
Catatan
Daftar dropdown yang terkait dengan kolom Link Field hanya berisi one2many fields yang ada pada model saat ini yang terhubung ke many2one field pada model target.
Tip
Anda dapat membuat aturan otomasi lain dengan Update Record tindakan untuk memperbarui field dari record baru jika diperlukan. Misalnya, Anda dapat menggunakan tindakan Create Record untuk membuat tugas project baru dan kemudian menetapkannya kepada user tertentu menggunakan tindakan Update Record.
Jalankan Kode¶
Penting
Untuk aturan otomasi yang memerlukan eksekusi custom code, perhatikan bahwa pemeliharaan custom code tidak termasuk dalam paket harga Standard atau Custom dan dikenakan biaya tambahan.
Aksi ini digunakan untuk menjalankan kode Python. Anda dapat menulis kode Anda ke dalam tab Code menggunakan variabel berikut:
env: environment tempat aksi dipicumodel: model dari record tempat aksi dipicu; merupakan recordset kosongrecord: record tempat aksi dipicu; mungkin kosongrecords: recordset dari semua record tempat aksi dipicu dalam mode multi; ini mungkin dibiarkan kosongtime,datetime,dateutil,timezone: pustaka Python yang bergunafloat_compare: fungsi utilitas untuk membandingkan float berdasarkan presisi tertentulog(message, level='info'): fungsi logging untuk mencatat informasi debug dalam tabel ir.logging_logger.info(message): logger untuk mengeluarkan pesan dalam log serverUserError: kelas exception untuk memunculkan pesan peringatan yang menghadap userCommand: namespace perintah x2manyaction = {...}: untuk mengembalikan sebuah aksi
Tip
Variabel yang tersedia dijelaskan di tab Code dan Help.
Lihat juga
Kirim Notifikasi Webhook¶
Tindakan ini digunakan untuk mengirim permintaan API POST dengan nilai dari Fields yang dipilih ke URL webhook yang ditentukan dalam field URL.
Sample Payload menyediakan pratinjau data yang disertakan dalam permintaan menggunakan data record acak atau data dummy jika tidak ada record yang tersedia.
Catatan
Dimungkinkan juga untuk menyiapkan tindakan otomatis yang menggunakan webhook untuk menerima data dari sistem eksternal ketika event yang telah ditentukan terjadi di sistem tersebut.
Jalankan Action yang Tersedia¶
Action ini digunakan untuk memicu beberapa action (yang terhubung ke model saat ini) secara bersamaan. Untuk melakukannya, klik Add a line, lalu, di pop-up Add: Child Actions, pilih action yang ada atau klik New untuk membuat yang baru.