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 ScriptEvento
SchedaPost 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.