Genera schema di foglio ore (test)
Ripete una settimana iniziale per un anno intero, così da poter validare una regola di liquidazione prima del go-live — per un dipendente, un’unità organizzativa o tutti. Può anche approvare i periodi che genera, così da verificare un’intera configurazione dall’inizio alla fine. Solo su spazi di lavoro di test.
Perché esiste
Uno spazio di lavoro configurato a settembre ha esattamente un periodo di approvazione: settembre. Non esistono né Q1 né Q2, quindi non c’è alcuna catena di liquidazione da esaminare — e i periodi non possono mai essere creati a ritroso, perché ciascuno si apre sul saldo di chiusura del precedente.
Questo job procede nella direzione opposta. Inserisci una settimana rappresentativa — alla data di inizio dello spazio di lavoro o in una qualsiasi settimana successiva — e lascia che il job la ripeta in avanti da lì. Ogni periodo creato è il più recente, quindi la catena si costruisce nell’ordine in cui sarebbe realmente avvenuta.
Prima di eseguirlo
- Configura le regole da validare — la politica di liquidazione, i conti della banca ore, le condizioni di impiego con l’approvazione del foglio ore attiva.
- Assicurati che il calendario delle festività copra i mesi che stai per generare. I giorni non coperti vengono generati come normali giorni lavorativi.
- Assegna al dipendente un obiettivo per il riempimento automatico — un’attività predefinita o una ripartizione percentuale nel suo elenco attività. Attivare il riempimento automatico nella policy dell’orario di lavoro non basta: senza un obiettivo il job si ferma invece di riempire un anno di giorni vuoti.
- Come quel dipendente, inserisci la tua settimana rappresentativa tramite il foglio ore normale. Registrazioni reali su attività reali. Inizia dalla data di inizio dello spazio di lavoro — oppure da dove preferisci, indicandolo al job con Data di inizio dello schema.
Dai forma alla settimana. Una settimana esattamente a norma produce una differenza pari a zero in ogni periodo: nessun tetto scatta e nulla decade — l’anno generato non dimostrerebbe nulla. Registra sopra la norma in alcune settimane e sotto in altre.
Lo schema
Lo schema è ciò che hai inserito, non qualcosa che configuri. Il job legge blocchi di sette giorni a partire dalla data di inizio dello schema e li ripete in avanti. Lascia la data vuota e partirà da dove inizia lo spazio di lavoro — o da dove inizia il rapporto di lavoro del dipendente se è successivo, dato che prima di entrambi non si può registrare nulla:
| Settimane dello schema | Cosa si ripete |
|---|---|
| 1 | Uno schema settimanale |
| 2 | Una rotazione quindicinale |
| 4 | Una rotazione di 4 settimane — un ciclo di reperibilità |
Qui una «settimana» sono sette giorni dalla data di inizio, non da lunedì a domenica, quindi funziona qualunque sia il giorno in cui inizia il tuo spazio di lavoro. L’allineamento dei giorni della settimana è preservato: un martedì dello schema cade sempre di martedì.
Parametri
| Parametro | Significato |
|---|---|
| Dipendente | Elabora solo questo dipendente. |
| Unità organizzativa | Elabora tutti i dipendenti di questa unità e delle sue sotto-unità. |
| Tutti i dipendenti | Elabora tutti i dipendenti dello spazio di lavoro. |
| Mesi | Fino a che punto ripetere, da 0 a 24. Arrotondato per eccesso affinché ogni periodo di approvazione toccato sia riempito per intero. 0 non ripete nulla: il job lavora solo sui periodi coperti dallo schema stesso — vedi Testare una configurazione completa. |
| Settimane dello schema | Quanti blocchi di sette giorni compongono lo schema, da 1 a 8. |
| Data di inizio dello schema | Il giorno da cui viene letto lo schema. Lascia vuoto per leggere dalla data di inizio dello spazio di lavoro — o dall’inizio del rapporto di lavoro se è successivo. Una data anteriore a una delle due viene spostata in avanti fino a essa. |
| Sovrascrivi le registrazioni di tempo esistenti | Sostituisce il tempo di lavoro già presente in un giorno di destinazione. Disattivato per impostazione predefinita. |
| Approva automaticamente i prospetti | Invia e approva ogni periodo generato, dal più vecchio al più recente, per conto del dipendente e del suo responsabile. Disattivato per impostazione predefinita. |
Scegli esattamente uno tra Dipendente, Unità organizzativa e Tutti i dipendenti. Ogni dipendente viene elaborato separatamente — con il proprio schema, le proprie condizioni di impiego e i propri periodi. Con un’unità o con tutti i dipendenti, un dipendente che non può essere elaborato (nessuna condizione di impiego con approvazione del foglio ore, finestra dello schema vuota, …) viene saltato ed elencato con il motivo, mentre gli altri vengono elaborati; con un solo dipendente, invece, l’esecuzione si interrompe.
Cosa fa il job a ogni giorno
Giorno per giorno lungo l’intervallo generato:
- Una festività non viene toccata.
- Un giorno con assenza o ferie non viene toccato — ferie pianificate al mese 7 sopravvivono intatte all’esecuzione.
- Un giorno che ha già tempo di lavoro viene lasciato stare, a meno che tu non abbia attivato Sovrascrivi.
- Altrimenti viene copiato il giorno corrispondente dello schema: registrazioni e timbrature, agli stessi orari.
- Un giorno che lo schema lascia vuoto riceve la sua norma attesa. In un fine settimana o in una festività è zero, quindi quei giorni restano vuoti.
Poi il job calcola indennità e straordinari su ogni giorno dei periodi coperti — sia i giorni copiati sia quelli già presenti, come le registrazioni portate da un’importazione, che altrimenti non vengono calcolate fino all’elaborazione notturna. Infine, per ogni periodo di approvazione coperto, crea il periodo e lo porta a pronto.
L’invio e l’approvazione restano tuoi, a meno che tu non attivi Approva automaticamente i prospetti — procedere tu stesso periodo per periodo è spesso lo scopo dell’esercizio: osserva il saldo concatenarsi dalla chiusura di ogni periodo all’apertura del successivo. Con l’approvazione automatica attiva, il job invia e approva ogni periodo in ordine, così la liquidazione viene eseguita e il periodo successivo si apre sul saldo liquidato. Si ferma a un periodo che non può essere inviato (una violazione bloccante, o un periodo precedente ancora aperto) e indica dove.
Leggere il risultato dell’esecuzione
| Campo | Significato |
|---|---|
source_window | I giorni da cui è stato letto lo schema |
resolved_span | I giorni effettivamente generati, dopo l’arrotondamento a periodi interi |
days_written | Giorni che hanno ricevuto registrazioni |
days_skipped | Giorni saltati, per motivo: holiday, leave, has_data, locked |
days_erased | Registrazioni rimosse da Sovrascrivi |
days_reconciled | Giorni in cui indennità o straordinari sono cambiati con il calcolo |
periods_ready | Periodi creati e portati a pronto |
periods_skipped | Periodi saltati — già pronti, o già inviati o approvati |
periods_approved | Periodi inviati e approvati (con l’approvazione automatica) |
employees, employees_skipped | Quanti dipendenti sono stati elaborati e quanti sono stati saltati |
per_employee | Gli stessi conteggi per ciascun dipendente, con il motivo per cui un dipendente è stato saltato o il punto in cui si sono fermate le sue approvazioni |
Con più dipendenti, i conteggi sono totali su tutti.
Confronta days_skipped.holiday con le festività che ti aspetti nell’anno generato. Zero su dodici mesi significa che il calendario delle festività non arriva così avanti.
Testare una configurazione completa
Per verificare che una configurazione calcoli i numeri giusti, porta dei dipendenti di test con un intero periodo di registrazioni — tramite un’importazione o inserendole a mano — ed esegui il job con:
- Tutti i dipendenti (o l’unità che stai testando),
- Data di inizio dello schema sul primo giorno del periodo e Settimane dello schema che ne coprano la maggior parte,
- Mesi a 0, così nulla viene ripetuto oltre le registrazioni che hai inserito,
- Approva automaticamente i prospetti attivo.
Il job calcola le indennità, approva i periodi ed esegue la liquidazione, così i prospetti mostrano i saldi finali, pronti per essere confrontati con quanto stabiliscono le regole. Il team di implementazione lo esegue da uno script con la chiave API dello spazio di lavoro.
Eseguirlo di nuovo
Una seconda esecuzione con gli stessi parametri non cambia nulla: i giorni che hanno già dati vengono saltati e i periodi già esistenti non vengono ricreati. Per rimodellare l’anno, modifica la settimana dello schema ed esegui di nuovo con Sovrascrivi attivo.
Risoluzione dei problemi
| Problema | Soluzione |
|---|---|
| Il job non è nell’elenco | Lo spazio di lavoro non è contrassegnato come spazio di test |
| «no registrations between …» | La finestra dello schema è vuota — inserisci prima la settimana oppure punta la data di inizio dello schema sulla settimana che hai effettivamente inserito |
| «nothing to register norm time on» | L’elenco attività non ha né attività predefinita né ripartizione percentuale — impostane una. Il riempimento automatico attivo nella policy non gli dà da solo un obiettivo |
| «do not enable timesheet approval» | Attiva l’approvazione del foglio ore nelle condizioni di impiego del dipendente |
| «exactly one of employee_id, org_unit_id or all_employees» | Scegli un solo ambito: un dipendente, un’unità organizzativa o Tutti i dipendenti |
| Un dipendente è stato saltato | per_employee ne indica il motivo — gli stessi messaggi di questa tabella |
| Le approvazioni si sono fermate a un periodo | per_employee indica il periodo e il motivo: una violazione bloccante (ad esempio un giorno lavorativo senza registrazioni) o un periodo precedente non ancora approvato |
| La differenza di ogni periodo è tutto il tempo lavorato | I giorni generati non hanno una norma attesa — verifica che le condizioni di impiego coprano l’anno generato |
| Le festività sono state generate come giorni lavorativi | Il calendario delle festività non copre quei mesi |
| Un periodo è stato saltato | Era già inviato o approvato; riaprilo prima, se volevi rigenerarlo |