Automatizálási szabályok

Az automatizálási szabályok egy adott eseményre (indítóra) válaszul egy vagy több előre meghatározott műveletet hajtanak végre, pl. tevékenységet hoznak létre, amikor egy mező adott értéket kap, vagy archiválnak egy rekordot 7 nappal az utolsó módosítása után.

Automatizálási szabály létrehozásakor tartományszűrőkkel adhat meg feltételeket, amelyeknek teljesülniük kell a szabály futásához, pl. a lehetőségnek egy adott értékesítőhöz kell tartoznia, vagy a rekord állapota nem lehet Tervezet.

Az automatizálási szabályokat az Automation Rules modul (base_automation) biztosítja. Ha az alább leírt menü nem érhető el, nyissa meg az Alkalmazások alkalmazást, távolítsa el a keresősávból az Alkalmazások szűrőt, keressen rá az Automation Rules kifejezésre, és kattintson az Aktivál gombra.

Megjegyzés

Az automatizálási szabályok kezeléséhez fejlesztői mód és Adminisztráció / Beállítások hozzáférési jog szükséges.

Automatizálási szabály létrehozásához kövesse az alábbi lépéseket:

  1. Aktivált fejlesztői módban lépjen a Beállítások ‣ Technikai ‣ Automatizálás ‣ Automatizálási szabályok menüpontra, majd kattintson az Új gombra.

  2. Válassza ki a Modell mezőben azt a modellt, amelyre a szabály vonatkozik, pl. Vevői rendelés.

  3. Adjon a szabálynak egyértelmű, a célját jól leíró nevet.

  4. Válassza ki az indítót, és szükség esetén töltse ki a kiválasztott indítótól függően megjelenő mezőket.

  5. Kattintson a Művelet hozzáadása gombra, válassza ki a művelet Típus mezőjét, és töltse ki a kiválasztott művelettől függően megjelenő mezőket.

  6. Mentse az automatizálási szabályt.

screenshot: general-automation-rules-form
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

Az elégedetlenebb ügyfelek nyomon követése érdekében ez az automatizálási szabály a vevői rendelés létrehozása után 3 hónappal tevékenységet hoz létre azoknál az ügyfeleknél, akiknek az elégedettségi aránya 30% alatt van.

screenshot: general-automation-rules-example-activity-conditions
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.

Javaslat

  • A Megjegyzések fülön dokumentálja a szabályok célját és működését. Ez megkönnyíti a szabályok karbantartását és a felhasználók közötti együttműködést.

  • A szabály által érintett modellt az automatizálási szabály űrlapjának Modell mezője határozza meg.

  • Automatizálási szabály bármely kanban szakaszból is létrehozható: vigye az egeret a szakasz neve fölé, kattintson a megjelenő (Beállítások) ikonra, majd válassza az Automatizálások lehetőséget. Ilyenkor az Indítás mező alapértéke Szakasz beállítva, de szükség esetén módosítható.

    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.

Indító

Az Indítás mező határozza meg, milyen eseménynek kell bekövetkeznie a szabály futásához. Az elérhető indítók a modelltől függenek. Összesen öt indítókategória létezik:

Feltételek hozzáadása

A tartományszűrőkkel meghatározhatja, mely rekordokra vonatkozzon a szabály, és melyekre ne. A hatékony szűrés javítja a teljesítményt, mert elkerüli a szabály által nem érintett rekordok felesleges feldolgozását.

Javaslat

A tartományszűrők legrugalmasabb megadásához aktiválja a fejlesztői módot, mielőtt automatizálási szabályt hoz létre.

