Ugrás a fő tartalomra

AppSheet alatt Vérnyomás napló funkciók megvalósítása

 AppSheet alatt Vérnyomás napló funkciók megvalósítása













Az AppSheet -ben  sokkal gyorsabban, kódolás nélkül (No-Code) tudsz mobilalkalmazást készíteni, ami azonnal működik Androidon és iPhone-on is, ráadásul az adatokat egy egyszerű Google Táblázatban (vagy Excelben) tárolja a felhőben.


Egy mintán megyünk végig lépésről lépésre és megnézzük, hogyan építsünk meg a Vérnyomás Naplót AppSheet-ben:

1. Az Adatbázis Előkészítése (Google Sheets)

Az AppSheet lelke az adatforrás. Mivel az AppSheet a Google terméke, a Google Sheets (Táblázatok) a legjobb alap.

  1. Nyiss meg egy új Google Táblázatot (sheets.new).

  2. Nevezd el: Vérnyomás_Adatbázis.

  3. Hozz létre két munkalapot (fület) lent:

    • 1. fül neve: Meresek

    • 2. fül neve: Felhasználók (ha többen használnátok, de egyedüli használatra ez nem is feltétlen kell, most egyszerűsítsünk egyelőre egy személyre).

  4. A Meresek fülön az első sorba írd be az oszlopneveket (fejléc):

    • ID (Egyedi azonosító)

    • Idopont (Mikor mérted)

    • SYS (Szisztolés)

    • DIA (Diasztolés)

    • Pulzus

    • Kar (Bal/Jobb)

    • Pozicio (Ülve/Állva)

    • Inzulin

    • Fajdalom (0-10)

    • Etel

    • Megjegyzes


2. Az AppSheet Létrehozása

  1. Maradj a Google Táblázatban.

  2. A felső menüben kattints a Bővítmények (Extensions) -> AppSheet -> Create an App gombra.

  3. Az AppSheet betöltődik, és automatikusan felismeri az adataidat.

  4. Látni fogsz egy mobil előnézetet a jobb oldalon.


3. Az Adatok Beállítása (Data fül)

Ez a legfontosabb rész, itt mondjuk meg az AppSheet-nek, hogy melyik oszlop micsoda.

  1. A bal oldali menüben kattints a Data ikonra (adatbázis ikon).

  2. Kattints a Meresek táblára.

  3. Állítsd be az oszlopok típusait (Column Type):

    • ID: Uniqueid (Ez automatikusan generál egy kódot). Pipáld be a Key opciót (ez a kulcs). A "Initial Value" mezőbe írd be: UNIQUEID().

    • Idopont: DateTime. A "Initial Value"-hoz írd be: NOW(). Így automatikusan kitölti a mostani időt.

    • SYS, DIA, Pulzus: Number.

    • Kar: Enum. Az "Values" résznél add hozzá: Bal, Jobb.

    • Pozicio: Enum. Értékek: Ülve, Állva, Fekve. Válassz mellé ikonokat is, ha akarsz!

    • Inzulin: Decimal (hogy lehessen tizedesjegy, pl. 12.5).

    • Fajdalom: Number. A beállításoknál állítsd be a Minimum: 0 és Maximum: 10 értékeket, és a "Show as" résznél válaszd a Range-et (ez lesz a csúszka!).

    • Etel, Megjegyzes: Text vagy LongText.


4. A Megjelenés Beállítása (UX fül)

Most csinosítsuk ki a felületet.

  1. Kattints a bal menüben az UX ikonra (képernyő).

  2. Hozz létre egy új nézetet (New View) vagy szerkeszd a meglévőt.

  3. View type: Válaszd a Deck vagy Table nézetet. A Deck nagyon szép kártyákat csinál.

  4. Sort by: Idopont, Descending (hogy a legfrissebb legyen felül).

  5. Group by: Csoportosíthatod Idopont (Date) szerint, így napokra bontva látod a méréseket.

  6. Primary Header: SYS (vagy csinálhatsz egy Virtuális Oszlopot, ami összefűzi a SYS/DIA-t).

  7. Secondary Header: Pulzus.


5. Feltételes Formázás (A színek)

