Tema 8 · Konceptas ir trigeriai

Automatizavimo konceptas: elementai ir trigeriai

Pradedu nuo sutarties: trigeris, sąlygos ir veiksmai, plius auditas ir ribos.

Čia — tiltas tarp API ir JSON sutarties (Tema 7, Tema 6) ir realaus verslo elgesio: tą patį elgesį išbandykite per 24 praktikos scenarijus (VS01–VS24) — kiekvienas su kontekstu ir dažnai su kodo fragmentu.

Elementai (santrauka)

Elementas Aprašymas
Metaduomenys Pavadinimas, kodas, įmonė, savininkas, pranešimai apie klaidas, isSystem ir kt.
Trigeriai Įvykis, laikas (CRON), webhook, UI, rankinis paleidimas.
Scenarijus JavaScript: sąlygos, RQL, išoriniai šaltiniai, kvietimai į API.
Veiksmai Sisteminės mutacijos (el. laiškai, įrašai, ataskaitos, išoriniai API…).
Auditas Vykdymo istorija, trukmė, rezultatas, kontekstas.

Trigerių tipai

Tipas Pavyzdžiai
Įvykio Sukurtas dokumentas, patvirtintas pirkimas, atsargų judėjimas.
Suplanuotas Kasdien / savaitę / mėnesį — ataskaitos, priminimai.
Webhook Išorinė sistema (e‑komercija → užsakymo būsena).
UI Mygtukas, forma, lauko pasikeitimas; gali reikalauti patvirtinimo.
Rankinis „Papildomi veiksmai“ formoje — turi būti realūs UI kontekstai.

Įmonės apimtis

Taisyklė gali būti konkrečiai įmonei arba globali. Jei įvykis be griežtos įmonės — kviečiami visi atitinkantys automatizavimai; scenarijus pats turi žinoti, kaip elgtis. Dažna klaidų zona diegiant.

Techninis pavyzdys: rankinio trigerio parametrai

Rankiniam paleidimui gali būti modalas su laukais (kaip ataskaitose) prieš vykdymą — parametrai patenka į scenarijaus kontekstą.

// Kontekste dažnai: įvykio objektas, įmonė, organizacija,
// naudotojas, inicijuotojas (kas paleidė)

Praktika: trigeriai trijuose repo skriptuose (JSON eksportai)

Eksportuotame apibrėžime trigerį ir vietą atpažinsite pagal triggerTypeId, placeId ir (suplanuotam) cronExpression. Atverkite pilną failą IDE — žemiau tiesioginės nuorodos ir santraukos.

  • Rankinis / kontekstinis iš sąrašo: aa260126 triggerTypeId: 0, placeId: inventory-adjustments-list, forma su departmentIn (paramsFormSchema).
  • Rankinis su failo lauku: c-001 triggerTypeId: 0, placeId: clients-list, FILEUPLOAD bloke fieldName: fileName.
  • Suplanuotas (CRON): SS-OCR-READ-EMAIL triggerTypeId: 2 ir cronExpression (žr. ištrauką žemiau).
JSON ištrauka: suplanuoto paleidimo laukai (`SS-OCR-READ-EMAIL`)
"triggerTypeId": 2,
"cronExpression": "0 0 6-22 ? * MON-FRI"

Pilnas scenarijaus tekstas ir vertimų helperiai — to paties failo scriptContent lauke.

Teorijos santrauka

  • Automatizavimas = metaduomenys + trigeriai + scenarijus + veiksmai + auditas.
  • Trigeriai skiriasi pagal šaltinį (įvykis, laikas, webhook, UI, rankinis).
  • Įmonės apimtis lemia, kurie scenarijai gali būti paleisti — diegimo rizika.

Praktika salėje

Vienas trigeris iš kliento aplinkos: lentelėje įvardykite tipą, šaltinį ir vieną galimą klaidą dėl įmonės apimties.

Savarankiškas darbas

  1. Du realūs (ar hipotetiniai) trigeriai: tipas + rizika (įmonė / globalumas / UI kontekstas).
  2. Be kodo: kada rinktumėte rankinį paleidimą vietoj įvykio — vienas sakinys argumento.