Munka az idővel a kiváltókban
  • 31 Oct 2023
  • 6 Elolvasandó percek
  • Közreműködők

Munka az idővel a kiváltókban


Article Summary

Á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ő:

  1. 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.
  2. Annak ellenőrzése, hogy egy gép ellenőrzése megtörtént-e az elmúlt héten.
  3. 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 Variable-ben tárolhatja.

Ebben a példában mindkét időpontot egy gomb megnyomásakor vesszük fel, de lehetséges lenne a Lépések 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 "Intervallum" változóban tárolja a két időbélyegző közötti összes másodpercek számában kifejezve.

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, hogy 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 összekapcsolta a megfelelő táblázatot 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.

A Kontextusablakban 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) lehetőséget 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 ez 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 egy változót adjunk hozzá ehhez a mezőhöz, ebben az esetben MachineType, 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ázat rekordját:

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 hozna létre bizonyos táblázatok betöltésére.

Ezután a submit gomb megtalálja a mostani időpont é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 - Static Value - text - az Ön üzenete.

A táblázat frissítése

Az ellenőrzés befejezése után a Table Recordot frissíteni kell, hogy 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:

Adatkezelés - Áruház - Alkalmazás informá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 ezt az "Esedékességi dátumot" el kell mentenie a "Munkamegrendelések" táblázatban. Itt van, hogyan kell ezt megtenni.

Először is létre kell hoznia egy 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 rekordhelytartó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:

  • "Adatmanipuláció" "Adatok tárolása": "Kifejezés" "App Info - Aktuális dátum és idő + változó.next_7_days" hely: "App Info - Aktuális dátum és idő + változó.next_7_days": "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!


Hasznos volt ez a cikk?