Hogy piros legyen, ha magas a vérnyomás:

  1. Menj az UX -> Format Rules fülre.

  2. New Format Rule.

  3. Condition (Feltétel): [SYS] >= 140

  4. Format these columns and actions: Válaszd ki a SYS oszlopot.

  5. Highlight color: Válaszd a Pirosat.

  6. Csinálj egy másikat a DIA >= 90-re is.


6. Grafikon (Dashboard)

  1. Menj az UX fülre.

  2. Hozz létre egy új nézetet: Vérnyomás Grafikon.

  3. View type: Chart.

  4. Chart type: Col Series (vonaldiagram szerű).

  5. Chart columns: Válaszd ki a SYS és DIA oszlopokat.


7. Tesztelés és Telepítés

  1. A jobb oldali előnézetben próbáld ki: vigyél fel egy új adatot.

  2. Nézd meg a Google Táblázatot: látni fogod, hogy azonnal megjelent benne az adat!

  3. Ha kész vagy, kattints a jobb felső sarokban a Share gombra, és írd be az email címedet (vagy a családtagomét).

  4. A telefonodon töltsd le az AppSheet alkalmazást a boltból (Play Store / App Store).

  5. Jelentkezz be a Google fiókoddal.

  6. Ott lesz a saját "Vérnyomás Napló" alkalmazásod!


Miért jobb ez, mint például a PHP-s web alkalmazás?

  • Offline is működik: Ha nincs net, akkor is rögzíthetsz, és amint lesz wifi, szinkronizálja a táblázatba.

  • Ingyenes: Személyes használatra (max 10 felhasználóig) teljesen ingyenes.

  • Biztonságos: A Google védi a fiókodat.




Felhasználó és jogkör kezelés


Az AppSheet-ben a felhasználókezelés kicsit másképp működik, mint például a PHP-ben. Itt nem neked kell jelszókezelő rendszert írnod, mert az AppSheet a Google-fiókot (vagy Microsoft/Apple fiókot) használja a belépéshez. Ez sokkal biztonságosabb.

Így tudod beállítani, hogy több felhasználó is használhassa az appot, de mindenki csak a saját adatait lássa:

1. A táblázat előkészítése

A Meresek fülhöz a Google Táblázatban adj hozzá egy új oszlopot:

  • Oszlop neve: UserEmail

  • (Ezt az oszlopot az AppSheet-ben állítsd Email típusúra).

2. Automatikus kitöltés

Szeretnénk, ha az app magától tudná, ki rögzíti az adatot:

  1. Az AppSheet-ben menj a Data -> Meresek oszlopaihoz.

  2. Keresd meg a UserEmail oszlopot.

  3. Az Initial Value (Kezdeti érték) mezőbe írd be ezt a formulát: USEREMAIL()

  4. Az Editable? pipát vedd ki, hogy a felhasználó ne tudja átírni máséra.

3. Biztonsági szűrés (Hogy mindenki csak a sajátját lássa)

Ez a legfontosabb lépés. Ezt hívják Security Filter-nek:

  1. Menj a Data -> Meresek táblához.

  2. Keresd meg a Security fület (vagy kattints a tábla beállításainál a Security Filter részre).

  3. Írd be ezt a kifejezést: [UserEmail] = USEREMAIL()

  4. Mentés (Save).

Eredmény: Amikor "pisti@gmail.com" belép, az AppSheet kiszűri a táblázatból az összes olyan sort, ahol nem az ő email címe szerepel. Így hiába van egy közös Google Táblázatod, a felhasználók nem látják egymás vérnyomásadatait.

4. Felhasználók hozzáadása (Megosztás)

Mivel ez egy privát app, nem találják meg az alkalmazásboltban kereséssel. Neked kell "meghívnod" őket:

  1. Kattints a jobb felső sarokban a Share (Megosztás) ikonra.

  2. Írd be azoknak az email címét, akiknek engedélyezni akarod a használatot.

  3. Válaszd az "User can use the app" opciót.

  4. Küldd el a meghívót. Ők kapnak egy linket, amin keresztül telepíthetik az appot.


5. Adminisztrátor szerepkör (Haladóknak)

