Generazione di attestati, report sui corsi, lettere di incarico ed altri documenti da modello ODT
IMPORTANTE: il file deve essere in formato .odt e non .doc, si sconsiglia dunque l’uso di word. E’ bensì altamente consigliato l’uso di Openoffice
Questa mini guida sulla generazione di attestati, certificazioni, report sui corsi ed altri documenti da modello .odt, è suddivisa nei seguenti paragrafi:
- INTRODUZIONE
- DEFINIZIONE SEGNAPOSTI
- LISTE DI SEGNAPOSTI
- SEGNAPOSTI IN TABELLE
- BLOCCHI CONDIZIONALI
- FILTRI
- ELENCO SEGNAPOSTI DISPONIBILI
- CARICAMENTO A SISTEMA DEL MODELLO ODT
- UTILIZZO DEL MODELLO DI CONTRATTO
1. INTRODUZIONE
Nella direzione di consentire alla singola scuola una gestione autonoma di certificati, attestati, report e documenti di altro tipo, il sistema permette di preparare ed attivare in totale autonomia documenti che saranno poi esportabili per ogni corso e per ogni studente iscritto ai corsi.
Il report dovrà essere un modello in formato .odt, cioè OpenOffice, il contenuto potrà integrare un contenuto dinamico tramite l’utilizzo di segnaposto rispondenti ad una sintassi predefinita, potendo scegliere tra un ampio elenco di entità e di attributi che permettono di generare documenti di vario tipo.
Il sistema permetterà anche di accedere ai campi personalizzati dei corsi e degli utenti, o di inserire tabelle per elencare gli iscritti, con una sintassi piuttosto semplice, permettendo di generare documenti piuttosto ricchi.
La generazione di un report da modello odt permette di generare documenti in formato Open Document Text (documento di testo ODF, estensione .odt), contenenti informazioni dinamiche, utilizzando un file .odt, chiamato modello, nel quale sono inseriti degli appositi segnaposti, che, nel documento finale generato, verrano sostituiti dal valore indicato dal segnaposto.
ATTENZIONE: modello si riferisce, nel contesto di questa documentazione, ad un normale file .odt contente dei segnaposti, il file deve essere in formato documento di testo ODF, estensione .odt.
Il modello per generare il documento finale, da caricare in fase di configurazione del report, è un normale documento odt e dove c’è del testo, lì può essere inserito un segnaposto, all’interno del normale flusso del testo, anche dentro una tabella.
Questa tipologia di report può essere collegata ad un corso, ad uno studente di un corso o ad un docente di un corso e permette di generare attestati, certificati e report sul corso, può inoltre essere collegata ad uno studente dell’anagrafica studenti, per generare ad esempio delle schede di iscrizione oppure ad un docente dell’anagrafica docenti per generare una lettera di incarico; altro utilizzo possibile è come modello di contratto, da usare nella gestione degli ordini.
2. DEFINIZIONE DEI SEGNAPOSTI
La sintassi per definire un segnaposto è {oggetto.attributo}, il nome dell’oggetto è la parte del nome a sinistra del punto, il nome dell’attributo è la parte a destra del punto; quindi, ad esempio, per mostrare nel documento finale il nome del corso si usa {course.name}, per mostrare la sede del corso si usa {location.location}.
Se il nome dell’oggetto è plurale, in inglese, significa che è una lista di valori, che può essere utilizzata all’interno di una tabella o per creare un elenco di valori nel documento finale, utilizzando una apposita sintassi per indicare l’inizio e la fine della lista; nella lista dei segnaposti che segue è indicato quando un segnaposto è una lista.
Alcuni segnaposto, ad esempio course, students, student, teachers, teacher, posseggono un attributo che ha un comportamento diverso, l’attributo customfields, la cui sintassi è {oggetto.customfields[codice]}, che serve per mostrare il valore di un campo personalizzato, ad esempio, per mostrare il valore del campo personalizzato del corso con codice _LIVELLO, si usa {course.customfields[LIVELLO]}.
Riassumendo, se volessimo mostrare il nome, il codice, la sede e il campo personalizzato LIVELLO, del corso:
{course.name}
{course.code}
{location.location}
{course.customfields[_LIVELLO]}
3. LISTE DI SEGNAPOSTI
La sintassi per utilizzare una lista di valori, prevede di indicare dove inizia la lista e dove finisce, nel blocco di testo racchiuso tra i due marcatori si inseriscono i segnaposti per mostrare i valori di ogni elemento della lista, ad esempio per elencare i nomi completi e l’indirizzo email di ogni studente del corso:
[!-- BEGIN students --]
{students.fullName} {students.email}
[!-- END students --]
la riga tra [!-- BEGIN students --] e [!-- END students --]
sarà ripetuta per ogni studente, nel documento finale.
Per ogni elemento della lista sono disponibili due segnaposti speciali, _position, la posizione dell’elemento nella lista e _total, il totale di elementi nella lista.
4. SEGNAPOSTI IN TABELLE
La sintassi per utilizzare una lista di valori all’interno di una tabella, prevede di indicare dove inizia la riga della tabella e dove finisce, nel blocco di testo racchiuso tra i due marcatori si inseriscono i segnaposti per mostrare i valori di ogni elemento della lista, ad esempio per elencare i nomi completi, l’indirizzo email ed il telefono mobile di ogni studente del corso, all’interno di una tabella:
[!-- BEGIN row.students --] {students.fullName} |
{students.email}
|
{students.mobile} [!-- END row.students --] |
la riga della tabella tra [!-- BEGIN row.students --]
e [!-- END row.students --]
sarà ripetuta per ogni studente, nella tabella del documento finale.
5. BLOCCHI CONDIZIONALI
Il blocco condizionale è una parte del documento, delimitato da appositi marcatori, al quale è associato una condizione, che può essere vera o falsa, se è vera il contenuto del blocco viene incluso nel documento finale, se falsa il contenuto del blocco viene eliminato dal documento finale.
Come condizione per il blocco può essere usato uno dei campi personalizzati definiti o le condizioni indicate nella sezione CONDIZIONE dell’elenco dei segnaposti disponibili.
La condizione che usa un campo personalizzato è vera se il campo è valorizzato, è falsa se è vuoto.
La sintassi per definire il blocco condizionale prevede di indicare l’inizio e la fine del blocco, indicando la condizione associata, ad esempio per definire un blocco condizionale da mostrare solo se l’ordine è scontato:
[!-- IF order.isDiscounted --]
Sconto: {order.discount}
[!-- ENDIF order.isDiscounted --]
order.isDiscounted è la condizione, se è vera l’ordine è scontato e viene mostrato lo sconto applicato, se è false l’ordine non è scontato e la riga dello sconto non verrà inserita nel documento finale.
Si può invertire il controllo della condizione aggiungendo NOT alla sintassi per definire il blocco condizionale, ad esempio per definire un blocco condizionale da mostrare solo se l’ordine non è scontato:
[!-- IF NOT order.isDiscounted --]
Sconto non applicabile.
[!-- ENDIF NOT order.isDiscounted --]
order.isDiscounted è la condizione, se è vera l’ordine è scontato ed il testo “Sconto non applicabile” non verrà mostrato nel documento finale, se è false l’ordine non è scontato e quindi il testo “Sconto non applicabile” verrà mostrato nel documento finale.
Per usare un campo personalizzato come condizione usare la seguente sintassi:
[!-- IF student.customfields[CERTIFICAZIONI] --]
Certificazioni: {student.customfields[CERTIFICAZIONI]}
[!-- ENDIF student.customfields[CERTIFICAZIONI] --]
la riga all’interno del blocco verrà mostrata solo le certificazioni dello studente sono state indicate, cioè se il campo personalizzato con codice CERTIFICAZIONI dello studente non è vuoto.
6. FILTRI
I Filtri permettono di eseguire un’operazione che modifica il valore del singolo segnaposto inserito nel documento e sono disponibili per ogni tipo di report odt, indipendentemente dalla sezione.
I filtri disponibili sono i seguenti:
- cut permette di limitare la lunghezza di un testo entro il valore indicato, ad esempio per limitare la lunghezza del nome del corso ad un massimo di 5 caratteri possiamo usare il segnaposto {course.name|cut[5]}
- daysbefore permette di calcolare una data anteriore alla data del segnaposto valorizzato, ad esempio se vogliamo ottenere la data corrispondente a 2 settimane prima dell’inizio del corso possiamo usare il segnaposto {course.startDate|daysbefore[14]}
- daysafter permette di calcolare una data posteriore alla data del segnaposto valorizzato, ad esempio se vogliamo ottenere la data corrispondente a 1 settimana dopo l’inizio del corso possiamo usare il segnaposto {course.startDate|daysafter[7]}
- lowercase cambia il valore del segnaposto in minuscolo, ad esempio per mostrare il nome del corso tutto in minuscolo usare il segnaposto {course.name|lowercase}
- uppercase cambia il valore del segnaposto in maiuscolo, ad esempio per mostrare il nome del corso tutto in maiuscolo usare il segnaposto {course.name|uppercase}
- uppercasefirst cambia il valore del segnaposto mettendo in maiuscolo la prima lettera, ad esempio per mostrare il nome del corso con la prima lettera in maiuscolo usare il segnaposto {course.name|uppercasefirst}
Se nel documento dovessero essere necessarie due versioni dello stesso segnaposto, una filtrata ed una non filtrata, basterà aggiungere un _ (trattino basso) alla seconda occorrenza del segnaposto, ad esempio usare {course.name|cut[5]} per mostrare il nome del corso abbreviato e {course_.name} per mostrare successivamente il nome del corso completo.
7. ELENCO SEGNAPOSTI DISPONIBILI
Segnaposto branch
Dati relativi al branch della Scuola, per i gestionali che gestiscono più di una filiale.SEGNAPOSTO | VALORE | NOTE |
---|---|---|
{branch.code} | codice filiale | |
{branch.description} | descrizione filiale | |
{branch.name} | nome filiale |
Segnaposto report
Dati relativi ai reportSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{report.parameters[name]} | eventuale parametro |
Segnaposto configurazione
Dati relativi alla configurazioneSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{configuration.settinga[name]} | valore del parametro di configurazione |
Segnaposto actualTeacher sezioni corsi
dati del docente del corso sezione corsi, valorizzato solo se il corso è tenuto da un solo docente o il report è per singolo docente, dati ricavati dalla pianificazione delle lezioniSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{actualTeacher.address} | indirizzo | |
{actualTeacher.birthdate} | data di nascita | |
{actualTeacher.birthday} | compleanno | |
{actualTeacher.birthplace} | luogo di nascita | |
{actualTeacher.birthprovince} | provincia di nascita | |
{actualTeacher.cap} | codice di avviamento postale | |
{actualTeacher.city} | città | |
{actualTeacher.country} | nazione | |
{actualTeacher.countryCode} | codice iso nazione | |
{actualTeacher.customfields[]} | campo personalizzato | tra le parentesi quadre deve essere indicato il codice del campo personalizzato |
{actualTeacher.defaultRate} | importo della classe di retribuzione predefinita | €/ora |
{actualTeacher.defaultRateName} | classe di retribuzione predefinita | |
{actualTeacher.email} | ||
{actualTeacher.fee} | compenso | |
{actualTeacher.fullName} | nominativo | |
{actualTeacher.gender} | genere | |
{actualTeacher.hourlyFee} | compenso orario del Docente | Viene visualizzata la retribuzione impostata nell'anagrafica |
{actualTeacher.id} | identificativo | |
{actualTeacher.mobile} | telefono mobile | |
{actualTeacher.pec} | indirizzo di posta elettronica certificata | |
{actualTeacher.phone} | telefono fisso | |
{actualTeacher.province} | provincia | |
{actualTeacher.subjectsList} | materie insegnate nel corso | |
{actualTeacher.name} | nome | |
{actualTeacher.surname} | cognome | |
{actualTeacher.alias} | Alias | Se inserito in anagrafica docente |
{actualTeacher.taxcode} | codice fiscale | |
{actualTeacher.vatnumber} | partita iva | |
{actualTeacher.hours} | ore di lezione | |
CONDIZIONE | VALORE | NOTE |
actualTeacher.isAdult | vero se il docente è maggiorenne, falso altrimenti | |
actualTeacher.isNotAdult | vero se il docente è minorenne, falso altrimenti | |
actualTeacher.teacherSubjects | elenco concatenato delle materie previste dell'insegnante | Esempio: Matematica, Italiano, Lingua inglese |
Segnaposto actualTeachers sezioni corsi
dati dei docenti del corso sezione corsi, lista, dati ricavati dalla pianificazione delle lezioniSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{actualTeachers.address} | indirizzo | |
{actualTeachers.birthdate} | data di nascita | |
{actualTeachers.birthday} | compleanno | |
{actualTeachers.birthplace} | luogo di nascita | |
{actualTeachers.birthprovince} | provincia di nascita | |
{actualTeachers.cap} | codice di avviamento postale | |
{actualTeachers.city} | città | |
{actualTeachers.country} | nazione | |
{actualTeachers.countryCode} | codice iso nazione | |
{actualTeachers.customfields[]} | campo personalizzato | tra le parentesi quadre deve essere indicato il codice del campo personalizzato |
{actualTeachers.defaultRate} | importo della classe di retribuzione predefinita | €/ora |
{actualTeachers.defaultRateName} | classe di retribuzione predefinita | |
{actualTeachers.email} | ||
{actualTeachers.fee} | compenso | |
{actualTeachers.fullName} | nominativo | |
{actualTeachers.gender} | genere | |
{actualTeachers.hourlyFee} | compenso orario | |
{actualTeachers.id} | identificativo | |
{actualTeachers.mobile} | telefono mobile | |
{actualTeachers.pec} | indirizzo di posta elettronica certificata | |
{actualTeachers.phone} | telefono fisso | |
{actualTeachers.province} | provincia | |
{actualTeachers.subjectsList} | materie insegnate nel corso | |
{actualTeachers.name} | nome | |
{actualTeachers.surname} | cognome | |
{actualTeachers.alias} | Alias | Se inserito in anagrafica docente |
{actualTeachers.taxcode} | codice fiscale | |
{actualTeachers.vatnumber} | partita iva | |
{actualTeachers._position} | posizione dell'elemento nella lista | |
{actualTeachers._total} | totale degli elementi nella lista | |
{actualTeachers.hours} | ore totali | |
CONDIZIONE | VALORE | NOTE |
actualTeachers.isAdult | vero se il docente è maggiorenne, falso altrimenti | |
actualTeachers.isNotAdult | vero se il docente è minorenne, falso altrimenti | |
actualTeachers.teacherSubjects | elenco concatenato delle materie previste dell'insegnante | Esempio: Matematica, Italiano, Lingua inglese |
Segnaposto company sezione corsi
dati della azienda cliente sezione corsiSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{company.address} | indirizzo | |
{company.cap} | codice di avviamento postale | |
{company.city} | città | |
{company.country} | nazione | |
{company.countryCode} | codice della nazione | |
{company.email} | ||
{company.mobile} | telefono mobile | |
{company.name} | ragione sociale | |
{company.phone} | telefono fisso | |
{company.province} | provincia | |
{company.taxcode} | codice fiscale | |
{company.vatnumber} | partita iva |
Segnaposto course sezione corsi
dati relativi al corso sezione corsiSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{course.booksTitleList} | libri di testo | ogni titolo è separato con la virgola dal successivo, non valorizzato se modello di corso |
{course.code} | codice | |
{course.customfields[]} | campo personalizzato | tra le parentesi quadre deve essere indicato il codice del campo personalizzato, valorizzato solo se è un un corso, non valorizzato in caso di modello di corso |
{course.endDate} | data fine corso | non valorizzato se modello di corso |
{course.hours} | totale delle ore di lezione del corso | |
{course.lessons} | numero di lezioni | |
{course.name} | nome | |
{course.startDate} | data inizio | non valorizzato se modello di corso |
{course.subject} | materia di studio | valorizzato solo se corso mono materia |
{course.subjectAlias} | Alias materia di studio | valorizzato solo se corso mono materia |
{course.teachersFullNameList} | nominativi docenti | ogni nominativo è separato con la virgola dal successivo, non valorizzato se modello di corso |
{course.teachingYear} | anno accademico | non valorizzato se modello di corso |
{course.internalStartLevel} | Livello interno di partenza del corso | Valorizzato se livello inserito nella scheda del corso |
{course.internalStartLevelFirstPart} | Livello interno di partenza del corso prima parte | Es A1.1 - Beginner. Viene restituito la parte prima della linea - : "A1.1" |
{course.internalStartLevelSecondPart} | Livello interno di partenza del corso seconda parte | Es A1.1 - Beginner. Viene restituito la seconda parte dopo la linea - : "Beginner" |
{course.internalStartLevelDescription} | descrizione del livello interno di inizio | |
{course.internalEndLevel} | Livello interno di arrivo del corso | Valorizzato se livello inserito nella scheda del corso |
{course.internalEndLevelFirstPart} | Livello interno di fine corso prima parte | Es A1.1 - Beginner. Viene restituito la parte prima della linea - : "A1.1" |
{course.internalEndLevelSecondPart} | Livello interno di fine corso seconda parte | Es A1.1 - Beginner. Viene restituito la seconda parte dopo la linea - : "Beginner" |
{course.internalEndLevelDescription} | descrizione del livello interno di arrivo | |
{course.certificateStartLevel} | Livello certificato di partenza del corso | Valorizzato se livello inserito nella scheda del corso |
{course.certificateEndLevel} | Livello certificato di arrivo del corso | Valorizzato se livello inserito nella scheda del corso |
{course.studentsFullNameList} | elenco studenti, il separatore è la virgola | |
{course.enrolledStudents} | numero di studenti iscritti | |
{course.plannedHours} | ore di lezione pianificate | |
{course.lessonsPerWeek} | numero di lezioni a settimana, impostato solo se corso regolare | |
{course.lessonsWeekDay} | giorno della settimana di lezione, impostato solo se corso regolare e 1 lezione a settimana | |
{course.lessonsWeekSchedule} | lezioni, giorni della settimana e orario | valorizzato se più di una lezione a settimana, non valorizzato se modello di corso |
{course.lessonsStartTime} | orario di inizio lezioni, impostato solo se corso regolare | |
{course.lessonsEndTime} | orario di fine lezioni, impostato solo se corso regolare | |
{course.locationName} | nome della sede dove si svolge il cors | |
{course.locationCompleteAddress} | indirizzo della sede dove si svolge il corso | |
{course.cost} | costo del corso | |
{course.costIfInstallments} | costo in caso di pagamento a rate | |
{course.installmentsNumber} | numero di rate previste dall'eventuale piano di rateizzazione | |
{course.firstInstallmentAmount} | importo prima rata dell'eventuale piano di rateizzazione | |
{course.firstInstallmentDate} | data prima rata dell'eventuale piano di rateizzazione | |
{course.firstInstallmentDay} | giorno prima rata dell'eventuale piano di rateizzazione | |
{course.firstInstallmentMonth} | mese prima rata dell'eventuale piano di rateizzazione | |
{course.installmentsAdvanceAmount} | ammontare pagato in anticipo | |
{course.model} | nome modello usato per creare il corso | |
{course.lessonsDuration} | durata lezioni, impostato solo se corso regolare, in minuti |
Segnaposto currentDate
dati relativi alla data correnteSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{currentDate.date} | data corrente | |
{currentDate.day} | giorno corrente | da 01 a 31 |
{currentDate.year} | anno corrente | |
{currentDate.month} | mese corrente | da 1 a 12 |
{currentDate.monthName} | nome mese corrente | |
{currentDate.weekDay} | giorno della settimana |
Segnaposto judgment sezione corsi
giudizio finale dello studente, valorizzato solo se il report è per singolo studenteSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{judgment.comment} | commento | |
{judgment.grade} | giudizio | |
{judgment.customfields[]} | campo personalizzato | tra le parentesi quadre deve essere indicato il codice del campo personalizzato |
{judgment.customGrade} | giudizio personalizzato |
Segnaposto judgments sezione corsi
giudizio finali del corso, listaSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{judgments.comment} | commento | |
{judgments.grade} | giudizio | |
{judgments.customfields[]} | campo personalizzato | tra le parentesi quadre deve essere indicato il codice del campo personalizzato |
{judgments.customGrade} | giudizio personalizzato | |
{judgments._position} | posizione dell'elemento nella lista | |
{judgments._total} | totale degli elementi nella lista |
Segnaposto FinalJudgment
dati relativi al voto finale in base al periodo didattico.Il periodo corrispondente è definito dal prefisso "firstFinalJudgment" "secondFinalJudgments" "thirdFinalJudgment" "fourthFinalJudgment"
SEGNAPOSTO | VALORE | NOTE |
---|---|---|
{firstFinalJudgment.grade} | giudizio | |
{firstFinalJudgment.comment} | commento | |
{firstFinalJudgment.customGrade} | giudizio personalizzato | |
{firstFinalJudgment.customfields[]} | campi personalizzati |
Segnaposto FinalJudgments
dati relativi al voto finale in base al periodo didattico.Il periodo corrispondente è definito dal prefisso "firstFinalJudgments" "secondFinalJudgments" "thirdFinalJudgments" "fourthFinalJudgments"
SEGNAPOSTO | VALORE | NOTE |
---|---|---|
{firstFinalJudgments.grade} | giudizio | |
{firstFinalJudgments.comment} | commento | |
{firstFinalJudgments.customGrade} | giudizio personalizzato | |
{firstFinalJudgments.customfields[]} | campi personalizzati |
Segnaposto lesson sezione corsi
informazioni sulle lezioni del corsoSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{lesson.duration} | durata lezioni | in minuti |
Segnaposto lessons sezione corsi
informazioni sulle lezioni del corso, listaSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{lessons.classroom} | aula | |
{lessons.date} | data | |
{lessons.duration} | durata | in minuti |
{lessons.endTime} | orario fine lezione | |
{lessons.originalDate} | data originale lezione | |
{lessons.startTime} | orario inizio lezione | |
{lessons.subject} | materia | |
{lessons.subjectAlias} | Alias materia | |
{lessons.teachersFullNameList} | nominativi docenti | ogni nominativo è separato con la virgola dal successivo |
{lessons.topic} | argomento | |
{lessons._position} | posizione dell'elemento nella lista | |
{lessons._total} | totale degli elementi nella lista | |
{lessons.publiccomments} | commento pubblico / programma lezione | campo fruibile sse inserita presenza docente |
{lessons.comments} | commento privato | |
{lessons.homeworks} | compiti a casa se assegnati nella lezione |
Segnaposto lessonsCounter sezione corsi
contatore delle lezioniSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{lessonsCounter.totalHeld} | lezioni tenute | |
{lessonsCounter.totalHoursHeld} | durata delle lezioni tenute | in ore |
Segnaposto location sezione corsi
informazioni sulle sede del corsoSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{location.address} | indirizzo | |
{location.cap} | ||
{location.city} | città | |
{location.location} | nome sede | |
{location.province} | provincia |
Segnaposto model sezione corsi
informazioni sulle modello del corso sezione corsiSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{model.name} | nome modello |
Segnaposto plannedTeacher sezioni corsi
dati del docente del corso sezione corsi, valorizzato solo se il corso è tenuto da un solo docente o il report è per singolo docente, dati ricavati dalla pianificazione del corsoSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{plannedTeacher.address} | indirizzo | |
{plannedTeacher.birthdate} | data di nascita | |
{plannedTeacher.birthday} | compleanno | |
{plannedTeacher.birthplace} | luogo di nascita | |
{plannedTeacher.birthprovince} | provincia di nascita | |
{plannedTeacher.cap} | codice di avviamento postale | |
{plannedTeacher.city} | città | |
{plannedTeacher.country} | nazione | |
{plannedTeacher.countryCode} | codice iso nazione | |
{plannedTeacher.customfields[]} | campo personalizzato | tra le parentesi quadre deve essere indicato il codice del campo personalizzato |
{plannedTeacher.defaultRate} | importo della classe di retribuzione predefinita | €/ora |
{plannedTeacher.defaultRateName} | classe di retribuzione predefinita | |
{plannedTeacher.email} | ||
{plannedTeacher.fee} | compenso | per il corso, valorizzato solo se la durata del corso può essere calcolata |
{plannedTeacher.fullName} | nominativo | |
{plannedTeacher.gender} | genere | |
{plannedTeacher.hourlyFee} | compenso orario | |
{plannedTeacher.id} | identificativo | |
{plannedTeacher.pec} | indirizzo di posta elettronica certificata | |
{plannedTeacher.phone} | telefono fisso | |
{plannedTeacher.province} | provincia | |
{plannedTeacher.subjectsList} | materie insegnate nel corso | |
{plannedTeacher.name} | nome | |
{plannedTeacher.surname} | cognome | |
{plannedTeacher.alias} | Alias | Se inserito in anagrafica docente |
{plannedTeacher.taxcode} | codice fiscale | |
{plannedTeacher.vatnumber} | partita iva | |
{plannedTeacher.citizenship} | cittadinanza | |
{plannedTeacher.passport} | numero del passaporto | |
{plannedTeacher.profession} | professione | |
{plannedTeacher.maritalstatus} | stato civile | |
{plannedTeacher.qualification} | qualifica | |
{plannedTeacher.notes} | note | |
{plannedTeacher.cardnumber} | numero della eventuale tessera | |
{plannedTeacher.hours} | ore di lezione | |
CONDIZIONE | VALORE | NOTE |
plannedTeacher.isAdult | vero se il docente è maggiorenne, falso altrimenti | |
plannedTeacher.isNotAdult | vero se il docente è minorenne, falso altrimenti | |
plannedTeacher.teacherSubjects | elenco concatenato delle materie previste dell'insegnante | Esempio: Matematica, Italiano, Lingua inglese |
Segnaposto plannedTeachers sezioni corsi
dati dei docenti del corso sezione corsi, lista, dati ricavati dalla pianificazione del corsoSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{plannedTeachers.address} | indirizzo | |
{plannedTeachers.birthdate} | data di nascita | |
{plannedTeachers.birthday} | compleanno | |
{plannedTeachers.birthplace} | luogo di nascita | |
{plannedTeachers.birthprovince} | provincia di nascita | |
{plannedTeachers.cap} | codice di avviamento postale | |
{plannedTeachers.city} | città | |
{plannedTeachers.country} | nazione | |
{plannedTeachers.countryCode} | codice iso nazione | |
{plannedTeachers.customfields[]} | campo personalizzato | tra le parentesi quadre deve essere indicato il codice del campo personalizzato |
{plannedTeachers.defaultRate} | importo della classe di retribuzione predefinita | €/ora |
{plannedTeachers.defaultRateName} | classe di retribuzione predefinita | |
{plannedTeachers.email} | ||
{plannedTeachers.fee} | compenso | per il corso, valorizzato solo se la durata del corso può essere calcolata |
{plannedTeachers.fullName} | nominativo | |
{plannedTeachers.gender} | genere | |
{plannedTeachers.hourlyFee} | compenso orario | |
{plannedTeachers.id} | identificativo | |
{plannedTeachers.mobile} | telefono mobile | |
{plannedTeachers.pec} | indirizzo di posta elettronica certificata | |
{plannedTeachers.phone} | telefono fisso | |
{plannedTeachers.province} | provincia | |
{plannedTeachers.subjectsList} | materie insegnate nel corso | |
{plannedTeachers.name} | nome | |
{plannedTeachers.surname} | cognome | |
{plannedTeachers.alias} | Alias | Se inserito in anagrafica docente |
{plannedTeachers.taxcode} | codice fiscale | |
{plannedTeachers.vatnumber} | partita iva | |
{plannedTeachers._position} | posizione dell'elemento nella lista | |
{plannedTeachers._total} | totale degli elementi nella lista | |
{plannedTeachers.citizenship} | cittadinanza | |
{plannedTeachers.passport} | numero del passaporto | |
{plannedTeachers.profession} | professione | |
{plannedTeachers.maritalstatus} | stato civile | |
{plannedTeachers.qualification} | qualifica | |
{plannedTeachers.notes} | note | |
{plannedTeachers.cardnumber} | numero della eventuale tessera | |
{plannedTeachers.hours} | ore di lezione | |
CONDIZIONE | VALORE | NOTE |
plannedTeachers.isAdult | vero se il docente è maggiorenne, falso altrimenti | |
plannedTeachers.isNotAdult | vero se il docente è minorenne, falso altrimenti | |
plannedTeachers.teacherSubjects | elenco concatenato delle materie previste dell'insegnante | Esempio: Matematica, Italiano, Lingua Inglese |
Segnaposto progresses sezione corsi
progressi dello studente, voti ordinati dal più vecchio al più recente, valorizzato solo se il report è per singolo studente, listaSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{progresses.ability} | abilità conseguita | |
{progresses.date} | data assegnazione voto | |
{progresses.vote} | voto | |
{progresses.attendanceStatus} | Stato presenza | verrà indicato se presente o assente alla lezione |
{progresses.publiccomments} | Commento pubblico della lezione | |
{progresses.description} | Descrizione della lezione | |
{progresses.comments} | Commento della lezione | |
{progresses.homeworks} | Compiti assegnati | |
{progresses.customfields[]} | Campo personalizzato | Tra le parentesi quadre inserire il codice del campo custom |
Segnaposto protocol sezione corsi
numero di protocolloSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{protocol.id} | id univoco | |
{protocol.number} | numero progressivo non formattato | |
{protocol.year} | anno | |
{protocol.formattedNumber} | numero progressivo formattato |
Segnaposto subjects sezione corsi
materie di studio del corso, valorizzato solo se il parametro del corso "Alloca un numero specifico di ore per ogni materia" è selezionato, listaSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{subjects.hours} | totale ore materia | |
{subjects.teacher} | cognome e nome docente della materia | |
{subjects.title} | materia di studio | |
{subjects._position} | posizione dell'elemento nella lista | |
{subjects._total} | totale degli elementi nella lista |
Segnaposto teachersubjects sezione corsi
informazioni docenti del corso, valorizzato solo se il parametro del corso "Alloca un numero specifico di ore per ogni materia" è selezionato, listaSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{teachersubjects.hours} | Ore assegnate | Riferite ad ogni singolo modulo |
{teachersubjects.teacher} | Docenti | Riferiti ad ogni singolo modulo |
{teachersubjects.title} | Materie | Riferite ad ogni singolo modulo |
Segnaposto student sezione corsi
dati dello studente del corso sezione corsi, valorizzato solo se il report è per singolo studenteSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{student.abilities[]} | abilità conseguita | tra le parentesi quadre deve essere indicato il codice dell'abilità |
{student.absence} | assenze | lezioni |
{student.absenceHours} | assenze | ore |
{student.absencePercentage} | percentuale di assenze | calcolata sulle ore di assenza |
{student.address} | indirizzo | |
{student.attendance} | presenze | lezioni |
{student.attendanceHours} | presenze | ore |
{student.attendancePercentage} | percentuale di presenze | calcolata sulle ore di presenza |
{student.birthdate} | data di nascita | |
{student.birthday} | compleanno | |
{student.birthplace} | luogo di nascita | |
{student.birthprovince} | provincia di nascita | |
{student.cap} | codice di avviamento postale | |
{student.city} | città | |
{student.country} | nazione | |
{student.countryCode} | codice iso nazione | |
{student.customfields[]} | campo personalizzato | tra le parentesi quadre deve essere indicato il codice del campo personalizzato |
{student.email} | ||
{student.fullName} | nominativo | |
{student.gender} | genere | |
{student.id} | identificativo | |
{student.certificateStartLevel} | livello di studio certificato all'inizio del corso. | Impostato dalla scheda Livelli Didattica dello Studente |
{student.certificateEndLevel} | livello di studio certificato alla fine del corso. | Impostato dalla scheda Valutazioni del corso. |
{student.internalEndLevel} | livello di studio interno alla fine del corso. | Impostato dalla scheda Valutazioni del corso. |
{student.internalStartLevel} | livello di studio interno all'inizio del corso. | Impostato dalla scheda Livelli Didattica dello Studente. |
{student.internalStartLevelDescription} | Descrizione livello di studio interno all'inizio del corso. | Impostato dalla scheda Livelli Didattica dello Studente. |
{student.internalEndLevelDescription} | Descrizione livello di studio interno alla fine del corso. | Impostato dalla scheda Valutazioni |
{student.lastVote} | voto più recente | valorizzato solo se corso con una sola materia |
{student.lastVoteComment} | commento al voto più recente | valorizzato solo se corso con una sola materia |
{student.lastVoteDate} | data voto più recente | valorizzato solo se corso con una sola materia |
{student.mobile} | telefono mobile | |
{student.name} | nome | |
{student.pec} | indirizzo di posta elettronica certificata | |
{student.phone} | telefono fisso | |
{student.province} | provincia | |
{student.surname} | cognome | |
{student.taxcode} | codice fiscale | |
{student.vatnumber} | partita iva | |
{student.studLocation} | Sede di riferimento | |
{student.citizenship} | cittadinanza | |
{student.studyplan} | piano di studi attuale | |
{student.lastVoteAbilities[]} | abilità collegate al voto più recente | |
{student.passport} | numero del passaporto | |
{student.profession} | professione | |
{student.maritalstatus} | stato civile | |
{student.qualification} | qualifica | |
{student.notes} | note | |
{student.cardnumber} | numero della eventuale tessera | |
{student.enrollmentDate} | data iscrizione al corso | |
{student.attendanceLastDate} | data ultima presenza | |
CONDIZIONE | VALORE | NOTE |
student.isAdult | vero se lo studente è maggiorenne, falso altrimenti | |
student.isNotAdult | vero se lo studente è minorenne, falso altrimenti |
Segnaposto students sezione corsi
dati degli studenti del corso sezione corsi, listaSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{students.abilities[]} | abilità conseguita | tra le parentesi quadre deve essere indicato il codice dell'abilità |
{students.absence} | assenze | lezioni |
{students.absenceHours} | assenze | ore |
{students.absencePercentage} | percentuale di assenze | calcolata sulle ore di assenza |
{students.address} | indirizzo | |
{students.attendance} | presenze | lezioni |
{students.attendanceHours} | presenze | ore |
{students.attendancePercentage} | percentuale di presenze | calcolata sulle ore di presenza |
{students.birthdate} | data di nascita | |
{students.birthday} | compleanno | |
{students.birthplace} | luogo di nascita | |
{students.birthprovince} | provincia di nascita | |
{students.cap} | codice di avviamento postale | |
{students.city} | città | |
{students.country} | nazione | |
{students.countryCode} | codice iso nazione | |
{students.customfields[]} | campo personalizzato | tra le parentesi quadre deve essere indicato il codice del campo personalizzato |
{students.email} | ||
{students.fullName} | nominativo | |
{students.gender} | genere | |
{students.id} | identificativo | |
{students.internalEndLevel} | livello di studio interno alla fine del corso | Valorizzato se livello inserito nella scheda del corso |
{students.internalStartLevel} | livello di studio interno all'inizio del corso | Impostato dalla scheda Livelli Didattica dello Studente |
{students.lastVote} | voto più recente | valorizzato solo se corso con una sola materia |
{students.lastVoteComment} | commento al voto più recente | valorizzato solo se corso con una sola materia |
{students.lastVoteDate} | data voto più recente | valorizzato solo se corso con una sola materia |
{students.mobile} | telefono mobile | |
{students.name} | nome | |
{students.pec} | indirizzo di posta elettronica certificata | |
{students.phone} | telefono fisso | |
{students.province} | provincia | |
{students.surname} | cognome | |
{students.taxcode} | codice fiscale | |
{students.vatnumber} | partita iva | |
{students.citizenship} | cittadinanza | |
{students.passport} | numero del passaporto | |
{students.certificateStartLevel} | livello di studio certificato all'inizio del corso | Impostato dalla scheda Livelli Didattica dello Studente |
{students.certificateEndLevel} | livello di studio certificato alla fine del corso | Valorizzato se livello inserito nella scheda del corso. |
{students.studyplan} | piano di studi attuale | |
{students.lastVoteAbilities[]} | abilità collegate al voto più recente | |
{students.profession} | professione | |
{students.maritalstatus} | stato civile | |
{students.qualification} | qualifica | |
{student.studLocation} | Sede di riferimento | |
{students.notes} | note | |
{students.cardnumber} | numero della eventuale tessera | |
{students.enrollmentDate} | data iscrizione al corso | |
{students.attendanceLastDate} | data ultima presenza | |
{students.judgmentComment} | commento | |
{students.judgmentGrade} | giudizio | |
{students.judgmentCustomFields[]} | campo personalizzato | tra le parentesi quadre deve essere indicato il codice del campo personalizzato |
{students.judgmentCustomGrade} | giudizio personalizzato | |
CONDIZIONE | VALORE | NOTE |
students.isAdult | vero se il genitore/tutore è maggiorenne, falso altrimenti | |
students.isNotAdult | vero se il genitore/tutore è minorenne, falso altrimenti |
Segnaposto studyPlan sezione ordini
piano di studioSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{studyPlan.name} | name | |
{studyPlan.years} | durata | in anni |
{studyPlan.code} | codice | |
{studyplan.firstChoosedSubject} | prima materia a scelta del piano di studio | |
{studyplan.subscriptionSubjectsList} | elenco materie a scelta del piano di studi | |
{studyPlan.yearName} | anno del piano di studio | |
{studyPlan.subscriptionYear} | anno di iscrizione |
Segnaposto teachingYear
dati relativi all'anno scolasticoSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{teachingYear.endDate} | data finale | |
{teachingYear.firstLesson} | data prima lezione | |
{teachingYear.lastLesson} | data ultima lezione | |
{teachingYear.name} | nome anno accademico | |
{teachingYear.startDate} | data iniziale |
Segnaposto teachingYear (se diviso in periodi)
dati relativi ai periodi in cui è suddiviso l'anno scolasticoSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{teachingYear.firstPeriod} | nome primo periodo | |
{teachingYear.firstPeriodStartDate} | data iniziale primo periodo | |
{teachingYear.firstPeriodEndDate} | data finale primo periodo | |
{teachingYear.secondPeriod} | nome secondo periodo | |
{teachingYear.secondPeriodStartDate} | data iniziale secondo periodo | |
{teachingYear.secondPeriodEndDate} | data finale secondo periodo | |
{teachingYear.thirdPeriod} | nome terzo periodo | |
{teachingYear.thirdPeriodStartDate} | data iniziale terzo periodo | |
{teachingYear.thirdPeriodEndDate} | data finale terzo periodo | |
{teachingYear.fourthPeriod} | nome quarto periodo | |
{teachingYear.fourthPeriodStartDate} | data iniziale quarto periodo | |
{teachingYear.fourthPeriodEndDate} | data finale quarto periodo |
Segnaposto vote sezione corsi
voto più recente dello studente, valorizzato solo se il report è per singolo studenteSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{vote.ability} | abilità conseguita | |
{vote.comment} | commento | |
{vote.date} | data assegnazione voto | |
{vote.vote} | voto |
Segnaposto votes sezione corsi
voti più recenti del corso, listaSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{votes.ability} | abilità conseguita | |
{votes.comment} | commento | |
{votes.date} | data assegnazione voto | |
{votes.vote} | voto | |
{votes._position} | posizione dell'elemento nella lista | |
{votes._total} | totale degli elementi nella lista |
Segnaposto firstPeriodGrades
Dati relativi al periodo didattico disponibile se report per singolo studente, voti per materia nel periodo indicato, riportato solo se i corsi sono parte di un Piano di Studio, lista.Il periodo corrispondente è definito dal prefisso "firstPeriodGrades" "secondPeriodGrades" "thirdPeriodGrades" "fourthPeriodGrades" ecc.
SEGNAPOSTO | VALORE | NOTE |
---|---|---|
{firstPeriodGrades.subject} | materia primo periodo didattico | |
{firstPeriodGrades.teacher} | docente primo periodo didattico | |
{firstPeriodGrades.grade} | voto primo periodo didattico | |
{firstPeriodGrades.judgment} | giudizio finale primo periodo didattico | |
{firstPeriodGrades.comment} | commento primo periodo didattico | |
{firstPeriodGrades.date} | data di assegnazione voto primo periodo didattico | |
{firstPeriodGrades.attendanceRate} | percentuale presenze primo periodo didattico | |
{firstPeriodGrades.absenceRate} | percentuale assenze primo periodo didattico | |
{firstPeriodGrades.ability} | abilità primo periodo didattico |
SEGNAPOSTO | VALORE | |||
---|---|---|---|---|
{firstPeriodGradesCourses.subject} | materia primo periodo | |||
{firstPeriodGradesCourses.teacher} | docente primo periodo | |||
{firstPeriodGradesCourses.grade} | Il settaggio schoolReport.subject.gradeAverage: VALORE 1 si calcola la media voto se impostata a semplice numerica. VALORE 0 - voto assegnato nel primo periodo. Attenzione! L'utilizzo è in caso di clienti che utilizzano una sola valutazione nel periodo! Al momento prevista per votazione semplice numerica e /o votazione multi abilità in base a come è stata impostata nel corso. | |||
{firstPeriodGradesCourses.courseName} | corso in cui è stata assegnata la valutazione. Per comparire deve essere attivo il settaggio: schoolReport.includeMultipleCoursesWithSameSubject = 1; | |||
{firstPeriodGradesCourses.votecomment} | commento voto primo periodo se inserito. | |||
{firstPeriodGradesCourses.date} | data di assegnazione della valutazione | |||
{firstPeriodGradesCourses.attendanceRate} | percentuale presenza primo periodo | |||
{firstPeriodGradesCourses.absenceRate} | percentuale assenza primo periodo | |||
{firstPeriodGradesCourses.judgment} | Giudizio finale primo periodo | |||
{firstPeriodGradesCourses.altjudgment} | Commento giudizio finale primo periodo | |||
{firstPeriodGradesCourses.commment} | abilità primo periodo |
8. CARICAMENTO A SISTEMA DEL MODELLO
Per inserire il modello di report nel sistema navigare su Configurazione → Reports e cliccare il pulsante “Aggiungi report“.
Dalla prossima schermata compilare i seguenti campi (entrando poi in Modifica del report saranno visibili altre impostazioni):
- Nome*: il nome del report (ad esempio “Attestato finale”, “Certificato di frequenza”, “Progress report”, etc)
- Abilitato: Lasciare spuntato per abilitare il report
- Visibilità: Impostare se il Report è visibile a tutti o solo a determinati amministratori.
- Descrizione: eventuale descrizione del report
- Tipo di report: scegliere l’opzione “Da modello odt” per poter caricare il proprio modello
- Sezione in cui mostrare il report *: Scheda del corso
- Report/export per singolo studente: se valorizzato questo checkbox, il report in questione sarà esportabile per singolo studente iscritto al corso, quindi come viene spiegato poco sotto, in caso di corsi individuali si potrà esportare il report dalla scheda del corso, mentre in caso di corso collettivo dalla sezione degli studenti iscritti al corso.
- Si tratta di un certificato/attestato, da emettere in una versione immodificabile: Se spuntato dovremmo indicare un numero di protoccolo (cliccare qui per la guida sui protocolli)
- Estensione del modello: OpenOffice Write (.odt)
- Modello del report: caricare il modello con estensione odt del proprio report
- Abilita scadenza certificato: Se abilitato andranno specificato i termini per la scadenza del Certificato emesso (cliccare qui per la guida sull’abilitazione delle notifiche automatiche per le scadenze dei certificati):
- Tipologia scadenza: Selezionare Giorni, Mesi o Anni
- Numero: Numero di giorni, mesi o anni prima della scadenza
- Tipologia anno: Voce che compare solo se in Tipologia scadenza è stato scelto Anni. Scegliere se gli anni da considerare sono di 365 giorni di calendario oppure se il certificato è valido fino alla fine dell’anno di scadenza.
- Utilizza modelli di comunicazione personalizzati: Permette di selezionare dei modelli di Email personalizzati (cliccare qui per la guida sulla creazione di un Modello Email/SMS personalizzato)
- Abilita verifica prima dell’emissione: Parametro riservato agli sviluppatori.
- Invia report via email: Indicare se il report è inviabile via email direttamente dal Corso.
- Report visibile ai docenti: Se spuntato il report generato potrà essere visualizzato e scaricato dai Docenti del Corso.
- Seleziona tipo: selezionare il tipo di estensione del file che dovrà avere il report che verrà esportato, potendo scegliere tra:
- OpenOffice Write (.odt)
- Portable Document Format (.pdf)
- Ordine *: l’ordine di elencazione dei report (es. 1, 2, 3, etc)
Cliccare il pulsante “Aggiungi report” per salvare l’operazione.
9. UTILIZZO DEI REPORT
In caso si tratti di un report per singolo studente (quindi se è stato valorizzata l’opzione “Report/export per singolo studente“), sarà possibile esportarlo per ciascun corso individuale dalla scheda del corso cliccando il tasto in alto a destra “Report / Export” e scegliendo il report specifico.
In caso di corso collettivo invece, si dovrà entrare nella sezione degli studenti iscritti al corso cliccando l’icona sulla riga dello stesso e cliccare dalla schermata successiva il pulsante “Report / Export” presente sulla riga di ciascun studente iscritto.
In caso di report per corso collettivo (quindi lasciando disabilitato il checkbox “Report/export per singolo studente“), per esempio un progress report in cui viene sintetizzato tramite una tabella l’avanzamento di ogni singolo iscritto al corso, sarà possibile esportare il report dalla scheda del corso cliccando il tasto in alto a destra “Report / Export” e scegliendo il report specifico.