In questo esempio vediamo come aggiornare il conto di appoggio presente sulla fattura partendo dalla scadenza.
Gruppo Script
Scheda
Evento
Post Salvataggio
gguidp = dataview.getvalue("gguidp")
tap = dataview.getvalue("tap")
if gguidp == "" or tap == "" then
do return end
end
Come prima cosa vediamo se effettivamente la scadenza ha un record padre controllando il campo gguid e tap, poiché tutto il programma collega i record utilizzando questi due valori.
Il valore gguidp identifica la riga padre, mentre il valore tap la tabella padre. Se questi campi non hanno valori, allora la scadenza è stata creata dall’utente, altrimenti è stata un’altra tabella a crearla.
gguidc = dataview.getvalue("gguid_contoappoggio")
if gguidc == "" then
do return end
end
Recuperiamo anche il gguid del conto di appoggio. Anche in questo caso se non si ha un valore, allora usciamo dallo script.
tabellaconto = database.getsql("SELECT * FROM contiazienda WHERE gguid='" .. gguidc .. "'")
if tabellaconto.countrows() == 0 then
do return end
end
righe = tabellaconto.getrows()
output.print(righe[1].getvalue("nomeconto"))
output.print(righe[1].getvalue("contocorrente"))
output.print(righe[1].getvalue("iban"))
Recupero i valori del conto corrente dal suo gguid. Questi valori saranno quelli che scriverò all’interno della fattura.
database.setsql("UPDATE " .. tap .. " SET TID=" .. tostring(utility.tid()) .. ",contoappoggio='" .. utility.convap(righe[1].getvalue("nomeconto")) .. "',contocorrenteditta='" .. utility.convap(righe[1].getvalue("contocorrente")) .. "',ibanditta='" .. utility.convap(righe[1].getvalue("iban")) .. "' WHERE gguid='" .. gguidp .. "'")
database.addsyncbox(tap,gguidp)
program.refreshsection("fatture")
Come ultima cosa aggiorno la fattura collegata con i dati del conto. Se il database è di tipo Cloud sarà necessario ricordarsi di aggiornare sempre il tid (la data e ora di modifica del record) e di aggiungerlo alla syncbox.
Modificati i dati, forziamo l’aggiornamento delle sezioni che richiamano la tabella fatture.