Ha szeretnéd, hogy te (mint admin) mindenki adatát lásd, a többi felhasználó viszont csak a sajátját, a Security Filtert így módosítsd: OR(USEREMAIL() = "sajat_emailed@gmail.com", [UserEmail] = USEREMAIL())



Alkalmazás felület profilozás és optimalizáció 



Az AppSheet-ben a Profil oldal (vagy Felhasználói beállítások) létrehozása azért nagyszerű, mert így nemcsak a méréseket látod, hanem személyre szabottá teheted az appot. Például eltárolhatod a születési évet, az alapbetegségeket vagy a gyógyszereket, amiket szedsz.

Ehhez két dologra lesz szükséged: egy új munkalapra a Google Táblázatban és egy speciális nézetre az AppSheet-ben.

1. Lépés: Új táblázat létrehozása

Adj hozzá egy új fület a Google Táblázatodhoz Profilok néven, az alábbi oszlopokkal:

  • Email (Ez lesz a kulcs/azonosító)

  • Név

  • Születési év

  • Alapbetegségek (pl. Diabétesz, Hipertónia)

  • Szedett gyógyszerek

  • Profilkép

2. Lépés: Adatok betöltése és beállítása

  1. Az AppSheet-ben menj a Data fülre, és add hozzá a Profilok táblát is (Add Table).

  2. Állítsd be az oszlopok típusait:

    • Email: Email típus, és jelöld be a Key (kulcs) opciót. Initial value: USEREMAIL().

    • Születési év: Number.

    • Profilkép: Image.

    • Alapbetegségek: Használhatod az EnumList típust, ha több opciót is engedélyezni akarsz (pl. "Magas vérnyomás", "Cukorbetegség").

3. Lépés: A Profil oldal megjelenítése (UX)

Szeretnénk, ha a profil oldal különlegesen nézne ki, és mindenki csak a sajátját látná.

  1. Biztonsági szűrő: A Profilok táblához is add hozzá a Security Filtert: [Email] = USEREMAIL().

  2. Nézet létrehozása: Menj az UX -> Views -> New View gombra.

    • View name: Én Profilom

    • For this data: Profilok

    • View type: Detail (Ez a legjobb egyetlen profil megjelenítéséhez).

  3. Menu/Main: Válaszd a menu pozíciót, így a profil az oldalmenübe (három csík) kerül, nem zavarja a mérések listáját.

4. Lépés: Automatikus profil létrehozás (Haladó trükk)

Probléma lehet, hogy ha egy új ember belép, a Profilok táblája üres, és nem lát semmit. Ezt így orvosolhatod:

  1. Menj az UX -> Views menübe.

  2. A mérések nézetnél (ahol a listát látod) állítsd be a Display -> Show if mezőbe ezt: ISNOTBLANK(SELECT(Profilok[Email], [Email] = USEREMAIL()))

  3. Hozz létre egy másik nézetet (Form típusút), ami csak akkor jelenik meg, ha a profil üres: ISBLANK(SELECT(Profilok[Email], [Email] = USEREMAIL()))

Eredmény: Ha egy új felhasználó először nyitja meg az appot, a rendszer kényszeríti, hogy töltse ki a profilját, mielőtt elkezdene mérni.

Miért jó a Profil oldal?

  • Személyre szabott értesítések: Beállíthatod, hogy ha a profilban be van jelölve a "Cukorbetegség", akkor az app mindig kérdezzen rá az inzulinra, de ha nincs, akkor rejtse el azt a mezőt.

  • Orvosi adatok: Az exportálásnál (CSV) a profiladatokat is a fejlécbe teheted, így az orvos rögtön látja, kié a lelet és mik az alapadatai.




Lehet olyan szabályt is beállítani, ami elrejti vagy megjeleníti az Inzulin mezőt a profilodban megadott betegség alapján.

Szükséges funkciót  Dynamic Column Visibility-nek hívják. A lényege, hogy a kezelőfelület ne legyen zsúfolt: egy egészséges felhasználónak ne jelenjen meg az Inzulin mező, de egy cukorbetegnek igen.


1. Profil ellenőrzése (A háttérben)

Feltételezzük, hogy a Profilok tábládban van egy Alapbetegségek nevű oszlop (Enum vagy EnumList típusú), amiben kiválasztható a "Cukorbetegség".