A választott indítótól függően egy vagy több feltételt adhat meg, amelyeknek a rekordnak az indító esemény előtt és/vagy után meg kell felelnie.

  • A Tartomány frissítése előtt mező azokat a feltételeket határozza meg, amelyeknek a rekordnak az indító esemény előtt meg kell felelnie, pl. a rekordnál Típus = Vevői számla és Állapot = Könyvelt kell legyen.

    Aktivált fejlesztői módban kattintson a Tartomány szerkesztése gombra (ha elérhető), majd az Új szabály lehetőségre.

  • Az Extra feltételek, illetve egyes esetekben az Alkalmazás itt szűrők azokat a feltételeket határozzák meg, amelyeknek a rekordnak az indító esemény után meg kell felelnie, pl. a vevői számla Fizetési állapota = Részben fizetett kell legyen.

    Szükség esetén aktivált fejlesztői módban kattintson a Feltételek hozzáadása vagy a Tartomány szerkesztése gombra, majd az Új szabály lehetőségre.

Amikor egy indító esemény bekövetkezik (pl. egy könyvelt vevői számla fizetési állapota frissül), a szabály ellenőrzi a megadott feltételeket, és csak akkor hajtja végre a műveletet, ha a rekord megfelel nekik.

Example

Ha az automatikus műveletet akkor kell végrehajtani, amikor egy meglévő, magánszemély (nem vállalat) kapcsolatnál először adnak meg e-mail címet (és nem egy meglévő címet módosítanak), használja az Email is not set és Is a Company is not set feltételt a Tartomány frissítése előtt mezőben, és az Email is set feltételt az Alkalmazás itt tartományban.

screenshot: general-automation-rules-before-update-domain
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.

Megjegyzés

A Tartomány frissítése előtt feltételt a rendszer rekord létrehozásakor nem ellenőrzi.

Értékek frissítése

Automatikus műveletek indítása az adatbázisban bekövetkező adott változásokkor. Az ebbe a kategóriába tartozó indítók a modelltől függenek, és gyakori változásokon alapulnak, például egy adott címke hozzáadásán (pl. egy feladathoz) vagy egy mező értékének beállításán (pl. a Felhasználó mező kitöltésén).

Válassza ki az indítót, majd szükség esetén egy értéket.

E-mail események

Automatikus műveletek indítása e-mailek fogadásakor vagy küldésekor:

  • Bejövő üzenetkor: amikor a rekordra üzenet érkezik.

  • Kimenő üzenetkor: amikor a rekordról üzenetet küldenek.

Ezek az indítók csak csevegővel rendelkező modelleknél érhetők el.

Időzítési feltételek

Automatikus műveletek indítása egy dátummezőhöz, illetve egy rekord létrehozásához vagy frissítéséhez viszonyított időpontban. A következő indítók érhetők el:

  • Dátummező alapján: a művelet a kiválasztott dátummező dátuma előtt vagy után, meghatározott idővel indul.

  • Létrehozás után: a művelet egy rekord létrehozása és mentése után, meghatározott idővel indul.

  • Utolsó frissítés után: a művelet egy meglévő rekord szerkesztése és mentése után, meghatározott idővel indul.

Ezután megadhatja a következőket:

  • a Késés értékét: adja meg a percek, órák, napok vagy hónapok számát. Ha a műveletet az indító dátum előtt kell végrehajtani, adjon meg negatív számot. Ha a Dátummező alapján indítót választotta, azt a dátummezőt is ki kell választania, amelyhez a késést számítani kell.

    Megjegyzés

    Alapértelmezés szerint az ütemező 240 percenként (4 óránként) ellenőrzi az időzített automatizálási szabályokat. Ez a gyakoriság általában elegendő az olyan késleltetésekhez, mint a rendelés dátuma után 3 hónap vagy az utolsó frissítés után 7 nap.

    2400 percnél (40 óránál) rövidebb késleltetések esetén a rendszer újraszámolja az ellenőrzés gyakoriságát, hogy a finomabb késleltetések (pl. 1 órával az esemény kezdete előtt vagy 30 perccel a létrehozás után) a lehető legpontosabban teljesüljenek.

    Egy képernyőn megjelenő üzenet jelzi a szabály ütemezett indítása utáni lehetséges késést.

    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.

    Az ütemező gyakoriságának megtekintéséhez vagy kézi módosításához aktivált fejlesztői módban lépjen a Beállítások ‣ Technikai ‣ Ütemezett műveletek menüpontra, ahol az adatbázis összes ütemezett művelete látható.

    Írja be a keresősávba az Automation kifejezést, majd a találati listában kattintson az Automation Rules: check and execute elemre. Szükség esetén módosítsa a Futtatás minden mező értékét. A Futtatás manuálisan gombbal bármikor kézzel is elindíthatja ezt az ütemezett műveletet.

  • Extra feltételek: kattintson a Feltétel hozzáadása gombra, majd adja meg a szabály futásához szükséges feltételeket. További feltétel hozzáadásához kattintson az Új szabály lehetőségre.

