Lettura e scrittura su una tabella aggiuntiva

In questo esempio leggeremo e scriveremo i dati presenti all'interno di una tabella aggiuntva. Più previsamente leggeremo un moltiplicatore di quuantità presente sulla scheda e l'applicheremo a ogni riga. Terminato andremo ad aggiornare un totale presente sempre sulla scheda Lo script verrà applicato all'evento di pre salvataggio ma ovviamente può essere utilizzato anche in altri contesti

Gruppo Script

Scheda

Evento

Pre Salvataggio

Come prima cosa recuperiaamo il valore di moltiplicazione dalla scheda attraverso il comando dataview.getvalue. In questo specifico caso l'oggetto dataview rappresenta la scheda ed è già stato inizializzato dal programma e quindi già disponibile:

moltiplicatore = dataview.getvalue("moltiplicatore")

Ora creeremo l'oggetto che rappresenza la tabella aggiuntiva all'interno della scheda, ad esempio fattura_rows, poi grazie a questo estrapoleremo la lista delle righe attualmente caricate:

tabella = dataview.getatable("fatture_rows")

righe = tabella.getrows()

Con l'oggetto che ci permetterà l'accesso alle righe possiamo creare un ciclo per leggerle singolarmente e recuperare o modificare i valori per ogni singolo campo. Sempre per questo esempio estrapoleremo la quantità, la moltiplicheremo e imposteremo un secondo campo denominato quantita_moltiplicata. Fatto questo lo riestrapoleremo per sommare il valore a un campo totale

totale = 0

for i=1,tabella.countrows() do

     quantita = righe[i].getvalue("quantita")

     righe[i].setvalue("quantita_moltiplicata",quantita * moltiplicatore)

     totale = totale + righe[i].getvalue("quantita_moltiplicata")

 end

Ora che abbiamo girato tutte le nostre righe possiamo impostare il campo totale_quantita presente sul dettaglio.

dataview.setvalue("totale_quantita",totale)