2. Az Inzulin mező elrejtése/megjelenítése

  1. Menj az AppSheet-ben a Data -> Columns menübe.

  2. Válaszd ki a Meresek táblát.

  3. Keresd meg az Inzulin oszlopot, és kattints mellette a ceruza ikonra (Szerkesztés).

  4. Keresd meg a Show? mezőt. Ne a pipát kattintsd, hanem a mellette lévő kis lombik (Formula) ikont.

  5. Írd be az alábbi formulát:

Kódrészlet
IN("Cukorbetegség", LOOKUP(USEREMAIL(), "Profilok", "Email", "Alapbetegségek"))


Mit jelent ez a képlet?

  • LOOKUP(...): Megkeresi az aktuális felhasználót (USEREMAIL()) a Profilok táblában, és visszaadja, mi van beírva neki az Alapbetegségek oszlopba.

  • IN(...): Megnézi, hogy a talált listában szerepel-e a "Cukorbetegség" szó.

  • Ha igen, a mező látható lesz (TRUE), ha nem, akkor teljesen eltűnik (FALSE).


3. Hasonló szabály a Fájdalom szinthez

Ugyanezt megteheted bármelyik mezővel. Ha például csak akkor akarod látni a Fajdalom csúszkát, ha a profilban be van jelölve a "Krónikus fájdalom" vagy "Ízületi gyulladás", akkor a formula:

Kódrészlet
OR(
  IN("Krónikus fájdalom", LOOKUP(USEREMAIL(), "Profilok", "Email", "Alapbetegségek")),
  IN("Ízületi gyulladás", LOOKUP(USEREMAIL(), "Profilok", "Email", "Alapbetegségek"))
)

Miért profi ez a megoldás?

  • Személyre szabott: Minden felhasználó csak azt látja, ami rá vonatkozik.

  • Gyorsabb adatbevitel: Kevesebb mezőt kell átugrani mentés előtt.

  • Tisztább adatbázis: Nem lesznek véletlenül kitöltött, felesleges adatok.




Időzített jelentés küldés


Az AppSheet Automation (automatizálás) funkciója az egyik legerősebb eszköz, mert felszabadít az alól, hogy manuálisan kelljen riportokat gyártanod. Egy "Bot" figyelni tudja az időt vagy az eseményeket, és automatikusan elküldi az összefoglalót.

Íme, hogyan állíts be egy Bot-ot, ami minden hétfőn reggel 8-kor elküldi neked az elmúlt hét méréseit PDF-ben:

1. Lépés: A Bot létrehozása

  1. Az AppSheet bal oldali menüjében kattints az Automation (robot ikon) fülre.

  2. Kattints a Create a new Bot gombra.

  3. Adj neki nevet: Heti Riport Küldő.

2. Lépés: Az esemény (Event) beállítása

A Botnak tudnia kell, mikor lépjen működésbe.

  1. Kattints a Configure event részre.

  2. Event Type: Válaszd a Scheduled (Időzített) opciót.

  3. Schedule: - Frequency: Weekly

    • Day of week: Monday

    • Time: 08:00

  4. For each row in table? – Ezt hagyd kikapcsolva (OFF), mert nem minden sorról külön, hanem egy összesített táblázatról akarunk jelentést.

3. Lépés: A folyamat (Process) és a lépés (Step)

  1. Kattints az Add a step gombra.

  2. Válaszd a Run a task opciót.

  3. Task Category: Send an email.

  4. Table name: Meresek.

4. Lépés: Az Email és a PDF testreszabása

Most állítjuk be, kinek menjen és mi legyen benne:

  1. To: Ide írd be a saját emailedet, vagy használd a USEREMAIL() függvényt.

  2. Email Subject: Heti Vérnyomás Jelentés - <<NOW()>>

  3. Email Content: "Kedves Felhasználó! Mellékelten küldjük az elmúlt hét mérési adatait."

  4. Attachment Content Type: Válaszd a PDF-et.

  5. Template: Kattints a Create gombra.

    • Ekkor az AppSheet létrehoz egy Google Dokumentumot a Drive-odban. Ez a sablon határozza meg, hogy nézzen ki a PDF.

