Ga naar inhoud
Urenpatroon genereren (test)

Urenpatroon genereren (test)

Herhaalt een openingsweek een heel jaar vooruit, zodat een verrekeningsregel vóór de livegang gevalideerd kan worden — voor één medewerker, een organisatie-eenheid of iedereen. De taak kan ook de perioden goedkeuren die ze vult, zodat een volledige inrichting van begin tot eind gecontroleerd kan worden. Alleen op testwerkruimtes.

Waarom deze taak bestaat

Een werkruimte die in september wordt ingericht heeft precies één goedkeuringsperiode: september. Er is geen Q1 en geen Q2, dus er valt geen verrekeningsketen te bekijken — en perioden kunnen nooit met terugwerkende kracht worden aangemaakt, omdat elke periode opent op het eindsaldo van de vorige.

Deze taak gaat de andere kant op. Voer één representatieve week in — op de startdatum van de werkruimte of in elke latere week — en laat de taak die van daaruit vooruit herhalen. Elke periode die wordt aangemaakt is de nieuwste, dus de keten wordt opgebouwd in de volgorde waarin ze werkelijk zou zijn ontstaan.

Dit is een simulatiehulpmiddel. Het verschijnt alleen op werkruimtes die als testwerkruimte zijn gemarkeerd onder Beheer › Werkruimte en het draait nooit volgens een planning. Het is niet beschikbaar op een klantwerkruimte.

Voordat je hem uitvoert

  1. Richt de regels in die je wilt valideren — het verrekeningsbeleid, de tijdbankrekeningen, de arbeidsvoorwaarden met urenregistratie-goedkeuring aan.
  2. Zorg dat de feestdagenkalender de maanden dekt die je gaat vullen. Dagen die hij niet dekt worden als gewone werkdagen gevuld.
  3. Geef de medewerker iets om automatisch op in te vullen — een standaardactiviteit of een procentuele verdeling in zijn activiteitenlijst. Het automatisch invullen aanzetten in het werktijdbeleid is op zichzelf niet genoeg: zonder doel stopt de taak in plaats van een jaar met lege dagen te vullen.
  4. Voer als die medewerker je representatieve week in via de normale urenregistratie. Echte registraties op echte activiteiten. Begin op de startdatum van de werkruimte — of waar je wilt, en vertel de taak waar met Startdatum van het patroon.

Geef de week reliëf. Een week precies op de norm levert in elke periode een verschil van nul op: geen enkel plafond treedt in werking en er vervalt niets — het gevulde jaar zou niets bewijzen. Registreer sommige weken boven de norm en andere eronder.

Het patroon

Het patroon is wat je hebt ingevoerd, niet iets wat je instelt. De taak leest blokken van zeven dagen vanaf de startdatum van het patroon en herhaalt ze vooruit. Laat die datum leeg en hij begint waar de werkruimte begint — of waar het dienstverband van de medewerker begint als dat later is, want vóór geen van beide kan er iets geregistreerd worden:

PatroonwekenWat er herhaald wordt
1Een weekpatroon
2Een tweewekelijkse rotatie
4Een 4-weekse rotatie — een bereikbaarheids- of piketcyclus

Een «week» is hier zeven dagen vanaf de startdatum, niet maandag tot en met zondag, dus het werkt ongeacht op welke weekdag je werkruimte begint. De weekdagen blijven behouden: een dinsdag in het patroon valt altijd op een dinsdag.

Parameters

ParameterBetekenis
MedewerkerVult deze ene medewerker.
Organisatie-eenheidVult elke medewerker in deze eenheid en haar subeenheden.
Alle medewerkersVult elke medewerker in de werkruimte.
MaandenHoe ver vooruit er herhaald wordt, 0–24. Naar buiten afgerond zodat elke geraakte goedkeuringsperiode volledig wordt gevuld. 0 herhaalt niets: de taak werkt alleen op de perioden die het patroon zelf beslaat — zie Een volledige inrichting testen.
PatroonwekenUit hoeveel blokken van zeven dagen het patroon bestaat, 1–8.
Startdatum van het patroonDe dag waarvandaan het patroon wordt gelezen. Laat leeg om te lezen vanaf de startdatum van de werkruimte — of vanaf het begin van het dienstverband als dat later is. Een datum vóór een van beide wordt daarnaartoe opgeschoven.
Bestaande tijdregistraties overschrijvenVervangt werktijd die al op een doeldag staat. Standaard uit.
Overzichten automatisch goedkeurenDient elke gevulde periode in en keurt die goed, de oudste eerst, namens de medewerker en diens manager. Standaard uit.

Kies precies één van Medewerker, Organisatie-eenheid en Alle medewerkers. Elke medewerker wordt afzonderlijk gevuld — met een eigen patroon, eigen arbeidsvoorwaarden en eigen perioden. Bij een eenheid of alle medewerkers wordt een medewerker die niet gevuld kan worden (geen arbeidsvoorwaarden met urenregistratie-goedkeuring, een leeg patroonvenster, …) overgeslagen en met de reden vermeld, en worden de anderen wel gevuld; bij één medewerker stopt de run in plaats daarvan.

Wat de taak met elke dag doet

