- Nyomtat
Áttekintés
A műveletek számos aspektusa támaszkodik a két esemény között eltelt idő ellenőrzésére. Az alábbiakban bemutatjuk, hogyan találhatjuk meg ezt az időt.
A két időbélyegző között eltelt idő ellenőrzése gyakran kulcsfontosságú szempont bármely folyamat során.
Két időbélyegző meghatározhatja:
- Egy meghatározott gyártási időt
- Egy tétel lefutása óta eltelt idő
- A reaktor tisztítása óta eltelt időt.
A logika hozzáadása a két Datetime közötti időhöz nagyon hatékony lehet mind az adatgyűjtés, mind az alkalmazásfunkciók esetében.
Néhány felhasználási eset erre a funkcióra:
- Az ellenőrzések közötti idő ellenőrzése
- Annak megállapítása, hogy mennyi idő telt el egy adott termék futtatása óta
- Karbantartási ütemterv biztosítása.
- Két pont közötti idő keresése egy alkalmazásban
Ez az útmutató megmutatja, hogyan építhet ki néhány ilyen forgatókönyvet az alkalmazásában a triggerek, táblázatok és a kifejezésszerkesztő kombinációjával.
A három lefedett példa a következő:
- Az alkalmazás két különböző részében lévő lépések közötti idő kiszámítása.
- Annak ellenőrzése, hogy egy gép ellenőrzése megtörtént-e az elmúlt héten.
- Céldátum beállítása egy munkamegrendeléshez, amikor azt először beolvassák egy alkalmazásban.
Hasznos intervallumok ismerete:
1 perc: 60 másodperc
1 óra: 3600 másodperc
1 nap: 86 400 másodperc
1 hét: 604 800 másodperc
1 hónap (30 nap): 2 592 000 másodperc
1 év: 31 557 600 másodperc
Példa 1: Egy alkalmazás két része közötti idő megkeresése (gyártási idő)
Ebben a példában azt mutatjuk be, hogyan lehet kiszámítani egy alkalmazás egyetlen használatán belüli két időbélyegző közötti különbséget.
Szint: Középszintű
Ehhez a példához ismernie kell a következőket:
A folyamat kívánt "Kiindulási" pontján adjon hozzá egy "Then" utasítást a Trigger Editorban az aktuális dátum és idő rögzítésére.
Adatmanipuláció - Áruház - Alkalmazásinformáció - Aktuális dátum és idő - hely: .
Az alkalmazáson belüli időmérés kívánt "End" pontján adjon hozzá egy másik Triggert az aktuális dátum és idő rögzítéséhez**.**
Az idő rögzítése mellett most már hozzáadhatja a két időbélyegző közötti különbség keresésére szolgáló trigger-t is, és azt egy Változóban tárolhatja.
Ebben a példában mindkét időpontot egy gomb megnyomásakor rögzítjük, de lehetséges lenne a Steps bezárásakor vagy megnyitásakor, illetve az eszközök tüzelésekor is rögzíteni az időpontokat.
Az időkülönbséget egy "Intervall" változóban tárolja a két időbélyegző közötti összes másodpercek számában.
Példa 2 : Az ellenőrzések közötti idő ellenőrzése
Szint: Haladó
Ehhez a példához ismernie kell a következőket:
A következő példában az alkalmazás célja, hogy ellenőrizze a "Gépellenőrzés" táblázatot, és meghatározza, mikor történt az utolsó ellenőrzés. Továbbá, ha az ellenőrzés nagyobb, mint az előírt gyakoriság, az alkalmazás utasítja a felhasználót, hogy végezze el az ellenőrzést.
A táblázat összekapcsolása:
Az alkalmazás első lépése egy táblázatrekord betöltését igényli az alkalmazásba. Ezért a táblázatnak már léteznie kell. A táblázat valahogy így nézhet ki:
- ID (szöveg)
- Utolsó ellenőrzés (időbélyeg)
- Ellenőrzési gyakoriság (intervallum)
A fenti táblázat tartalmazza mind a gép legutóbbi ellenőrzésének időpontját, mind az egyes gépek előírt ellenőrzési gyakoriságát.
Most a táblázatnak az alkalmazásban egy rekord helyőrzőt kell adni az ellenőrzés ellenőrzéshez. Ezt úgy teheti meg, hogy az alkalmazásban hozzáadja a táblázat rekord helyőrzőjét. Nevezheti el valami ilyesminek:
Hozzuk létre a változót:
Most, hogy a megfelelő táblázatot összekapcsolta az alkalmazással, létre kell hoznia egy változót a két időbélyegző különbségének tárolására. Egy "Interval" adattípus létrehozása lehetővé teszi ezt a manipulációt. Ezt úgy teheti meg, hogy az alkalmazásszerkesztő kontextusablakába navigál, és kiválasztja az app.
Az oldalsó ablaktáblában válassza ki a szigma szimbólumot egy új változó létrehozásához.
A változók ablaktáblájában hozzon létre egy új változót tetszőleges névvel, és válassza ki a legördülő menüből az "intervallum" típust. Vegye figyelembe, hogy ez a változó fogja tárolni a két manipulálandó időbélyeg kivonásának eredményét.
Győződjön meg róla, hogy az "Add" (Hozzáadás) opciót választja, és a bezárás előtt győződjön meg róla, hogy a változó hozzáadódik a listához.
Fentebb a változó neve "ResultantTime", és az időpontok közötti különbséget fogja jelölni. Ebben a példában az utolsó ellenőrzés és az alkalmazás aktuális időpontja közötti időt fogja megjegyezni.
A táblázat rekordjának betöltése
A megfelelő táblázatrekord ellenőrzéséhez a táblázatot a megfelelő táblázatazonosítóval kell betölteni. Ebben a példában egy rekordot fogunk betölteni egy legördülő widget értéke alapján.
Vegye figyelembe, hogy a szövegnek pontosan meg kell egyeznie a táblázat azonosítójával ahhoz, hogy megfelelően be lehessen tölteni a megfelelő táblázatrekordot.
A fenti űrlaplépés lehetővé teszi a felhasználó számára, hogy kiválassza, melyik gépet fogja ellenőrizni. Nagyon fontos, hogy ehhez a mezőhöz mindenképpen adjunk egy változót, jelen esetben MachineType-ot, hogy logikát adjunk az eredményhez.
A logika ellenőrzése
Most itt az ideje az ellenőrzésnek!
Ennek az űrlapnak a beküldéskor ellenőriznie kell az alkalmazás aktuális ideje és a táblázatból származó előző időbélyegző közötti időt.
Ehhez hozzá kell adnia néhány "egyéni művelet" kiváltót a beküldés gombhoz.
Először is, a gombnak be kell töltenie a megfelelő táblázatrekordot:
Table Records - Load Record - by ID: MachineType - into: Inspection
Ez a táblázat dinamikusan töltődik be az űrlaplépésben kiválasztott gép alapján, ahelyett, hogy több műveletet hoznánk létre bizonyos táblázatok betöltésére.
Ezután a submit gomb megtalálja a most és a betöltött táblázatrekord időbélyege közötti időt. Ugyanebben a kiváltóprogramban valami ilyesmit adhat hozzá:
Ez az utasítás kivonja az aktuális időt a táblázat előző időbélyegéből. Ezt az időkülönbséget Intervall adattípusként elmenti az elején létrehozott Változóba.
Egy új Triggerben a két időbélyeg közötti különbség fogja meghatározni az alkalmazás egy műveletét.
Például, ha a mostani és az utolsó ellenőrzés közötti idő nagyobb, mint a szükséges gyakoriság, a kezelőnek ellenőriznie kell a gépet. Ha nem, akkor a gép rendben van, és nincs szükség intézkedésre. Ez valahogy így nézhet ki:
IF
Változó - Eredményidő - > - Táblázatrekord - Ellenőrzés - Ellenőrzési gyakoriság
THEN
Tovább a lépéshez - Ellenőrzés
Itt az ellenőrzés biztosítja, hogy ha az idő túl nagy volt, akkor az ellenőrzést újra el kell végezni.
Ha nem, akkor az alkalmazás befejeződhet, mivel ez az alkalmazás az ellenőrzések ellenőrzésre és elvégzésére szolgál.
Ez az Else utasítás ugyanezen Triggeren belül valahogy így nézhet ki:
ELSE IF
Alkalmazás - Alkalmazás törlése
Show Message - Statikus érték - szöveg - az Ön üzenete.
A táblázat frissítése
Az ellenőrzés befejezése után a táblázat rekordját frissíteni kell, hogy az tükrözze, hogy az ellenőrzés megtörtént. Ehhez a legjobb, ha az ellenőrzési lépések lezárásához egy Trigger-t adunk hozzá. Így a rekord csak akkor frissül, ha az ellenőrzés teljesen befejeződött.
Adjon hozzá egy Triggert az új időpont mentéséhez, például így:
Adatmanipuláció - Áruház - Alkalmazásinformáció - Aktuális dátum és idő - Táblázatrekord - Ellenőrzés - Utolsó ellenőrzés
Példa 3- A munkamegbízás befejezési céldátumának beállítása
Tegyük fel, hogy egy munkamegrendelésnek 10 különböző műveleten kell átmennie, mielőtt befejeződik.
Ha a munkamegrendelés a 10 művelet közül az elsőnél kezdődik, akkor létre kell hoznia egy "esedékességi dátumot", hogy megfeleljen az ügyfél elvárásainak. Tegyük fel, hogy az esedékességi dátum 1 héttel az első művelet megkezdése után van.
Ehhez a Tulipban hozzá kell adnia egy Intervallumot az aktuális időponthoz, hogy meghatározhassa az egy hét múlva esedékes időpontot.
Ezután el kell mentenie ezt az "Esedékességi dátumot" a "Munkamegrendelések" táblázatban. Itt van, hogyan kell ezt megtenni.
Először is létre kell hoznia egy olyan változót, amely a jövőbeni 1 hétre vonatkozó értéket tárolja egy intervallumban.
Lépjen a Kontextusablak Változók párbeszédpaneljére, és hozzon létre egy új változót "next_7_days" néven, intervallum típusú változóval.
Ezután állítsa be az alapértelmezett értékét 604800 másodpercre, így. Ez a másodpercek száma egy héten belül:
Ezután hozzon létre egy rekord helyőrzőt az aktuális munkamegrendeléshez, és töltse be ezt a munkamegrendelést az alkalmazásba.
A rekord betöltése után egy kifejezéssel beállíthatja az "Esedékesség dátuma" mezőt:
- "Data Manipulation" "Store" data: "Expression" "App Info-Current Date and Time + Variable.next_7_days" location: "Table Record" "Current Work Order" "Due Date"
A fenti trigger utasításban 7 napot adunk hozzá az aktuális dátumhoz és időponthoz, hogy létrehozzuk az esedékességi dátumot.
Megtalálta, amit keresett?
A community.tulip.co oldalon is megteheti, hogy felteszi kérdését, vagy megnézheti, hogy mások is szembesültek-e hasonló kérdéssel!