5. Lépés: A PDF sablon szerkesztése (Google Docs)

Nyisd meg a frissen generált Google Dokumentumot. Itt látsz majd ilyeneket: <<[SYS]>>, <<[DIA]>>.

  • Ezt úgy szerkesztheted, mint egy sima Word dokumentumot.

  • Tehetsz bele logót, táblázatot.

  • Ahhoz, hogy csak az elmúlt 7 nap adatai legyenek benne, egy <<Start: SELECT(...)>> kifejezést kell használnod a sablonban. Például: <<Start: SELECT(Meresek[ID], [Idopont] >= TODAY() - 7)>> ...(itt a táblázat sorai)... <<End>>

6. Lépés: Mentés és Tesztelés

  1. Kattints a Save gombra az AppSheet-ben (jobb fent).

  2. A Bot fülön kattints a Test gombra.

    • Ez lefuttatja a folyamatot, és azonnal küld neked egy minta emailt a PDF-fel, hogy lásd, minden jól néz-e ki.


Pro tipp: Azonnali riasztás (Alert)

Beállíthatsz egy másik Botot is, ami nem időzített, hanem Data Change típusú.

  • Feltétel: [SYS] >= 160

  • Action: Send a notification

  • Eredmény: Ha beírsz egy nagyon magas értéket, a telefonod azonnal csipog egy figyelmeztetéssel, vagy küld egy sürgős emailt a megadott hozzátartozónak/orvosnak.




Milyen hiba lehet és mi történik pontosan?

Mivel az alkalmazásod még "Prototype" (prototípus) módban van (nincs "Deploy"-olva, azaz hivatalosan élesítve), az AppSheet biztonsági szabályzata szerint:

  1. Csak neked, mint az alkalmazás készítőjének (app creator) küldhet emailt.

  2. Hiába írtál be más címet a To mezőbe, a rendszer "felülbírálja" azt, és a te fiókodra küldi a levelet.

  3. Az üzenetben csak tájékoztat, hogy: "Eredetileg ide: klajosw@gmail.com ment volna, de mivel nem éles az app, neked küldtem."

Mit kell tenned?

  1. Ellenőrizd a saját email fiókodat: Nézd meg a postafiókodat (amivel az AppSheet-be beléptél). Ott kell lennie a teszt emailnek. Ha nem látod, nézd meg a Promóciók vagy a Spam mappát is.

  2. "To" mező beállítása: Győződj meg róla, hogy a Bot beállításaiban a To mezőbe idézőjelek közé írtad az email címet, ha fix címet akarsz: "klajosw@gmail.com". Ha idézőjel nélkül írod, az AppSheet azt hiszi, hogy egy oszlopnevet keres.

  3. Élesítés (Deployment): Ahhoz, hogy valóban másoknak is küldhessen emailt az app, át kellene mennie egy "Deployment Check"-en.

    • DE figyelem: Ha élesíted (Deploy), az AppSheet kérni fogja, hogy válts fizetős csomagra (havi ~5-10 USD/felhasználó).

    • Ingyenes megoldás: Maradj prototípus módban, és ha csak magadnak vagy 1-2 családtagodnak (akiknek hozzáférést adtál) küldesz jelentést, az így is működni fog, csak mindig neked (a készítőnek) fog megérkezni a levél, amit aztán továbbíthatsz.

Hogyan javítsd ki, hogy ne legyen "Empty"?

Ha az üzenet azt írja, hogy a To mező üres, akkor az Automation fülön a Task-nál ellenőrizd ezt a mezőt:

  • Task: Send an email

  • To: USEREMAIL() (így mindig annak küldi, aki épp használja az appot) vagy "klajosw@gmail.com" (idézőjelekkel!).




Az AppSheet szabályzata szerint:


  • Adatváltozáskor (Data Change) induló botok (pl. rögzítek egy értéket és jön egy email) működnek ingyen is (de csak neked küldik).

  • Időzített (Scheduled) botok (pl. minden hétfő reggel) csak akkor futnak le, ha az alkalmazást "Deploy" állapotba teszed, amihez fizetős előfizetés kell.


Hogyan tudod ezt INGYEN megoldani? (A "Hack")

