monthlySections¶
Le th_monthlySections
sono un tipo particolare di section che permette di costruire facilmente una bottoniera con indicazione dei mesi passati o futuri. Per esempio:
@metadata(multivalue=True, exclude_fields='data')
def th_sections_periodo(self):
return self.th_monthlySections(column='$data',
n_previous=2,
n_following=2,
all_previous=True,
allPosition='last')
Darà come risultato la seguente bottoniera:
Con column
si identifica la colonna da utilizzare per confrontare le date con la dtstart
(qui non specificata e pari alla data di lavoro).
Si noti che la data di inizio si riferisce quindi (in questo caso) al mese di febbraio, di conseguenza vengono aggiunti con n_previous
e n_following
due mesi prima e due mesi dopo la data corrente. Con all_previous
, poi, si mostra il bottone che raccoglie tutti i mesi precedenti all’inizio, e con allPosition='last'
si mostra il pulsante che raccoglie tutte le date.
Suggerimento
In alternativa avremmo anche potuto specificare allPosition=True
, essendo il fondo la posizione di default, ma questa forma è più utile a scopo didattico.
Con il decoratore metadata
possiamo poi richiedere anche la selezione contemporanea di più bottoni (multivalue=True
) e l’esclusione dei record che presentano un valore di data nullo o vuoto (exclude_fields='data'
)
Parametri:
Nome parametro |
Tipo |
Descrizione |
---|---|---|
multivalue |
B |
Se impostato a True consente di poter effettuare selezioni multiple di valori di partizionamento dei dati |
multiButton |
L |
Permette di indicare un numero di bottoni oltre il quale la bottoniera si convertirà in tendina (es: multiButton=5) |
variable_struct |
B |
Se impostato a True permette di selezionare nelle sections una determinata th_struct precedentemente definita (es: struct=»clienti con_acquisti») |
column |
T |
La colonna da utilizzare per il campo data su cui filtrare i record (es: column=”$data”) |
dtstart |
T |
La data di inizio, se non specificata dtstart=self.db.workdate |
n_previous |
L |
Il numero di mesi passati da aggiungere (es: n_previous=3) |
n_following |
L |
Il numero di mesi futuri da aggiungere (es: n_previous=4) |
all_previous |
B |
Se impostato a True, comparirà all’inizio un bottone «Previous months» relativo a tutti i mesi precedenti esclusi dalla bottoniera |
all_following |
B |
Se impostato a True, comparirà alla fine un bottone «Following months» relativo a tutti i mesi futuri esclusi dalla bottoniera |
allPosition |
B |
Se impostato a True, comparirà un bottone «All» relativo a tutti i mesi (se impostato a True, sarà posizionato in fondo, se definito come allPosition=”first” verrà posizionato all’inizio) |
Autore della sezione: Davide Paci