Mettre à jour le compte de soutien de l’échéance à la facture

Dans cet exemple nous voyons comment mettre à jour le compte de soutien présent sur la facture à partir de l’échéance.

Groupe ScriptÉvénement
FicheAprès Enregistrement
gguidp = dataview.getvalue("gguidp")
tap    = dataview.getvalue("tap")
 
if gguidp == "" or tap == "" then
        do return end
end

D’abord nous voyons si effectivement l’échéance a un dossier père en vérifiant le champ gguid et tap, puisque tout le logiciel relie les dossiers en utilisant ces deux valeurs.

La valeur gguidp identifie la ligne père, tandis que la valeur tap identifie le tableau père. Si ces champs n’ont pas des valeurs, l’échéance a été créée par l’utilisateur, sinon un autre tableau l’à créée.

gguidc = dataview.getvalue("gguid_supportaccount")
if gguidc == "" then
        do return end
end

Nous récupérons aussi le gguid du compte de soutien. Dans ce cas également si on n’a pas de valeurs, nous sortons du script.

tablebill = database.getsql("SELECT * FROM companyaccounts WHERE gguid='" .. gguidc .. "'")
 
if tablebill.countrows() == 0 then
        do return end
end
rows = tablebill.getrows()


output.print(rows[1].getvalue("billname"))
output.print(righe[1].getvalue("bankaccount"))
output.print(righe[1].getvalue("iban"))

Nous récupérons les valeurs du compte bancaire de son gguid. Ces valeurs seront ceux qu’on va écrire dans la facture.

database.setsql("UPDATE " .. tap .. " SET TID=" .. tostring(utility.tid()) .. ",supportaccount='" .. utility.convap(rows[1].getvalue("billname")) .. "',currentaccountfirm='" .. utility.convap(rows[1].getvalue("bankaccount")) .. "',ibanfirm='" .. utility.convap(rows[1].getvalue("iban")) .. "' WHERE gguid='" .. gguidp .. "'")

database.addsyncbox(tap,gguidp)
program.refreshsection("invoices"

Enfin nous mettons à jour la facture liée avec les données du compte. Si la base de données est de type Cloud il sera nécessaire de ne pas oublier de mettre à jour le tid (la date et heure de modification du dossier) et de l’ajouter au syncbox.

Une fois modifiées les données, nous forçons le mise à jour des sections qui rappellent le tableau des factures.