Ne add fel, van két remek módszer, amivel kikerülheted ezt a korlátozást:

1. Megoldás: "Gombnyomásra" küldött riport

Időzítés helyett tegyél be egy gombot az appba, amire ha rányomsz, azonnal legenerálja és elküldi a PDF-et. Ez ingyenes!

  1. Változtasd meg a Botot: Az Automation-ben az Event típusát állítsd át "Data Change"-re (nem Scheduled).

  2. Beállítás: Adds and Updates.

  3. Feltétel (Condition): [Megjegyzes] = "KÜLDÉS".

  4. Használat: Amikor szükséged van a riportra, csak nyiss meg egy mérést, írd a megjegyzésbe, hogy "KÜLDÉS", és mentsd el. A Bot azonnal indul és küldi a PDF-et.

2. Megoldás: Google Táblázat Script (A profi és ingyenes út)

Mivel az adataid a Google Táblázatban vannak, használhatod a Google saját, ingyenes automatizálóját (Apps Script), ami nem tartozik az AppSheet korlátozásai alá.

  1. A Google Táblázatodban menj a Bővítmények -> Apps Script menübe.

  2. Másold be ezt a kis kódot (ez minden hétfőn elküldi a táblázat tartalmát):


    function hetiRiportKuldes() {

      var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Meresek");
      var adatok = sheet.getDataRange().getValues();
      var uzenet = "Itt a heti vérnyomás naplód:\n\n";
      
      // Összefűzzük az utolsó pár sort szövegesen
      for (var i = adatok.length - 5; i < adatok.length; i++) {
        uzenet += adatok[i][1] + ": " + adatok[i][2] + "/" + adatok[i][3] + "\n";
      }
      
      MailApp.sendEmail("klajosw@gmail.com", "Heti Vérnyomás Riport", uzenet);
    }


  3. Az Apps Script oldalsávján kattints az Óra ikonra (Triggerek).

  4. Add hozzá a hetiRiportKuldes függvényt, típus: Időalapú, Hetente, Hétfőn.





Mivel az időzített (Scheduled) jelentésekhez fizetős előfizetés kellene, most egy olyan teszt Botot építünk, ami ingyenesen is működik: egy mérés rögzítésekor azonnal küld egy emailt.

 

1. Lépés: A Bot létrehozása

  1. Kattints a bal oldali menüben az Automation (robot ikon) fülre.

  2. Kattints a Create a new Bot gombra.

  3. Adj neki egy nevet, például: Azonnali_Meres_Kuldo.


2. Lépés: Az Esemény (Event) beállítása

Ez mondja meg a Botnak, hogy mikor kell elindulnia.

  1. Kattints a Configure event részre a Boton belül.

  2. Event Type: Válaszd a Data Change opciót.

  3. Table: Válaszd ki a Meresek táblázatot.

  4. Data change type: Válaszd az ADDS_ONLY opciót (csak új mérésnél fusson le).

  5. A feltételhez (Condition) írd ezt: [SYS] > 180 (vagy bármilyen érték, amit könnyen el tudsz érni egy teszt méréssel).

  6. Amint felviszel egy ilyen "riasztási" értéket, az AppSheet azonnal elküldi neked a PDF-et a megadott címre. Ezt "prototípus" (ingyenes) módban is engedi a rendszer.


3. Lépés: A Feladat (Task) beállítása

Ez mondja meg, hogy mit csináljon a Bot (emailt küldjön).

  1. Kattints az Add a step gombra a folyamatban.

  2. Válaszd a Run a task opciót.

  3. A jobb oldali panelen ellenőrizd, hogy a Task Category Send an email-re van-e állítva.

  4. Table name: Itt a legfontosabb, hogy válaszd ki a Meresek táblát. (Ha itt "No Table" van, nem fog működni).


4. Lépés: Az Email tartalmának megadása

  1. To: Írd be a saját email címedet idézőjelek közé, például: "klajosw@gmail.com".

  2. Email Subject: Írd be: Új vérnyomás mérés: <<[SYS]>>/<<[DIA]>>.

  3. Email Body: Ide írhatsz bármit, pl.: Szia! Új mérés érkezett: <<[SYS]>>/<<[DIA]>>, Pulzus: <<[Pulzus]>>.

  4. Attachment Content Type: Ha szeretnél PDF-et is, válaszd a PDF opciót, és kattints a Create gombra a sablon legenerálásához.


