Íme három konkrét, részletes példa a kért témákban, ahogy 2025 végén tipikusan megvalósítják őket AppSheet-ben (legjobb gyakorlatok szerint).
Mindegyik Bot-alapú megoldás, mert ezek háttérben futó automatizálások.1. Rendelés → Számla PDF generálás → Email kiküldésTáblastruktúra (minimális példa)
Bot felépítése – "Rendelés számlázva"Fontos tippek ehhez a folyamathoz
Bot – "Napi lejárt feladat emlékeztető"Variációk
Bot – "Alacsony készlet riasztás"Összefoglaló tanácsok – ami a legtöbb hibát okozza ezeknél
Mindegyik Bot-alapú megoldás, mert ezek háttérben futó automatizálások.1. Rendelés → Számla PDF generálás → Email kiküldésTáblastruktúra (minimális példa)
Tábla | Fontos oszlopok | Megjegyzés |
|---|---|---|
Rendelés | ID (Key), ÜgyfélID, Dátum, Státusz, Összeg | Státusz: "Új" → "Kész számlázásra" |
Rendelés_tétel | RendelésID (Ref), Termék, Mennyiség, Ár | Gyermek tábla |
Számlák | SzámlaSzám (Key), RendelésID (Ref), PDF_link | Ide kerül a generált fájl |
Ügyfelek | ID, Név, Email |
Event
├── Type: Data change
├── Table: Rendelés
├── Change type: Updates only
└── Condition: [Státusz] = "Kész számlázásra" AND [SzámlaID] ISBLANK()
Process (sorrend nagyon fontos!)
1. Task: Create a document from template
├── Template típusa: Google Docs sablon vagy AppSheet Template
├── Forrás tábla: Rendelés
├── Template fájl: "Szamla_Sablon_v3.docx" (Google Drive-ban)
├── Kimeneti fájl név: CONCATENATE("SZAMLA_", [SzámlaSzám], ".pdf")
├── Kimeneti mappa: /Szamlak/2025/
└── Eredmény oszlop: [PDF_link] ← ide írja a Drive linket
2. Task: Add a new row to another table
├── Cél tábla: Számlák
├── Beállítások:
[RendelésID] ← [_THISROW].[ID]
[SzámlaSzám] ← CONCATENATE("SZ-", YEAR(TODAY()), "-", UNIQUEID())
[PDF_link] ← az előző task eredménye
[Készült] ← NOW()
3. Task: Send an email
├── To: LOOKUP([ÜgyfélID], Ügyfelek, ID, [Email])
├── Subject: "Számlád elkészült – " & [SzámlaSzám]
├── Body (HTML):
<p>Kedves [Ügyfél neve]!</p>
<p>Csatoltan találod a(z) [SzámlaSzám] számú számlát.</p>
<p>Összeg: <b>[Összeg] Ft</b></p>
<p>Köszönjük a bizalmat!</p>
├── Attachments: [PDF_link] (az előzőleg létrehozott fájl)
└── Reply-To: ceg@domain.hu
4. (opcionális) Task: Run a data action
├── Update this row (Rendelés)
└── [Státusz] ← "Számlázva"- A Google Docs sablonban használj <<[Oszlopnév]>> jelölést + táblázatot a tétel-listához: <<Select(Rendelés_tétel[RendelésID]=[_THISROW].[ID])>>
- Nagyobb rendszereknél a PDF generálást külön "Számlagenerálás" nevű reusable task-ként érdemes menteni
- Tesztelésnél mindig először csak az első task-et futtasd, utána nézd meg Audit history-ban
Oszlop | Típus | Példa érték |
|---|---|---|
FeladatID | Key | |
Határidő | Date | 2025-12-28 |
Státusz | Enum | Új, Folyamatban, Kész, Késésben |
Utolsó_emlékeztető | DateTime | 2025-12-29 08:15:00 |
Felelős_Email | Email |
Event
├── Type: Schedule
├── Frequency: Daily
├── Time: 07:45
└── (nincs feltétel az event szintjén)
Process
1. Task: Run a data action → Execute action on a set of rows
├── Forrás tábla: Feladatok
├── Action: "Frissítés – Késésben jelölés"
├── Only if / Filter: AND(
[Határidő] < TODAY(),
[Státusz] <> "Kész",
OR(
ISBLANK([Utolsó_emlékeztető]),
[Utolsó_emlékeztető] < TODAY() - 2
)
)
2. Task: Send an email (ez fut minden egyes késésben lévő sorra!)
├── To: [Felelős_Email]
├── CC: vezeto@ceg.hu (opcionális)
├── Subject: "LEJÁRT FELADAT figyelmeztetés – "&[Feladat neve]
├── Body:
<h3>Lejárt feladat!</h3>
<p>Határidő: <b>[Határidő]</b></p>
<p>Státusz jelenleg: [Státusz]</p>
<p>Kérlek mielőbb foglalkozz vele!</p>
3. Task: Update this row (ugyanaz a sor)
└── [Utolsó_emlékeztető] ← NOW()- Heti összesítő helyett napi → napi 1 email / felelős (group by + concat)
- Nagyobb rendszernél → "Emlékeztető szint" oszlop (1., 2., 3. figyelmeztetés)
Termék tábla oszlopok | Típus | Megjegyzés |
|---|---|---|
TermekID | Key | |
Név | Text | |
Minimális_készlet | Number | 10 db |
Aktuális_készlet | Number | 7 db → trigger! |
Utolsó_riasztás | DateTime | Ne spam-eljünk |
Beszerzési_Email | Email | beszerzes@ceg.hu (mailto:beszerzes@ceg.hu) |
Event
├── Data change
├── Table: Termékek
├── Change type: Updates only
└── Condition: AND(
[Aktuális_készlet] <= [Minimális_készlet],
OR(
ISBLANK([Utolsó_riasztás]),
[Utolsó_riasztás] < NOW() - (24*60*60) // 24 óra
)
)
Process – nagyon egyszerű
1. Send an email task
├── To: [Beszerzési_Email] + esetleg manager@...
├── Subject: "ALACSONY KÉSZLET: " & [Név]
├── Body (HTML):
<h2>Figyelem – rendelni kell!</h2>
<p>Termék: <b>[Név]</b></p>
<p>Jelenlegi készlet: <b>[Aktuális_készlet]</b> db</p>
<p>Minimum szint: <b>[Minimális_készlet]</b> db</p>
2. Update this row
└── [Utolsó_riasztás] ← NOW()Probléma | Megoldás / Legjobb gyakorlat |
|---|---|
Bot többször lefut egy nap | Mindig tegyél idő- vagy állapot alapú védelmet |
Email spam | Utolsó_riasztás + 24-48 óra késleltetés |
Nagy adathalmaznál timeout | Schedule bot + execute on set of rows helyett |
Nem indul a bot | Ellenőrizd: Deploy-olt app? Security filter bypass? |
Rossz címzettek | Teszt email-t először saját magadnak küldd (audit history) |
PDF sablon nem frissül | Google Docs-ban "Publish to web" helyett AppSheet template |
Megjegyzések
Megjegyzés küldése