Creazione del contratto di iscrizione tramite modello ODT per Preparation Centre
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 configurazione del contratto di iscrizione della scuola da modello ODT, è suddivisa nei seguenti paragrafi:
- INTRODUZIONE
- DEFINIZIONE SEGNAPOSTI
- LISTE DI SEGNAPOSTI
- SEGNAPOSTI IN TABELLE
- BLOCCHI CONDIZIONALI
- FILTRI
- ELENCO SEGNAPOSTI DISPONIBILI
- MODELLI DI ESEMPIO
- CARICAMENTO A SISTEMA DEL MODELLO
1. INTRODUZIONE
Un modello di contratto ODT è un file in formato odt che caricato a gestionale nella sezione Configurazione → Contratti & Report permette di generare documenti in formato PDF contenenti informazioni dinamiche, utilizzando un file .odt, chiamato modello, nel quale sono inseriti degli appositi segnaposti, che, nel documento finale generato, verranno 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.
I segnaposti possono essere inseriti in un contesto di scrittura normale. Possono essere inseriti anche in tabelle e possono essere mostrati con blocchi condizionali o filtri.
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 è al plurale, significa che verrà generata una lista di valori che può essere utilizzata all’interno di una tabella o per creare un elenco nel documento finale. In questo senso è possibile utilizzare una apposita sintassi per indicare l’inizio e la fine della tabella.
E’ possibile creare dei segnaposti aggiuntivi utilizzando dei campi personalizzati, la sintassi di questi segnaposti è: {oggetto.customfields[codice]}, verrà mostrato il campo personalizzato che ha il codice inserito tra parentesi quadre.
3. LISTE DI VALORI
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 --]
Per le liste di valori è disponibile un segnaposto speciale, il segnaposto _total, che restituisce il totale degli elementi della lista.
Se si rendesse necessaria l’esigenza di inserire due liste identiche all’interno dello stesso documento, sarà possibile farlo inserendo nel segnaposto della seconda lista un trattino basso ( _ )
[!-- BEGIN students_ --]
{students_.fullName} {students_.email}
[!-- END students_ --]
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 dell’esame, all’interno di una tabella dovremo inserire:
|
{students.email} |
{students.mobile}
|
la riga della tabella tra [!-- BEGIN row.students --]
e [!-- END row.students --]
sarà ripetuta per ogni studente, nella tabella del documento.
Se si rendesse necessaria l’esigenza di inserire due liste identiche all’interno dello stesso documento, sarà possibile farlo inserendo nel segnaposto della seconda lista un trattino basso ( _ )
|
{students_.email} |
{students_.mobile}
|
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 mostrato 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 PER I MODELLI DI CONTRATTO
Segnaposto Exam
Informazioni riguardanti gli EsamiSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{exam.title} | Nome dell'Esame | |
{exam.location} | Sede dell'Esame | |
{exam.version} | Versione dell'Esame | Se Paper Based o Computer Based |
{exam.startdate} | Data di inizio sessione | |
{exam.specialdneeds} | Eventuali richieste speciali | |
{exam.totalstudent} | Numero totale degli studenti | |
{exam.singleprice} | Costo singolo di iscrizione | |
{exam.totalprice} | Costo totale per l'iscrizione | |
{exam.examlatefee} | Costo aggiuntivo per iscrizione in ritardo | Impostato nell'esame o nelle Configurazioni degli Esami Cambridge |
{exam.deliveryfee} | Costo per la spedizione dell'attestato | Impostato nelle Configurazione degli Esami Cambridge |
{exam.finalprice} | Costo totale sommato di tutte le voci |
Segnaposti prepcentre
Informazioni relative ai Preparation CentreSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{prepcentre.name} | Nome | |
{prepcentre.phone} | Telefono | |
{prepcentre.fax} | Fax | |
{prepcentre.email} | ||
{prepcentre.address} | Indirizzo | |
{prepcentre.city} | Città | |
{prepcentre.taxcode} | Codice Fiscale | |
{prepcentre.vatnumber} | P.IVA |
Segnaposti responsible
Informazioni relative al Responsabile DidatticoSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{responsible.name} | Nome | |
{responsible.surname} | Cognome | |
{responsible.phone} | Telefono | |
{responsible.mobile} | Cellulare | |
{responsible.email} |
Segnaposti students
Informazioni riguardanti gli studenti iscritti all'EsameSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{students.name} | Nome | |
{students.surname} | Cognome | |
{students.birthdate} | Data di nascita | |
{students.gendershort} | Genere dello studente | Abbreviato con "M" o "F" |
{students.exammatepos} | Lo studente accoppiato per l'orale |
Segnaposti prinicpal
Informazioni relative al Dirigente ScolasticoSEGNAPOSTO | VALORE | NOTE |
---|---|---|
{principal.name} | Nome | |
{principal.surname} | Cognome | |
{principal.phone} | Telefono | |
{principal.mobile} | Cellulare | |
{principal.email} |
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 |
8. MODELLI DI ESEMPIO
9. CARICAMENTO A SISTEMA DEL MODELLO
Per inserire il modello di report nel sistema navigare su Configurazione → Contratti & Report e cliccare il pulsante “Aggiungi report“:
La schermata che si apre conterrà tutte le informazioni necessarie per il caricamento del contratto:
Compilare i seguenti campi:
- Nome*: il nome del report (ad esempio “Ordine di acquisto Preparation Centre”)
- Descrizione: eventuale descrizione del report
- Tipo di report: scegliere l’opzione “Modello di contratto” per poter caricare il proprio modello
- Sezione in cui mostrare il report *: Esami
- Modello del report: caricare il modello con estensione odt del proprio contratto
- Seleziona tipo: selezionare il tipo di estensione del file che dovrà essere obbligatoriamente Portable Document Format (.pdf)
- Ordine *: l’ordine di elencazione dei report (es. 1, 2, 3, etc)
- Invia per la firma elettronica: Spuntabile solo se nel gestionale è attivo il modulo Premium per la firma elettronica
- Numero di firmatari diversi: Indicare il numero di firmatari presenti nel Documento
- Oggetto dell’Email: Inserire l’oggetto della mail oppure cliccare Utilizza comunicazione predefinita per lasciare quella di Default
- Corpo del messaggio da inviare via Email: Inserire il corpo del messaggio dell’Email per la firma oppure cliccare Utilizza comunicazione predefinita per lasciare quella di Default
- Corpo del messaggio da inviare via sms: Inserire il corpo del messaggio dell’sms per la firma oppure cliccare Utilizza comunicazione predefinita per lasciare quella di Default
Finita la configurazione cliccare il pulsante “Aggiungi report” per salvare l’operazione.