Formazione: importazione, giornate, registri e attestati¶
Procedura aggiornata il 21 settembre 2026: orari, clienti delle edizioni, rinnovi e dichiarazioni sullo storico sono attivi in DEV. Il rilascio in PROD è separato e non è incluso in questo intervento.
Importare i discenti¶
Aprire Discenti → Importa CSV nel tenant operativo corretto.
- Ogni discente deve avere un cliente esistente e accessibile nel tenant operativo. L’import non crea mai clienti.
- Per un’azienda indicare
cliente_partita_iva(aliaspartita_iva,piva,pi); per un privato indicarecliente_codice_fiscale(aliascliente_cf,cf_cliente).codice_fiscale/cfcontinuano a identificare il discente, non il cliente. - La colonna
clientecontiene il nome facoltativo di controllo: il solo nome non identifica più il cliente. Se nome e identificativo non corrispondono, correggere il file. - Le righe senza nome e identificativi cliente usano il cliente selezionato nella combo. Se manca anche la selezione, l’import chiede il cliente. Il cliente selezionato deve avere partita IVA o codice fiscale compilato in anagrafica.
- Identificativi non riconosciuti, non accessibili, discordanti o duplicati bloccano il file. Non vengono sostituiti dal cliente predefinito. Se il cliente non esiste, l’operatore deve crearlo esplicitamente in Anagrafiche e ripetere l’import; non è prevista alcuna creazione autonoma.
- Scegliere il corso, una singola edizione attiva e le sue giornate interessate. Tutti i discenti del file verranno assegnati alle giornate selezionate: usare importazioni separate per gruppi con calendari diversi.
- La modalità Anteprima (non salva) è selezionata inizialmente: controllare il cliente di ogni riga e la tipologia dell’edizione; poi ricaricare il file e deselezionare Anteprima per confermare il salvataggio. Il riepilogo visualizza al massimo le prime 50 assegnazioni, ma i controlli comprendono tutte le righe.
- Controllare l’anteprima prima del salvataggio. Il matching utilizza il codice fiscale; in sua assenza servono nome, cognome e data di nascita per riconoscere una persona già presente. Omonimie e identità non accessibili richiedono verifica anagrafica.
- Se una giornata con capienza configurata è piena, l'importazione viene annullata. Non rimangono iscrizioni parziali del file.
La prenotazione della giornata è distinta dalla presenza e dalla firma. Tablet e PDF mostrano soltanto gli iscritti previsti per la giornata. Il registro amministrativo indica «Non assegnato a questa giornata» nelle celle non pertinenti.
Un’iscrizione completata non viene estesa ad altre giornate. Il rinnovo crea una nuova frequenza dopo il controllo della scadenza o della dichiarazione esplicita, mantenendo separato lo storico precedente, come descritto sotto.
Corso nuovo o aggiornamento e storico¶
Quando manca uno storico associato al corso o la scadenza precedente, l’import richiede una scelta esplicita:
- Corso nuovo: confermare che il discente non lo ha mai svolto.
- Aggiornamento: confermare che il precedente è scaduto; indicare la scadenza se conosciuta. Se ignota, lasciare il campo vuoto: non inserire una data stimata.
La conferma non è preselezionata. Per gruppi omogenei usare i campi del modulo; per situazioni diverse nello stesso CSV compilare tipo_iscrizione (nuovo / aggiornamento), conferma_precedente (si) e, facoltativamente, scadenza_precedente (AAAA-MM-GG o GG/MM/AAAA). Una dichiarazione presente sulla riga prevale integralmente sul modulo: non eredita una conferma mancante. In caso di dubbi fermarsi e verificare.
Una scadenza registrata ancora valida prevale sulla dichiarazione e blocca il rinnovo, compreso il giorno della scadenza. Anche lo storico formativo esplicitamente collegato al corso e al tenant viene verificato. Un rinnovo richiede giornate successive alla scadenza e una nuova edizione; con scadenza ignota dichiarata, le giornate devono essere da oggi in avanti.
Il rinnovo crea una nuova frequenza, senza azzerare la precedente: conserva cliente, edizione, presenze, firme, completamento e scadenza originali. Gli attestati generati per frequenze successive hanno documenti distinti. Per completare un rinnovo serve la presenza alle nuove giornate oppure una nuova evidenza caricata e validata dopo la loro conclusione: il documento della vecchia frequenza non basta. Il numero della frequenza è visibile nelle iscrizioni, nel fascicolo e nel libretto; la dichiarazione è consultabile nel dettaglio dell’iscrizione con operatore e data. Le vecchie scadenze mancanti non vengono riempite automaticamente.
Una seconda edizione è bloccata mentre la frequenza precedente è ancora aperta. Ripetere lo stesso import sulla stessa edizione aperta riutilizza l’iscrizione, senza creare un secondo rinnovo. Per un rinnovo usare Discenti → Importa CSV, scegliendo solo le giornate della nuova edizione; il registro generale e l’import storico senza selezione dell’edizione non sono scorciatoie per aggirare questo controllo.
Le integrazioni applicano lo stesso controllo: se manca una conferma necessaria, la conversione deve essere verificata dall’operatore. La riconciliazione legacy si ferma in presenza di più frequenze della stessa coppia corso/discente, per evitare associazioni arbitrarie.
Tipologia della singola edizione¶
Una edizione con un solo cliente è Aziendale; con più clienti è Multiaziendale. Si considerano anche gli iscritti già assegnati all’edizione, escludendo le iscrizioni annullate. Lo stesso corso può quindi avere entrambe le tipologie di edizione.
Il cliente viene conservato sull’assegnazione alle giornate dell’edizione. Un discente già assegnato a un cliente diverso nella stessa edizione richiede verifica manuale: l’import non sovrascrive l’associazione. Lo stesso vale per una giornata già attribuita a un’altra edizione.
Dati storici senza cliente o edizione espliciti vengono mostrati come Da verificare. La migrazione non deduce clienti dalle aziende correnti del dipendente e non riclassifica automaticamente lo storico. Le impostazioni commerciali storiche a livello di catalogo/WooCommerce rimangono distinte dalla tipologia operativa delle edizioni.
Orari di ogni giornata¶
Nel calendario o nel wizard scegliere:
- Mattina e pomeriggio: due fasce complete e separate da una pausa.
- Solo mattina: una fascia mattutina.
- Solo pomeriggio: una fascia pomeridiana.
- Orario continuato: un unico inizio e fine, compilati nella prima fascia; nessuna seconda fascia.
Ogni fascia richiede fine successiva all’inizio. Le fasce sovrapposte non sono accettate. La pausa non contribuisce alle ore del corso. Per l’orario continuato calendario, registro tablet e PDF mostrano una sola fascia e una sola presenza/firma prevista.
Le giornate storiche con una sola fascia non vengono automaticamente dichiarate a orario continuato: serve una scelta esplicita dell’operatore. Ogni giornata può avere una modalità diversa dalle altre.
Compilare e revocare il registro¶
Il link tablet permette di registrare le presenze e acquisire le firme delle giornate assegnate. Gli invii parziali conservano i campi non inviati; un dispositivo pubblico non può sostituire o cancellare una firma esistente.
Per correggere una firma, usare Rimuovi nel registro amministrativo. La rimozione è tracciata con operatore, iscrizione, giornata e fascia. Se nel frattempo un altro dispositivo ha aggiornato la firma, ricaricare la pagina prima di ripetere la correzione.
Revoca disabilita il link della giornata sia in lettura sia in scrittura. La revoca riguarda la giornata e non soltanto una copia dell'URL; generare nuovamente lo stesso link non lo riattiva. Questa modifica non introduce un comando di riattivazione.
Completare e attestare¶
Il completamento richiede giornate concluse, orari validi, presenze nelle fasce previste e ore almeno pari alla durata configurata del corso. In alternativa è possibile utilizzare il registro firmato o la documentazione dell'ente esterno dopo caricamento e validazione esplicita del corso.
La generazione dell'attestato richiede iscrizione completata e documento di evidenza validato ancora presente nell'archivio. La procedura non certifica automaticamente la conformità normativa o la correttezza del contenuto del documento caricato.
Gli attestati sono associati al discente e alle sue aziende nel tenant corrente. Nel fascicolo e nello ZIP compaiono i documenti comuni del corso e i documenti individuali del titolare. Gli attestati storici privi di titolarità verificata richiedono riconciliazione prima di essere inclusi.
Azioni e sincronizzazione¶
I vecchi URL di generazione/sincronizzazione mostrano una conferma. L'operazione avviene con invio del modulo, non all'apertura del collegamento.
Per le iscrizioni dirette da ordine WooCommerce sono assegnate tutte le giornate indicate nei metadati o associate alla variante. Una selezione esplicita contenente giornate inesistenti o di un altro corso viene rifiutata. I preventivi conservano ancora la singola giornata della prenotazione: la prenotazione multigiornata non è inclusa in questa correzione.
Un job WooCommerce con errori segnala un esito di errore al servizio di esecuzione. Il recupero ordini utilizza la data di modifica, includendo così gli aggiornamenti di ordini creati in precedenza. Parametro documentato nell'API ufficiale WooCommerce; la compatibilità dell'installazione va confermata nel collaudo.
I partecipanti rimasti «convertiti» senza iscrizione dopo una pulizia vengono segnalati come da verificare dalla riconciliazione: non vengono ricreate iscrizioni automaticamente.