Reguli de automatizare¶
Regulile de automatizare permit executarea uneia sau mai multor acțiuni predefinite ca răspuns la un anumit declanșator, de ex. crearea unei activități atunci când un câmp este setat la o anumită valoare sau arhivarea unei înregistrări la 7 zile după ultima actualizare.
La crearea unei reguli de automatizare, filtrele de domeniu vă permit să adăugați condiții care trebuie îndeplinite pentru ca regula de automatizare să ruleze, de ex. oportunitatea trebuie să fie alocată unui anumit agent de vânzări sau starea înregistrării nu trebuie să fie Ciornă.
Regulile de automatizare sunt furnizate de modulul Automation Rules (base_automation). Dacă meniul descris mai jos nu este disponibil, accesați aplicația Aplicații, eliminați filtrul Aplicații din bara de căutare, căutați Automation Rules și faceți clic pe Activează.
Notă
Gestionarea regulilor de automatizare necesită modul dezvoltator și drepturile de acces Administrare / Setări.
Pentru a crea o regulă de automatizare, procedați astfel:
Cu modul dezvoltator activat, accesați , apoi faceți clic pe Nou.
Selectați Model căruia i se aplică regula de automatizare, de ex. Comandă de vânzare.
Dați regulii de automatizare un nume clar și sugestiv, care să identifice scopul ei.
Selectați declanșatorul și, dacă este necesar, completați câmpurile care apar pe ecran în funcție de declanșatorul ales.
Faceți clic pe Adaugă o acțiune, apoi selectați Tip de acțiune și completați câmpurile care apar pe ecran în funcție de acțiunea selectată.
Salvați regula de automatizare.
- menu
- Settings ‣ Technical ‣ Automation ‣ Automation Rules ‣ New
- shows
- Automation rule form: name, Model, Trigger and Delay fields, "Actions To Do" tab with one action line and the "Add an action" button, "Notes" tab.
- highlight
- The Trigger field and the "Add an action" button.
- data
- Rule "Follow up unhappy customers" on model Sales Order, trigger "After creation", delay 3 months.
- module
- base_automation
- notes
- English UI, developer mode active, 1440px width, crop to the form sheet.
Example
Pentru a asigura urmărirea clienților mai puțin mulțumiți, această regulă de automatizare creează o activitate la 3 luni după crearea unei comenzi de vânzare pentru clienții cu un procent de satisfacție mai mic de 30%.
- menu
- Settings ‣ Technical ‣ Automation ‣ Automation Rules
- shows
- Automation rule on the Sales Order model with trigger "After creation", delay 3 months, an extra condition on the customer satisfaction field lower than 30%, and a "Create Activity" action in the "Actions To Do" tab.
- highlight
- The Trigger/Delay block and the extra condition.
- data
- Rule "Follow up unhappy customers"; activity type "To-Do".
- module
- base_automation, sale
- notes
- English UI, developer mode active, crop to the form sheet.
Sfat
Utilizați fila Note pentru a documenta scopul și funcționarea regulilor de automatizare. Acest lucru facilitează întreținerea regulilor și colaborarea între utilizatori.
Modelul vizat de regula de automatizare este setat în câmpul Model din formularul regulii de automatizare.
Regulile de automatizare pot fi create din orice etapă kanban făcând clic pe pictograma (Setări) care apare când plasați cursorul peste numele etapei kanban, apoi selectând Automatizări. În acest caz, Declanșator este setat implicit la Etapa este setată la, dar poate fi modificat dacă este necesar.
screenshot: general-automation-rules-kanban-stage- menu
- Project ‣ (any project) kanban view
- shows
- Kanban stage header with the gear (Settings) dropdown open, showing the "Automations" entry.
- highlight
- The "Automations" dropdown entry.
- data
- Demo project "Office Design", stage "In Progress".
- module
- base_automation, project
- notes
- English UI, crop to the stage column header and dropdown.
Declanșator¶
Declanșator este utilizat pentru a defini ce tip de eveniment trebuie să aibă loc pentru ca regula de automatizare să ruleze. Declanșatoarele disponibile depind de model. În total sunt disponibile cinci categorii de declanșatoare:
Adăugarea condițiilor¶
Filtrele de domeniu vă permit să stabiliți înregistrările pe care o regulă de automatizare trebuie să le vizeze sau să le excludă. Un filtraj eficient îmbunătățește performanța generală, deoarece evită procesarea inutilă a înregistrărilor neafectate de regulă.
Sfat
Activați modul dezvoltator înainte de a crea o regulă de automatizare pentru a avea cea mai mare flexibilitate în adăugarea filtrelor de domeniu.
În funcție de declanșatorul ales, este posibil să definiți una sau mai multe condiții pe care o înregistrare trebuie să le îndeplinească înainte și/sau după producerea unui declanșator.
Domeniu înainte de actualizare definește condițiile pe care o înregistrare trebuie să le îndeplinească înainte de producerea evenimentului declanșator, de ex. înregistrarea trebuie să aibă
Type = Customer InvoiceșiStatus = Posted.Cu modul dezvoltator activat, faceți clic pe Editează domeniul, dacă este disponibil, apoi pe Regulă nouă.
Condiții suplimentare sau, în unele cazuri, filtrele Aplică pe, definesc condițiile pe care o înregistrare trebuie să le îndeplinească după producerea evenimentului declanșator, de ex. factura clientului trebuie să aibă
Payment Status = Partially Paid.Cu modul dezvoltator activat, dacă este necesar, faceți clic pe Adaugă condiții sau pe Editează domeniul, după caz, apoi pe Regulă nouă.
Când are loc un declanșator, de ex. se actualizează starea de plată a unei facturi postate a clientului, regula de automatizare verifică condițiile definite și execută acțiunea numai dacă înregistrarea îndeplinește aceste condiții.
Example
Dacă acțiunea automatizată trebuie executată atunci când o adresă de e-mail este setată pentru prima dată (spre deosebire de modificarea unei adrese de e-mail) pe un contact existent care este o persoană fizică, nu o companie, utilizați Email is not set și Is a Company is not set ca Domeniu înainte de actualizare și Email is set ca Aplică pe.
- menu
- Settings ‣ Technical ‣ Automation ‣ Automation Rules
- shows
- Automation rule on the Contact model with trigger "On save"; Before Update Domain "Email is not set" and "Is a Company is not set"; Apply on domain "Email is set".
- highlight
- The Before Update Domain and Apply on fields.
- data
- Rule "Welcome new individual contacts".
- module
- base_automation, contacts
- notes
- English UI, developer mode active, crop to the trigger section.
Notă
Domeniu înainte de actualizare nu este verificat la crearea unei înregistrări.
Valori actualizate¶
Declanșează acțiuni automatizate atunci când au loc anumite modificări în baza de date. Declanșatoarele disponibile în această categorie depind de model și se bazează pe modificări uzuale, precum adăugarea unei anumite etichete (de ex. la o sarcină) sau setarea valorii unui câmp (de ex. setarea câmpului Utilizator).
Selectați declanșatorul, apoi selectați o valoare, dacă este necesar.
Evenimente e-mail¶
Declanșează acțiuni automatizate la primirea sau trimiterea de e-mailuri:
La primirea mesajului: când un mesaj este primit pe înregistrare.
La trimiterea mesajului: când un mesaj este trimis din înregistrare.
Aceste declanșatoare sunt disponibile numai pentru modelele care au chatter.
Condiții de timp¶
Declanșează acțiuni automatizate la un moment în timp relativ la un câmp de tip dată sau la crearea ori actualizarea unei înregistrări. Sunt disponibile următoarele declanșatoare:
Pe baza câmpului de dată: acțiunea este declanșată cu o perioadă de timp definită înainte sau după data câmpului de dată selectat.
După creare: acțiunea este declanșată după o perioadă de timp definită de la crearea și salvarea unei înregistrări.
După ultima actualizare: acțiunea este declanșată după o perioadă de timp definită de la editarea și salvarea unei înregistrări existente.
Puteți defini apoi:
o Întârziere: specificați numărul de minute, ore, zile sau luni. Pentru ca o acțiune să fie executată înainte de data declanșatorului, specificați un număr negativ. Dacă ați selectat declanșatorul Pe baza câmpului de dată, trebuie să selectați și câmpul de dată utilizat pentru a determina întârzierea.
Notă
În mod implicit, planificatorul verifică regulile de automatizare declanșate în timp la fiecare 240 de minute, adică 4 ore. Această frecvență este în general suficientă pentru întârzieri precum 3 luni după data comenzii sau 7 zile după ultima actualizare.
Pentru întârzieri mai mici decât echivalentul a 2400 de minute, adică 40 de ore, sistemul recalculează frecvența acestei verificări pentru a se asigura că întârzierile mai fine, de ex. cu 1 oră înainte de data și ora de început a evenimentului sau la 30 de minute după creare, pot fi respectate cât mai îndeaproape.
Un mesaj pe ecran indică întârzierea posibilă după declanșarea programată a regulii.
screenshot: general-automation-rules-trigger-delay-message- menu
- Settings ‣ Technical ‣ Automation ‣ Automation Rules
- shows
- Timing trigger with a delay and the grey information message below it about the possible delay after the scheduled execution of the rule.
- highlight
- The information message.
- module
- base_automation
- notes
- English UI, crop to the trigger/delay block.
Pentru a vizualiza sau edita manual frecvența planificatorului, cu modul dezvoltator activat, accesați pentru a vedea toate acțiunile programate ale bazei de date.
Introduceți
Automationîn bara de căutare, apoi, în lista de rezultate, faceți clic pe Reguli de automatizare: verifică și execută. Dacă doriți, actualizați valoarea câmpului Executați fiecare. Faceți clic pe Rulează manual oricând pentru a declanșa manual această acțiune programată.Condiții suplimentare: faceți clic pe Adaugă condiție, apoi specificați condițiile care trebuie îndeplinite pentru ca regula de automatizare să ruleze. Faceți clic pe Regulă nouă pentru a adăuga o altă condiție.
Acțiunea este executată când se atinge întârzierea și condițiile sunt îndeplinite.
Example
Pentru a trimite un e-mail de memento cu 30 de minute înainte de începerea unui eveniment din calendar, selectați Început (Eveniment din calendar) ca câmp de dată pentru Declanșator și setați Întârziere la -30 Minute.
- menu
- Settings ‣ Technical ‣ Automation ‣ Automation Rules
- shows
- Automation rule on the Calendar Event model with trigger "Based on date field", Delay "-30 Minutes" and trigger date "Start".
- highlight
- The Trigger, Delay and date field.
- data
- Rule "Meeting reminder".
- module
- base_automation, calendar
- notes
- English UI, crop to the trigger section.
Personalizat¶
Declanșează acțiuni automatizate:
La salvare: când o înregistrare este salvată.
La ștergere: când o înregistrare este ștearsă.
La arhivare / La dezarhivare: când o înregistrare este arhivată sau restaurată, pentru modelele care pot fi arhivate.
La modificarea interfeței: când valoarea unui câmp este modificată în vizualizarea Formular, chiar înainte de salvarea înregistrării.
Pentru declanșatoarele La salvare și La modificarea interfeței, trebuie apoi să selectați câmpul (câmpurile) utilizat(e) pentru a declanșa regula de automatizare în câmpul La actualizare.
Atenționare
Dacă în câmpul La actualizare nu este selectat niciun câmp, acțiunea automatizată poate fi executată de mai multe ori pe înregistrare.
Opțional, puteți defini și condiții suplimentare care trebuie îndeplinite pentru declanșarea regulii de automatizare în câmpul Aplică pe.
Example
Pentru a declanșa o acțiune automatizată la crearea unei înregistrări, de ex. când este creat un contact nou, selectați declanșatorul La salvare și utilizați ID is not set ca Domeniu înainte de actualizare și ID is set ca Aplică pe. Asigurați-vă că în câmpul La actualizare este selectat câmpul corect.
Când un contact nou este salvat, i se atribuie automat un ID în baza de date, ceea ce declanșează regula de automatizare.
- menu
- Settings ‣ Technical ‣ Automation ‣ Automation Rules
- shows
- Automation rule on the Contact model with trigger "On save", Before Update Domain "ID is not set", Apply on "ID is set" and the "When updating" field filled.
- highlight
- The two domains and the "When updating" field.
- module
- base_automation, contacts
- notes
- English UI, developer mode active, crop to the trigger section.
Notă
Declanșatorul La modificarea interfeței poate fi utilizat doar cu acțiunea Execută cod și funcționează numai atunci când modificarea este făcută manual. Acțiunea nu este executată dacă câmpul este modificat printr-o altă regulă de automatizare.
Extern¶
Declanșează acțiuni automatizate pe baza unui eveniment specific dintr-un sistem sau o aplicație externă, folosind un webhook.
După ce webhook-ul este configurat în Odoo, unde este generat URL-ul webhook-ului și definită înregistrarea țintă, acesta trebuie implementat în sistemul extern.
Atenționare
Este foarte recomandat să consultați un dezvoltator, un arhitect de soluții sau un alt rol tehnic atunci când decideți să utilizați webhook-uri și pe tot parcursul procesului de implementare. Dacă nu sunt configurate corect, webhook-urile pot perturba baza de date Odoo, iar remedierea poate dura.
- menu
- Settings ‣ Technical ‣ Automation ‣ Automation Rules
- shows
- Automation rule with trigger "On webhook": the generated webhook URL with copy button, the "Target Record" field, the "Log Calls" option and an "Update Record" action.
- highlight
- The webhook URL field.
- module
- base_automation
- notes
- English UI, developer mode active; blur the UUID part of the URL.
Notă
De asemenea, este posibil să configurați o acțiune automatizată care trimite date către webhook-ul unui sistem extern atunci când are loc un eveniment în baza de date Odoo.
Vezi și
Acțiuni¶
După ce ați definit declanșatorul regulii de automatizare, faceți clic pe Adaugă o acțiune în fila Acțiuni de efectuat pentru a defini acțiunea care trebuie executată.
Sfat
Puteți defini mai multe acțiuni pentru aceeași regulă de automatizare. În mod implicit, acțiunile sunt executate în ordinea în care au fost definite.
Aceasta înseamnă, de exemplu, că dacă definiți o acțiune Actualizare înregistrare și apoi o acțiune Trimite e-mail în care e-mailul face referire la câmpul actualizat, e-mailul utilizează valorile actualizate. Totuși, dacă acțiunea Trimite e-mail este definită înaintea acțiunii Actualizare înregistrare, e-mailul utilizează valorile setate înainte de actualizarea înregistrării.
Pentru a schimba ordinea acțiunilor definite, faceți clic pe pictograma (mâner de tragere) de lângă o acțiune și trageți-o în poziția dorită.
Actualizare înregistrare¶
Această acțiune actualizează unul dintre câmpurile (asociate) ale înregistrării. Faceți clic pe câmpul Actualizează și, în lista care se deschide, selectați sau căutați câmpul de actualizat. Dacă este necesar, faceți clic pe (săgeată dreapta) de lângă numele câmpului pentru a accesa lista câmpurilor asociate.
Dacă ați selectat un câmp many2many, alegeți dacă acesta trebuie actualizat prin Adăugare, Eliminare sau Setarea la valoarea selectată ori prin Ștergerea sa.
Example
Dacă doriți ca acțiunea automatizată să elimine o etichetă din înregistrarea clientului, setați câmpul Actualizează la Client > Etichete, selectați prin Eliminare, apoi selectați eticheta.
- menu
- Settings ‣ Technical ‣ Automation ‣ Automation Rules ‣ Add an action
- shows
- Action dialog with Type "Update Record", Update field "Customer > Tags", "by Removing" selected and one tag chosen.
- highlight
- The Update field and the by Adding/Removing/Setting it to/Clearing it choice.
- module
- base_automation
- notes
- English UI, crop to the dialog.
Sfat
Alternativ, puteți seta dinamic câmpul unei înregistrări folosind cod Python. Pentru aceasta, selectați Calculează în loc de Actualizează, apoi introduceți codul utilizat pentru calcularea valorii câmpului. De exemplu, dacă doriți ca regula de automatizare să calculeze un câmp datetime personalizat atunci când prioritatea unei sarcini este setată la High (prin marcarea sarcinii cu stea), puteți defini declanșatorul Prioritatea este setată la la High și puteți defini acțiunea Actualizare înregistrare după cum urmează:
- menu
- Settings ‣ Technical ‣ Automation ‣ Automation Rules ‣ Add an action
- shows
- Action dialog with Type "Update Record", "Compute" selected instead of "Update", a custom datetime field of the Task model and a short Python expression.
- highlight
- The Compute toggle and the expression.
- module
- base_automation, project
- notes
- English UI, developer mode active, crop to the dialog.
Creare activitate¶
Această acțiune este utilizată pentru a programa o activitate nouă legată de înregistrare. Selectați un Tip activitate, introduceți un Titlu și o descriere, apoi specificați când doriți să fie programată activitatea în câmpul Scadență în și selectați un Tip utilizator:
Pentru a aloca întotdeauna activitatea aceluiași utilizator, selectați Utilizator specific, apoi adăugați utilizatorul în câmpul Responsabil;
Pentru a viza dinamic un utilizator legat de înregistrare, selectați Utilizator dinamic (bazat pe înregistrare) și modificați Câmp utilizator, dacă este necesar.
Example
După ce o pistă este transformată în oportunitate, doriți ca acțiunea automatizată să programeze un apel pentru utilizatorul responsabil de pistă. Pentru aceasta, setați Tip activitate la Apel și Tip utilizator la Utilizator dinamic (bazat pe înregistrare).
- menu
- Settings ‣ Technical ‣ Automation ‣ Automation Rules ‣ Add an action
- shows
- Action dialog with Type "Create Activity", Activity Type "Call", User Type "Dynamic User (based on record)" and User Field "Salesperson".
- highlight
- The Activity Type and User Type fields.
- module
- base_automation, mail, crm
- notes
- English UI, crop to the dialog.
Trimitere e-mail și trimitere SMS¶
Aceste acțiuni sunt utilizate pentru a trimite un e-mail sau un mesaj text către un contact legat de o anumită înregistrare. Pentru aceasta, selectați sau creați un Șablon e-mail sau un Șablon SMS, apoi, în câmpul Trimite e-mail ca sau Trimite SMS ca, alegeți cum doriți să trimiteți e-mailul sau mesajul text:
E-mail: pentru a trimite mesajul ca e-mail către destinatarii din Șablon e-mail.
Mesaj: pentru a posta mesajul pe înregistrare și a notifica urmăritorii înregistrării.
Notă: pentru a trimite mesajul ca notă internă vizibilă utilizatorilor interni în chatter.
SMS (fără notă): pentru a trimite mesajul ca mesaj text către destinatarii din Șablon SMS.
SMS (cu notă): pentru a trimite mesajul ca mesaj text către destinatarii din Șablon SMS și a-l posta ca notă internă în chatter.
Doar notă: pentru a posta mesajul doar ca notă internă în chatter.
Adăugare și eliminare urmăritori¶
Această acțiune este utilizată pentru a abona/dezabona contactele existente la/de la înregistrare.
Creare înregistrare¶
Această acțiune este utilizată pentru a crea o înregistrare nouă pe orice model.
Selectați modelul necesar în câmpul Înregistrare de creat; implicit, acesta conține modelul curent. Specificați un Nume pentru înregistrare și apoi, dacă doriți să creați înregistrarea pe un alt model, selectați un câmp în câmpul Câmp de legătură pentru a lega înregistrarea care a declanșat crearea noii înregistrări.
Notă
Lista derulantă aferentă câmpului Câmp de legătură conține numai câmpurile one2many existente pe modelul curent, care sunt legate de un câmp many2one al modelului țintă.
Sfat
Puteți crea o altă regulă de automatizare cu acțiuni Actualizare înregistrare pentru a actualiza câmpurile noii înregistrări, dacă este necesar. De exemplu, puteți utiliza o acțiune Creează înregistrare pentru a crea o sarcină de proiect nouă și apoi o puteți aloca unui anumit utilizator folosind o acțiune Actualizare înregistrare.
Execută cod¶
Important
Codul personalizat rulează cu drepturile regulii de automatizare și nu este acoperit de actualizările standard. Solicitați scrierea și întreținerea lui de către un dezvoltator.
Această acțiune este utilizată pentru a executa cod Python. Puteți scrie codul în fila Cod folosind următoarele variabile:
env: mediul în care este declanșată acțiuneamodel: modelul înregistrării pe care este declanșată acțiunea; este un recordset golrecord: înregistrarea pe care este declanșată acțiunea; poate fi goalărecords: recordset-ul tuturor înregistrărilor pe care este declanșată acțiunea în mod multiplu; poate fi lăsat goltime,datetime,dateutil,timezone: biblioteci Python utilefloat_compare: funcție utilitară pentru compararea valorilor float pe baza unei precizii specificelog(message, level='info'): funcție de logare pentru a înregistra informații de depanare în tabela ir.logging_logger.info(message): logger pentru emiterea de mesaje în jurnalele serveruluiUserError: clasă de excepție pentru afișarea mesajelor de avertizare către utilizatorCommand: spațiu de nume al comenzilor x2manyaction = {...}: pentru a returna o acțiune
Sfat
Variabilele disponibile sunt descrise atât în fila Cod, cât și în fila Ajutor.
Vezi și
Trimitere notificare webhook¶
Această acțiune este utilizată pentru a trimite o cerere API POST cu valorile Câmpuri selectate către URL-ul webhook specificat în câmpul URL.
Exemplu de payload oferă o previzualizare a datelor incluse în cerere, folosind datele unei înregistrări aleatorii sau date fictive dacă nu este disponibilă nicio înregistrare.
Notă
Este posibil, de asemenea, să configurați o acțiune automatizată care utilizează un webhook pentru a primi date de la un sistem extern atunci când are loc un eveniment predefinit în acel sistem.
Executare acțiuni existente¶
Acțiunea este utilizată pentru a declanșa simultan mai multe acțiuni (legate de modelul curent). Pentru aceasta, faceți clic pe Adaugă o linie, apoi, în fereastra pop-up Adaugă: Acțiuni copil, selectați o acțiune existentă sau faceți clic pe Nou pentru a crea una nouă.