A művelet a késleltetés leteltekor hajtódik végre, ha a feltételek teljesülnek.

Example

Ha egy naptáresemény kezdete előtt 30 perccel emlékeztető e-mailt szeretne küldeni, válassza a Kezdés (Naptári esemény) dátummezőt az Indítás mezőhöz, és állítsa a Késés értékét -30 Perc értékre.

screenshot: general-automation-rules-timing-trigger
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.

Egyéni

Automatikus műveletek indítása:

  • Mentéskor: amikor egy rekordot mentenek.

  • Törléskor: amikor egy rekordot törölnek.

  • Archiváláskor / Visszaállításkor: amikor egy rekordot archiválnak vagy visszaállítanak (archiválható modelleknél).

  • Felületi változáskor: amikor egy mező értéke az űrlapnézetben megváltozik, még a rekord mentése előtt.

A Mentéskor és a Felületi változáskor indítóknál kötelező kiválasztani a Frissítéskor mezőben azt a mezőt (vagy mezőket), amely a szabályt indítja.

Figyelem

Ha a Frissítéskor mezőben nincs kiválasztva mező, az automatikus művelet rekordonként többször is lefuthat.

Opcionálisan további feltételeket is megadhat a szabály indításához az Alkalmazás itt mezőben.

Example

Ha egy automatikus műveletet egy rekord létrehozásakor szeretne indítani (pl. új kapcsolat létrehozásakor), válassza a Mentéskor indítót, és használja az ID is not set feltételt a Tartomány frissítése előtt mezőben, valamint az ID is set feltételt az Alkalmazás itt tartományban. Ügyeljen rá, hogy a Frissítéskor mezőben a megfelelő mező legyen kiválasztva.

Új kapcsolat mentésekor a rekord automatikusan adatbázis-azonosítót kap, ez indítja el az automatizálási szabályt.

screenshot: general-automation-rules-on-save-creation
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.

Megjegyzés

A Felületi változáskor indító csak a Kód végrehajtása művelettel használható, és csak kézi módosításkor működik. A művelet nem fut le, ha a mezőt egy másik automatizálási szabály módosítja.

Külső

Automatikus műveletek indítása egy külső rendszerben vagy alkalmazásban bekövetkező esemény alapján, webhook segítségével.

Miután a webhookot beállította az Odoo-ban (ahol a webhook URL-je létrejön és a célrekord meg van határozva), azt a külső rendszerben is be kell állítani.

Figyelem

Erősen ajánlott fejlesztővel, megoldástervezővel vagy más műszaki szakemberrel egyeztetni a webhookok használatáról és a bevezetés teljes folyamata során. Hibás beállítás esetén a webhookok megzavarhatják az Odoo adatbázis működését, és a visszaállítás időigényes lehet.

screenshot: general-automation-rules-webhook-trigger
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.

Megjegyzés

Olyan automatikus művelet is beállítható, amely az Odoo adatbázisban bekövetkező eseménykor adatokat küld egy külső rendszer webhookjára.

Műveletek

Az automatizálási szabály indítójának megadása után a végrehajtandó művelet meghatározásához kattintson a Végrehajtandó műveletek fülön a Művelet hozzáadása gombra.

