Makrot
Yö-, sunnuntai- ja pyhäpäivälisät tai loma- ja asepalvelustuntien tarkka laskenta eivät sovi kiinteään kaavaan jokaiselle yritykselle. Kohdassa Asetukset > Makrot voit kirjoittaa niitä varten omia pieniä skriptejä BASIC-tyyppisellä kielellä.
Näin se toimii
Mihin makroja käytetään: Makro laskee palvelun (Work) tai työsuhteen tiedoista yhden palautusarvon — tyypillisesti lisän tunteina tai frangeina. Tulos tallennetaan kohtaan Work.Surcharges ja se siirtyy automaattisesti tuntilaskentaan (ClientPeriodHours). Jokainen makro kuuluu tiettyyn tyyppiin — vuoro/työsuhde tai työsäännöt — ja se voidaan nimetä, muokata ja poistaa kuten mikä tahansa muu asetus.
Käytettävissä olevat tiedot: IMPORT-komennon kautta skriptissä ovat käytettävissä muun muassa hour (työtunnit), fromhour/untilhour (alkamis-/päättymisaika desimaalitunteina), weekday (ISO-8601: 1 = maanantai … 7 = sunnuntai), holiday/holidaynextday (onko kuluva tai seuraava päivä pyhäpäivä) sekä sopimuksessa määritetyt lisäprosentit nightrate, holidayrate, sarate (lauantai) ja sorate (sunnuntai).
Kielen laajuus: Skriptikieli tuntee kontrollirakenteet (IF…THEN…ELSEIF…ELSE…ENDIF, SELECT CASE, FOR…NEXT, DO…LOOP), omat funktiot (FUNCTION) ja proseduurit (SUB, jotka on määriteltävä ennen ensimmäistä kutsuaan) sekä sisäänrakennetut merkkijono-, matematiikka-, trigonometria- ja aikafunktiot (esim. TimeToHours, TimeOverlap keskiyön ylittäville ajanjaksoille). Tulos palautetaan komennolla OUTPUT tyyppi, arvo.
Testaaminen editorissa: Makroeditorissa on oma Testaa-välilehti: syötät esimerkkiarvot tuoduille muuttujille, tarkistat syntaksin ja suoritat skriptin testimielessä. DEBUGPRINT/DEBUGCLEAR tulostavat lisäarvoja testi-ikkunaan vaikuttamatta varsinaiseen palautusarvoon.
Turvallisuus: Tulkki toimii hiekkalaatikossa ilman pääsyä tiedostojärjestelmään tai verkkoon — makro voi laskea väärin, mutta ei voi aiheuttaa vahinkoa laskennan ulkopuolella.
Hyvä tietää
DIMjulistaa muuttujan, mutta ei alusta sitä samalla —DIM x = 10on syntaksivirhe, ensinDIM xja sitten erikseenx = 10.- Avainsanat kuten
ENDIF,ENDFUNCTIONjaENDSUBkirjoitetaan yhteen, ei välilyönnillä. weekdaynoudattaa läpi ISO-8601-standardia (1 = maanantai … 7 = sunnuntai) — omissa "viikonloppu"-tarkoitukseen tehdyissäSELECT CASE-kyselyissä nämä ovat arvot 6 (lauantai) ja 7 (sunnuntai).
Kokeile heti: Klacks Playground — kirjaudu admin@test.com / P@ssw0rt1, tiedot nollataan päivittäin.