formulaColumn parametriche

Grazie alle formulaColumn parametriche è possibile rendere le formulaColumn sensibili a un parametro, sia questo hard-coded, definito nell”env dell’applicativo, o richiesto all’utente direttamente al momento del trascinamento della colonna tramite una ask.

Ad esempio, nella tabella prodotto di Sandbox, è possibile costruire una colonna che mi permetta di calcolare il totale delle vendite di ciascun prodotto a una specifica data nella regione richiesta:

tbl.formulaColumn('tot_fatturato_alla_data',select=dict(table='fatt.fattura_riga',
                         columns='SUM($prezzo_totale)',
                         where="""$prodotto_id=#THIS.id AND
                         $data_fattura<=:data_limite AND
                         @fattura_id.@cliente_id.@provincia.regione=:reg_selezionata"""),
                         ask=dict(title='Richiesta dati', fields=[
                         dict(name='data_limite', tag='dateTextBox', lbl='Data limite'),
                         dict(name='reg_selezionata', tag='dbSelect', table='glbl.regione', lbl='Regione')]),
                         dtype='N',name_long='Tot.Fatturato alla data')

Questo rende il sistema estremamente ricco e dinamico, garantendo un’elevatissima flessibilità all’utente che può così produrre infinite colonne per l’analisi dei dati e salvarle nella sua vista.

Le formulaColumn parametriche sono oggetto di un Tutorial dedicato sul nostro Blog.


Parametri:

Nome parametro

Tipo

Descrizione

value

T

Generalmente implicito, permette di calcolare un valore secondo una regola definita come una stringa di SQL

static

B

select

T

Alternativamente al value calcolato, la formulaColumn può restituire un valore originato da una query, i cui parametri possono essere indicati con un dizionario all’interno di questo parametro. Può contenere tutti i parametri di una query («table», «where», «columns», «condition», «order_by», «limit»)

var_

T

È possibile passare tutte le variabili che si vuole alla formulaColumn precedute da var_ (es: var_data_rif=”2015-01-01”), in questo modo non andranno a mischiarsi agli altri parametri.

ask

T

Permette di identificare in un dizionario i parametri da richiedere all’utente al trascinamento della colonna nella vista, che verranno poi utilizzati dalla colonna (es. ask=dic t(title=”Regione”,fields=[dict(name=”regione”, tag=”dbSelect”, table=”glbl.regione”, lbl=”Regione”)]))

fieldname

T

In caso di formulaColumn parametriche permette di pre-impostare un template per la generazione del nome della colonna, così da non richiederlo all’utente (es: fieldname=”tot_fatt_$data_rif”)

header

T

In caso di formulaColumn parametriche permette di pre-impostare un template per la generazione dell’etichetta della colonna, così da non richiederla all’utente (es: header=”Tot.Fatt. al $data_rif”)

Autore della sezione: Davide Paci