Ugrás a fő tartalomra

AppSheet példák

 


Í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)
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
Bot felépítése – "Rendelés számlázva"
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"
Fontos tippek ehhez a folyamathoz
  • 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
2. Lejárt feladat emlékeztető (napi ellenőrzés)Táblastruktúra
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
Bot – "Napi lejárt feladat emlékeztető"
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()
Variációk
  • 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)
3. Készletfigyelés – alacsony készletnél értesítésTáblastruktúra
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)
Bot – "Alacsony készlet riasztás"
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()
Összefoglaló tanácsok – ami a legtöbb hibát okozza ezeknél
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