Dag voor dag door het gevulde bereik:

  1. Een feestdag wordt niet aangeraakt.
  2. Een dag met verzuim of verlof wordt niet aangeraakt — een geplande vakantie in maand 7 komt ongeschonden door de run.
  3. Een dag die al werktijd bevat wordt met rust gelaten, tenzij je Overschrijven hebt aangevinkt.
  4. Anders wordt de overeenkomstige dag uit het patroon gekopieerd: registraties én klokkingen, op dezelfde tijdstippen.
  5. Een dag die het patroon leeg laat krijgt zijn verwachte norm. In een weekend of op een feestdag is die nul, dus die dagen blijven leeg.

Daarna berekent de taak vergoedingen en overwerk op elke dag van de gedekte perioden — de gekopieerde dagen, en dagen die er al waren, zoals registraties die via een import zijn binnengekomen en anders pas bij de nachtelijke run worden berekend. Ten slotte maakt de taak elke gedekte goedkeuringsperiode aan en brengt hem op gereed.

Indienen en goedkeuren blijft aan jou, tenzij je Overzichten automatisch goedkeuren aanzet — de perioden zelf doorlopen is vaak juist het doel van de oefening: zie het saldo doorschakelen van de afsluiting van elke periode naar de opening van de volgende. Met automatisch goedkeuren aan dient de taak elke periode op volgorde in en keurt die goed, zodat de verrekening wordt uitgevoerd en de volgende periode opent op het verrekende saldo. Ze stopt bij een periode die niet ingediend kan worden (een blokkerende overtreding, of een eerdere periode die nog open staat) en meldt waar.

Overschrijven raakt alleen werktijd. Verzuim, verlof en feestdagen worden afgehandeld voordat hij überhaupt geraadpleegd wordt, dus geen enkele stand van die schakelaar kan gepland verlof wissen. Hij ontgrendelt ook geen periode die je al hebt ingediend of goedgekeurd.

Het resultaat lezen

VeldBetekenis
source_windowDe dagen waaruit het patroon is gelezen
resolved_spanDe dagen die daadwerkelijk gevuld zijn, na afronding op hele perioden
days_writtenDagen die registraties hebben gekregen
days_skippedOvergeslagen dagen, per reden: holiday, leave, has_data, locked
days_erasedRegistraties verwijderd door Overschrijven
days_reconciledDagen waarvan de vergoedingen of het overwerk veranderden bij de berekening
periods_readyPerioden aangemaakt en op gereed gezet
periods_skippedOvergeslagen perioden — al gereed, of al ingediend of goedgekeurd
periods_approvedPerioden ingediend en goedgekeurd (met automatisch goedkeuren)
employees, employees_skippedHoeveel medewerkers er gevuld zijn, en hoeveel er overgeslagen zijn
per_employeeDezelfde tellingen per medewerker, met de reden waarom een medewerker is overgeslagen of waar diens goedkeuringen stopten

Bij meerdere medewerkers zijn de tellingen totalen over allemaal.

Vergelijk days_skipped.holiday met de feestdagen die je in het gevulde jaar verwacht. Nul over twaalf maanden betekent dat de feestdagenkalender niet zo ver reikt.

Een volledige inrichting testen

Om te controleren of een configuratie de juiste getallen berekent, breng je testmedewerkers in met een hele periode aan registraties — via een import, of door ze in te voeren — en voer je de taak uit met:

  • Alle medewerkers (of de eenheid die je test),
  • Startdatum van het patroon op de eerste dag van de periode, en Patroonweken zo dat ze het grootste deel ervan beslaan,
  • Maanden op 0, zodat er niets wordt herhaald buiten de registraties die je hebt ingevoerd,
  • Overzichten automatisch goedkeuren aan.

De taak berekent de vergoedingen, keurt de perioden goed en voert de verrekening uit, zodat de overzichten de definitieve saldi tonen, klaar om te vergelijken met wat de regels zeggen. Het implementatieteam voert dit uit vanuit een script met de API-sleutel van de werkruimte.

Opnieuw uitvoeren

Een tweede run met dezelfde parameters verandert niets: dagen die al gegevens bevatten worden overgeslagen en bestaande perioden worden niet opnieuw aangemaakt. Wil je het jaar anders vormgeven, pas dan de patroonweek aan en draai opnieuw met Overschrijven aan.

Problemen oplossen

ProbleemOplossing
De taak staat niet in de lijstDe werkruimte is niet als testwerkruimte gemarkeerd
«no registrations between …»Het patroonvenster is leeg — voer eerst de week in of richt de startdatum van het patroon op de week die je wél hebt ingevoerd
«nothing to register norm time on»De activiteitenlijst heeft geen standaardactiviteit en geen procentuele verdeling — stel er een in. Automatisch invullen aan in het beleid geeft het op zichzelf geen doel
«do not enable timesheet approval»Zet urenregistratie-goedkeuring aan in de arbeidsvoorwaarden van de medewerker
«exactly one of employee_id, org_unit_id or all_employees»Kies één bereik: een medewerker, een organisatie-eenheid of Alle medewerkers
Een medewerker is overgeslagenper_employee geeft de reden — dezelfde meldingen als in deze tabel
Goedkeuringen stopten bij een periodeper_employee noemt de periode en de reden: een blokkerende overtreding (zoals een werkdag zonder registratie), of een eerdere periode die nog niet is goedgekeurd
Het verschil van elke periode is de volledige gewerkte tijdDe gevulde dagen hebben geen verwachte norm — controleer of de arbeidsvoorwaarden het gevulde jaar dekken
Feestdagen zijn als werkdagen gevuldDe feestdagenkalender dekt die maanden niet
Een periode is overgeslagenDie was al ingediend of goedgekeurd; heropen hem eerst als je hem opnieuw wilde vullen