Aggiornare il conto di appoggio dalla scadenza alla fattura

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.