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:

../../../_images/section_22.png

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