Javaslat

Egy automatizálási szabályhoz több művelet is megadható. A műveletek alapértelmezés szerint a megadásuk sorrendjében futnak le.

Ez azt jelenti például, hogy ha előbb egy Rekord frissítése, majd egy E-mail küldése műveletet ad meg, és az e-mail a frissített mezőre hivatkozik, az e-mail már a frissített értékeket használja. Ha azonban az E-mail küldése művelet megelőzi a Rekord frissítése műveletet, az e-mail a rekord frissítése előtti értékeket tartalmazza.

A műveletek sorrendjének módosításához fogja meg a művelet melletti (fogantyú) ikont, és húzza a kívánt helyre.

Rekord frissítése

Ez a művelet a rekord egyik (kapcsolódó) mezőjét frissíti. Kattintson a Frissítés mezőre, és a megnyíló listában válassza ki vagy keresse meg a frissítendő mezőt. Szükség esetén a mező neve melletti (jobbra nyíl) ikonnal érheti el a kapcsolódó mezők listáját.

Many2many mező kiválasztása esetén adja meg, hogy a mezőt a kiválasztott érték hozzáadásával, eltávolításával, erre állításával vagy a mező törlésével kell-e frissíteni.

Example

Ha az automatikus műveletnek egy címkét kell eltávolítania az ügyfél rekordjáról, állítsa a Frissítés mezőt Customer > Tags értékre, válassza a by Removing lehetőséget, majd a címkét.

screenshot: general-automation-rules-update-record-tags
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.

Javaslat

A rekord egy mezője Python kóddal dinamikusan is beállítható. Ehhez a Frissítés helyett válassza a Kiszámítás lehetőséget, majd adja meg a mező értékét kiszámító kódot. Ha például azt szeretné, hogy a szabály kiszámítson egy egyedi dátum-idő mezőt, amikor egy feladat prioritása High értékre változik (a feladat csillagozásával), állítsa be a Prioritás beállítva indítót High értékkel, és a Rekord frissítése műveletet az alábbiak szerint:

screenshot: general-automation-rules-update-record-compute
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.

Tevékenység létrehozása

Ez a művelet a rekordhoz kapcsolódó új tevékenységet ütemez. Válasszon Tevékenység típus értéket, adjon meg Cím értéket és leírást, az Esedékes mezőben adja meg, mikorra ütemezze a tevékenységet, és válasszon Felhasználó típus értéket:

  • Ha a tevékenységet mindig ugyanahhoz a felhasználóhoz szeretné rendelni, válassza a Megadott felhasználó lehetőséget, és adja meg a felhasználót a Felelős mezőben;

  • Ha a tevékenységet dinamikusan, a rekordhoz kapcsolódó felhasználóhoz szeretné rendelni, válassza a Dinamikus felhasználó (rekord alapján) lehetőséget, és szükség esetén módosítsa a Felhasználó mező értékét.

Example

Azt szeretné, hogy miután egy érdeklődőből lehetőség lesz, az automatikus művelet hívást ütemezzen az érdeklődőért felelős felhasználónak. Ehhez állítsa a Tevékenység típus mezőt Hívás értékre, a Felhasználó típus mezőt pedig Dinamikus felhasználó (rekord alapján) értékre.

screenshot: general-automation-rules-create-activity
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.

E-mail küldése és SMS küldése

