Schimbarea valutei tuturor campurilor
Programul, atunci cand este creata automat o baza de date, seteaza toate campurile la moneda utilizata de catre sistem.
Grup Script
Program
Eveniment
Actiune
Se poate intampla sa fie nevoie de o valuta care nu corespunde aceleia standard si, pentru a o putea schimba, trebuie modificat fiecare camp valuta prezent.
Acest exemplu permite actionarea directa asupra setarilor campurilor.
ATENTIE: IN CAZ DE ERORI ESTE POSIBIL SA SE GENEREZE FUNCTIONARI DEFECTUOASE SI BLOCAJE ALE PROGRAMULUI! ASADAR, ATENTIE MARE SI INCERCATI MAI INTAI PE O BAZA DE DATE DE PROBA!
Vom actiona direct pe tabelul so_fields, mai exact pe tabelul care gestioneaza toate campurile bazei de date.
{"ND":2,"CU1":"it-IT","CU2":"EUR","FCO":0,"def":""}
Cel de mai sus este dictionarul care reda caracteristicile unui camp valuta. Prima valoare, CU1 reda codul numit culturinfo. La acest link puteti gasi lista completa. Cel de al doilea cod este acela al valutei iar lista completa o puteti gasi la acest link.
Prin modificarea acestor valori putem deci varia valuta campului.
t = database.getsql("SELECT * FROM so_fields WHERE fieldtype=5")
nrows = t.countrows()
rows = t.getrows()
for i = 1, nrows do
parameters= rows[i].getvalue("param")
parameters = string.gsub(parameters,"it--IT","en-US")
parameters = string.gsub(parameters,"EUR","USD")
database.setsql("UPDATE so_fields SET tid=" .. tostring(utility.tid()) .. ",param='" .. utility.convap(parameters) .. "' WHERE gguid='" ..
rows[i].getvalue("gguid") .. "'")
database.addsyncbox("so_fields",rows[i].getvalue("gguid"))
output.print(parameters)
end
Dupa cum se poate observa din exemplu, mai intai preluam din tabelul so_fields toate campurile de tip 5, mai exact, campurile valuta. Apoi, folosind comenzile LUA, inlocuim valorile actuale cu cele dorite si salvam in cadrul bazei de date.
In acest mod am fortat actualizarea tuturor campurilor.
Avand in vedere tipul de operatiune, inchideti programul apoi reporniti-l pentru a permite incarcarea noilor valori.