Cambiare la valuta di tutti i campi
Il programma quando viene creato in automatico un nuovo database imposta tutti i campi valuta alla moneta utilizzata dal sistema.
Gruppo Script
Programma
Evento
Azione
Può succedere che occorra avere una valuta che non corrisponde con quella standard e per poterla cambiare occorrerebbe modificare ogni singolo campo valuta presente.
Questo esempio permette di agire direttamente sui settaggi dei campi.
ATTENZIONE. IN CASO DI ERRORI E’ POSSIBILE GENERARE MALFUNZIONAMENTI E BLOCCHI DEL PROGRAMMA. QUINDI STATE ATTENTI E PROVATE PRIMA SU UN DATABASE DI PROVA.
Agiremo direttamente sulla tabella so_fields, ossia la tabella che gestisce tutti i campi del database.
{"ND":2,"CU1":"it-IT","CU2":"EUR","FCO":0,"def":""}
Quello riportato sopra è il dizionario che riporta le caratteristiche di un campo valuta. All’interno sono riportati. Il primo valore CU1 riporta il codice detto culturinfo. A questo link potete trovare l’elenco completo. Il secondo codice è quello della valuta e potete trovare l’elenco completo a questo link.
Modificando questi valori possiamo quindi variare la valuta del campo.
t = database.getsql("SELECT * FROM so_fields WHERE fieldtype=5")
nrows = t.countrows()
rows = t.getrows()
for i = 1, nrows do
parametri = rows[i].getvalue("param")
parametri = string.gsub(parametri,"it--IT","en-US")
parametri = string.gsub(parametri,"EUR","USD")
database.setsql("UPDATE so_fields SET tid=" .. tostring(utility.tid()) .. ",param='" .. utility.convap(parametri) .. "' WHERE gguid='" .. rows[i].getvalue("gguid") .. "'")
database.addsyncbox("so_fields",rows[i].getvalue("gguid"))
output.print(parametri)
end
Come possiamo vedere dall’esempio per prima cosa recuperiamo dalla tabella so_fields tutti i campi di tipo 5, ossia i campi valuta. Poi utilizzando i comandi di lua sostituiamo i valori attuali con quelli desiderati e salviamo all’interno del database.
In questo modo abbiamo forzato l’aggiornamento di tutti i campi.
Visto il tipo di operazione chiudi il programma e riaprilo per permettere il caricamento dei nuovi valori.