5. Lépés: Mentés és Tesztelés

  1. Kattints a jobb felső sarokban a Save gombra.

  2. Menj az appodba (a mobil előnézetbe a jobb oldalon).

  3. Rögzíts egy teljesen új mérést (töltsd ki a SYS, DIA mezőket is).

  4. Amint rákattintasz a Save gombra az appban, a Bot elindul.



Jogosultság jóváhagyás, folyamat elakadás esetén

A hibaüzenet azért jelenik meg, mert a Google Apps Script (GAS) biztonsági rendszere nem engedi, hogy egy kódot csak úgy "beillessz és futtass", amíg te magad jóvá nem hagytad az engedélyeket. Ez egy egyszeri folyamat.

A képeden látható "Exception: You do not have permission..." hiba azt jelenti, hogy a kód megpróbálna emailt küldeni a nevedben, de még nem kapott rá felhatalmazást.

Így javítsd ki lépésről lépésre:

  1. A kód mentése: Győződj meg róla, hogy a kód beírása után rákattintottál a kis lemez (Mentés) ikonra a felső sávban.

  2. Futtatás kézzel (Első jóváhagyás):

    • A felső sávban (a Debug gomb mellett) válaszd ki a hetiRiportKuldes függvényt.

    • Kattints a Run (Futtatás) gombra.

  3. Az engedélyezési folyamat:

    • Megjelenik egy ablak: "Authorization Required". Kattints a Review Permissions gombra.

    • Válaszd ki a saját Google-fiókodat.

    • FONTOS: Megjelenhet egy ijesztő ablak: "Google hasn't verified this app".

    • Kattints az Advanced (Speciális) feliratra a bal alsó sarokban.

    • Kattints a legalul megjelenő Go to [Projekt neve] (unsafe) linkre. (Ne aggódj, ez a saját kódod, teljesen biztonságos).

    • Végül kattints az Allow (Engedélyezés) gombra.



Ellenőrzés:

  1. Nyisd meg a Gmail fiókodat.

  2. Nézd meg a Sent (Elküldött) mappát (ott kell lennie a levélnek, amit a kód küldött).

  3. Nézd meg a Beérkező leveleket is (mivel magadnak küldted).


Miért fog ez működni? Mivel ez "Data Change" (adatváltozás) alapú bot, az AppSheet engedi, hogy ingyenes (Prototype) módban is küldjön emailt a fejlesztőnek (neked).




Egyéb tovább fejlesztési irányok


A PDF sablon csinosítása

Indulásnál valószínűleg egy egyszerű, nyers listát kapsz a PDF-ben.

  1. Menj az Automation -> Tasks fülre.

  2. Kattints a Send an email feladatra, majd görgess le az Attachment részig.

  3. Kattints a Template melletti View gombra.

  4. Ez megnyitja a Google Dokumentumot. Itt tudsz fejlécet betenni, logót beszúrni, vagy táblázatba rendezni az adatokat. Használj bátran félkövér betűket vagy színeket!



Formázási szabályok (UX)

Hogy az appban is azonnal lásd, ha baj van:

  1. Menj az UX -> Format Rules menübe.

  2. Kattints a New Format Rule gombra.

  3. If this condition is true: [SYS] >= 140

  4. Format these columns: SYS

  5. Format properties: Állítsd a szöveget pirosra és félkövérre, vagy válassz egy figyelmeztető ikont mellé.



CSV/Excel exportáláshoz AppSheet-ben:

Bár ütemezett az email bot is lehet amely PDF-et küld, ha az orvosodnak Excel vagy CSV  formátumban, az AppSheet-ben van egy külön erre való gomb (Action):

  1. Menj az Actions fülre.

  2. Hozz létre egy új Action-t a Meresek táblához.

  3. Do this: App: export this view to a CSV file.

  4. Ezt a gombot bárhova kiteheted az appon belül, és egy kattintással letölti az összes adatot a telefonodra táblázatként.





Megjegyzések