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.