Ezekkel a műveletekkel e-mail vagy szöveges üzenet küldhető egy adott rekordhoz kapcsolódó kapcsolatnak. Ehhez válasszon ki vagy hozzon létre egy E-mail sablon vagy SMS sablon rekordot, majd az E-mail küldése mint vagy az SMS küldése mint mezőben adja meg, hogyan kerüljön elküldésre az e-mail vagy a szöveges üzenet:

  • Email: az üzenet e-mailként megy az E-mail sablon címzettjeinek.

  • Üzenet: az üzenet megjelenik a rekordon, és a rekord követői értesítést kapnak.

  • Megjegyzés: az üzenet belső megjegyzésként jelenik meg a csevegőben, csak a belső felhasználók számára.

  • SMS (megjegyzés nélkül): az üzenet szöveges üzenetként megy az SMS sablon címzettjeinek.

  • SMS (megjegyzéssel): az üzenet szöveges üzenetként megy az SMS sablon címzettjeinek, és belső megjegyzésként is megjelenik a csevegőben.

  • Csak megjegyzés: az üzenet csak belső megjegyzésként jelenik meg a csevegőben.

Követők hozzáadása és követők eltávolítása

Ezzel a művelettel meglévő kapcsolatok iratkoztathatók fel a rekordra, illetve iratkoztathatók le róla.

Rekord létrehozása

Ezzel a művelettel bármely modellben új rekord hozható létre.

Válassza ki a kívánt modellt a Létrehozandó rekord mezőben; alapértelmezés szerint ez az aktuális modell. Adjon Név értéket a rekordnak, majd ha a rekordot másik modellben hozza létre, válasszon mezőt a Hivatkozás mező mezőben, amely összekapcsolja az új rekordot azzal a rekorddal, amely a létrehozását kiváltotta.

Megjegyzés

A Hivatkozás mező legördülő listája csak az aktuális modell azon one2many mezőit tartalmazza, amelyek a célmodell egy many2one mezőjéhez kapcsolódnak.

Javaslat

Szükség esetén egy másik automatizálási szabállyal, Rekord frissítése műveletekkel frissítheti az új rekord mezőit. Például egy Rekord létrehozása művelettel új projektfeladatot hozhat létre, majd egy Rekord frissítése művelettel egy adott felhasználóhoz rendelheti.

Kód végrehajtása

Fontos

Az egyedi kód az automatizálási szabály jogosultságaival fut, és a szokásos verziófrissítések nem gondoskodnak róla. Az írását és karbantartását bízza fejlesztőre.

Ez a művelet Python kódot hajt végre. A kódot a Kód fülön írhatja meg az alábbi változók használatával:

  • env: a környezet, amelyben a művelet indul

  • model: annak a rekordnak a modellje, amelyen a művelet indul; üres rekordhalmaz

  • record: a rekord, amelyen a művelet indul; lehet üres

  • records: több rekordos módban az összes érintett rekord halmaza; üres is lehet

  • time, datetime, dateutil, timezone: hasznos Python könyvtárak

  • float_compare: segédfüggvény lebegőpontos számok adott pontosságú összehasonlításához

  • log(message, level='info'): naplózó függvény hibakeresési információk ir.logging táblába írásához

  • _logger.info(message): naplózó a szervernaplóba írt üzenetekhez

  • UserError: kivételosztály a felhasználónak megjelenő figyelmeztető üzenetekhez

  • Command: x2many parancsok névtere

  • action = {...}: művelet visszaadásához

Javaslat

Az elérhető változók leírása a Kód és a Súgó fülön is megtalálható.

Webhook értesítés küldése

Ez a művelet POST API kérést küld a kiválasztott Mezők értékeivel a Webcím mezőben megadott webhook URL-re.

A Minta adatcsomag előnézetet mutat a kérésben küldött adatokról egy véletlenszerű rekord adataival, illetve próbaadatokkal, ha nincs elérhető rekord.

Megjegyzés

Olyan automatikus művelet is beállítható, amely webhook segítségével adatokat fogad egy külső rendszerből, amikor abban egy előre meghatározott esemény bekövetkezik.

Meglévő műveletek végrehajtása

Ezzel a művelettel egyszerre több (az aktuális modellhez kapcsolódó) művelet indítható. Ehhez kattintson az Új sor gombra, majd a Hozzáadás: Gyermek műveletek ablakban válasszon ki egy meglévő műveletet, vagy kattintson az Új gombra egy új létrehozásához.