La Wiki di ScuolaSemplice

Hai una domanda?

Inserisci una o più parole chiave e trova la risposta!

Configurazione del contratto di iscrizione tramite 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 configurazione del contratto di iscrizione della scuola da modello ODT, è suddivisa nei seguenti paragrafi:

  1. INTRODUZIONE
  2. DEFINIZIONE SEGNAPOSTI
  3. LISTE DI SEGNAPOSTI
  4. SEGNAPOSTI IN TABELLE
  5. BLOCCHI CONDIZIONALI
  6. FILTRI
  7. ELENCO SEGNAPOSTI DISPONIBILI
  8. CARICAMENTO A SISTEMA DEL MODELLO ODT
  9. UTILIZZO DEL MODELLO DI CONTRATTO
  10. ESEMPI DI UTILIZZO


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.

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 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.

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 row.students_ --] {students_.fullName}
{students_.email}
{students_.mobile}

[!-- END row.students_ --]

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 PER I MODELLI DI CONTRATTO

Segnaposto branch

Dati relativi al branch della Scuola, per i gestionali che gestiscono più di una filiale.

Segnaposto report

Dati relativi ai report

Segnaposto configurazione

Dati relativi alla configurazione

Segnaposto company sezione ordini

Dati della azienda che emette la fattura. Le aziende in questione sono quelle configurate nel gestionale sotto Gestione fiscale → Impostazioni fiscali

Segnaposto contractor sezione ordini

dati del contraente disponibili nella sezione ordini, se lo studente è maggiorenne le informazioni sul contraente sono valorizzate con i dati dello studente, se è minorenne le informazioni sul contraente sono valorizzate con i dati del genitore/tutore.

Segnaposto course sezione ordini

dati relativi al corso sezione ordini, segnaposto valorizzato solo se nell'ordine è presente un solo corso, se nell'ordine è presente un modello di corso i dati vengono recuperati dal modello di corso

Segnaposto coursePackets sezione ordini

dati relativi ai pacchetti di corsi sezione ordini, lista

Segnaposto courses sezione ordini

dati relativi ai corsi sezione ordini, se nell'ordine sono presenti i modelli di corso i dati vengono recuperati dal modelli di corso, lista

Segnaposto currentDate

dati relativi alla data corrente

Segnaposto customerCompany sezione ordini

dati della azienda cliente sezione ordini

Segnaposto details sezione ordini

elementi (righe) dell'ordine sezione ordini, lista

Segnaposto downPayment sezione ordini

acconto

Segnaposto goodsServices sezione ordini

beni/servizi dell'ordine sezioni ordini, lista

Segnaposto installments sezione ordini

pagamenti rateizzati dell'ordine sezione ordini, lista

Segnaposto lessonPackets sezione ordini

pacchetti di lezioni dell'ordine sezioni ordini, lista

Segnaposto membership sezione ordini

tessera di iscrizione dell'ordine sezioni ordini

Segnaposto model sezione ordini

modello del corso dell'ordine sezioni ordini, valorizzato se c'è un solo modello di corso nell'ordine

Segnaposto models sezione ordini

modelli del corso dell'ordine sezioni ordini, lista, valorizzata solo se ci sono più modelli di corso nell'ordine

Segnaposto order sezione ordini

dati dell'ordine sezioni ordini

Segnaposto payments sezione ordini

pagamenti relativi all'ordine sezioni ordini, lista

Segnaposto packageOffers sezione ordini

offerte cumulative dell'ordine sezioni ordini, lista

Segnaposto parentTutor

dati del genitore/tutore dell'ordine sezione ordini, valorizzato solo se nell'ordine vi è un solo studente collegato ad un solo genitore/tutore

Segnaposto parentsTutors

dati dei genitori/tutori dell'ordine sezione ordini, lista

Segnaposto student sezione ordini

dati dello studente dell'ordine sezione ordini, valorizzato solo se nell'ordine vi è un solo studente

Segnaposto students sezione ordini

dati degli studenti dell'ordine sezione ordini, lista

Segnaposto studyPlan sezione ordini

piano di studio

Segnaposto teachingYear

dati relativi all'anno scolastico

Segnaposto teachingYear (se diviso in periodi)

dati relativi ai periodi in cui è suddiviso l'anno scolastico

8. CARICAMENTO A SISTEMA DEL MODELLO DI CONTRATTO

Per inserire il modello del contratto di iscrizione nel sistema navigare su Configurazione → Reports e cliccare il pulsante “Aggiungi report“.
Dalla prossima schermata compilare i seguenti campi:

  • Nome*: il nome del report (ad esempio “Contratto standard”, “Contratto corsi estivi”, “Contratto corsi di lingua”, etc)
  • Descrizione: eventuale descrizione del contratto di iscrizione
  • Tipo di report: scegliere l’opzione “Modello di contratto” per poter caricare il proprio modello
  • Sezione in cui mostrare il report *: Ordini
  • Estensione del modello: OpenOffice Write (.odt)
  • Modello del report: caricare il modello di contratto in formato ODT
  • Seleziona tipo: selezionare il tipo di estensione del file che dovrà avere il contratto in sede di scaricamento o invio al cliente,  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.

Dopo aver caricato il modello, entrare in modifica dello stesso (cliccando l’icona con la pennetta di modifica) e spuntare il checkbox “Abilitato” per abilitare l’esportazione del report dai corsi e cliccare uno dei due pulsanti in fondo alla pagina per salvare l’operazione.

 

Infine, cliccare l’icona sulla riga del modello caricato, per abilitare gli account amministrativi che potranno utilizzare il modello inserito, sia in sede di iscrizione, sia in sede di scaricamento o invio del contratto al cliente.

9. UTILIZZO DEL MODELLO DI CONTRATTO

In fase di iscrizione dello studente, molto semplicemente, sarà possibile scegliere quale modello di contratto utilizzare tra quelli inseriti ed abilitati, e procedere poi con la ordinaria emissione dell’ordine.

Successivamente, navigando alla voce di menù Gestione finanziaria → Gestione degli ordini, alla voce “Modello di contratto“, il sistema indicherà il modello di contratto che è stato scelto in sede di iscrizione dello studente.

Sarà possibile quindi scaricare il file dell’ordine emesso (nel formato scelto durante la configurazione del modello di contratto) oppure inviarlo tramite email, cliccando l’icona  .

Ora, dal prossimo pop-up mostrato dal sistema, sarà possibile:

  • Modello di contratto: scegliere di scaricare/inviare al cliente il contratto di iscrizione, utilizzando un diverso modello rispetto a quello scelto in fase di iscrizione, tramite il relativo menù a tendina. Di default il sistema preseleziona il modello di contratto scelto in fase di iscrizione
  • Scarica: scaricare il file del contratto di iscrizione (nell’estensione che è stata scelta in fase di configurazione, quindi PDF oppure ODT)
  • Invia al cliente: inviare al cliente il contratto di iscrizione tramite email

 

10. ESEMPI DI UTILIZZO

1. Esempio modello di contratto standard

 

Lascia un commento

Devi essere loggato per lasciare un commento.