Patch level : 10.0 patch 280

Files correlati     : lv0.exe
Ricompilazione Demo : [ ]
Commento            :
Corretta la gestione del salvataggio e del caricamento delle dotazioni iniziali


git-svn-id: svn://10.65.10.50/trunk@18708 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2009-04-15 14:42:32 +00:00
parent a357d02b0c
commit 26fea16469

View File

@ -102,11 +102,14 @@ bool TContratti_msk::on_art_select()
if (index > 0)
{
const TString4 umcont(row.get(ss.cid2index(S_UM))); //unità di misura
//calcolo dotazione iniziale, scritta sia sulla maschera che sullo sheet
const real dotin = artrec.convert_to_um(artrec.clifomag(annoes)[index].get_real(CLIFOGIAC_DOTIN),umcont);
rowmask.set(S_DOTIN, dotin);
row.add(dotin.stringa(), ss.cid2index(S_DOTIN));
if (rowmask.get(S_DOTIN).blank())
{
//calcolo dotazione iniziale, scritta sia sulla maschera che sullo sheet
const real dotin = artrec.convert_to_um(artrec.clifomag(annoes)[index].get_real(CLIFOGIAC_DOTIN),umcont);
rowmask.set(S_DOTIN, dotin);
row.add(dotin.stringa(), ss.cid2index(S_DOTIN));
}
//calcolo dotazione odierna, scritta sia sulla maschera che sullo sheet
const real dotod = artrec.convert_to_um(artrec.clifomag(annoes)[index].get_real(CLIFOGIAC_DOTOD),umcont);
rowmask.set(S_DOTOD, dotod);
@ -459,6 +462,7 @@ void TContratti_app::save_rows(const TMask& m)
magcli.put(CLIFOGIAC_CODCF, clifo);
magcli.put(CLIFOGIAC_INDSPED, indsp);
magcli.put(CLIFOGIAC_CODART, codart);
magcli.put(CLIFOGIAC_NRIGA, 1);
found = magcli.read() == NOERR;
}
//se fallisce la read o non sono in dicembre, allora cerco nell'anno attuale (record svuotato dalla read)
@ -470,6 +474,7 @@ void TContratti_app::save_rows(const TMask& m)
magcli.put(CLIFOGIAC_CODCF, clifo);
magcli.put(CLIFOGIAC_INDSPED, indsp);
magcli.put(CLIFOGIAC_CODART, codart);
magcli.put(CLIFOGIAC_NRIGA, 1);
found = magcli.read()==NOERR;
//se la read fallisce ancora, allora devo inserire tutto da capo (record svuotato dalla read)
if (!found) // FORZO LA SCRITTURA DELLA CHIAVE
@ -480,6 +485,7 @@ void TContratti_app::save_rows(const TMask& m)
magcli.put(CLIFOGIAC_CODCF, clifo);
magcli.put(CLIFOGIAC_INDSPED, indsp);
magcli.put(CLIFOGIAC_CODART, codart);
magcli.put(CLIFOGIAC_NRIGA, 1);
}
}
//setto i valori delle dotazioni
@ -618,6 +624,7 @@ int TContratti_app:: read(TMask& m)
magcli.put(CLIFOGIAC_CODCF, clifo);
magcli.put(CLIFOGIAC_INDSPED, indsp);
magcli.put(CLIFOGIAC_CODART, codart);
magcli.put(CLIFOGIAC_NRIGA, 1);
found = magcli.read() == NOERR;
}
//se fallisce la read o non sono in dicembre, allora cerco nell'anno attuale (record svuotato dalla read)
@ -629,6 +636,7 @@ int TContratti_app:: read(TMask& m)
magcli.put(CLIFOGIAC_CODCF, clifo);
magcli.put(CLIFOGIAC_INDSPED, indsp);
magcli.put(CLIFOGIAC_CODART, codart);
magcli.put(CLIFOGIAC_NRIGA, 1);
found = magcli.read() == NOERR;
}
//se la read riesce, leggo tutti i dati di interesse e li metto nella riga attuale dell sheet
@ -668,8 +676,8 @@ int TContratti_app::write(const TMask& m)
//REWRITE: ridefinizione del metodo rewrite() delle TRelation_application
int TContratti_app::rewrite(const TMask& m)
{
//esegui la write standard
int err=TRelation_application::rewrite(m);
//esegui la rewrite standard
int err = TRelation_application::rewrite(m);
//se va a buon fine esegui la save_rows()
if(err == NOERR)
save_rows(m);