Patch level : 10.0

Files correlati     :
Ricompilazione Demo : [ ]
Commento            : Correzione metodo write (salva solo le righe che hanno la chiave piena)


git-svn-id: svn://10.65.10.50/trunk@17239 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2008-09-12 13:40:36 +00:00
parent 37f317fe0b
commit 609c7b83d9

View File

@ -221,32 +221,37 @@ int TPass_plan_contr::write_pasplan(TSheet_field& pasplan, const long codcli, co
//per ogni riga dello sheet
FOR_EACH_SHEET_ROW(pasplan,r,row)
{
file.zero();
//putto nel file codcli e codcont (sempre gli stessi)
file.put(LVPASPLAN_CODCF,codcli);
file.put(LVPASPLAN_CODCONT,codcont);
//per ogno campo della maschera di sheet
FOR_EACH_MASK_FIELD(msk,i,f)
{
//prendo il FIELD a cui si riferiscono
const TFieldref*fr = f->field();
//se efftivamente il campo ha un field di riferimento
if (fr!= NULL)
{
const int pos=pasplan.cid2index(f->dlg()); //salvo la sua posizione all'inetrno dello sheet
fr->write(row->get(pos),file.curr()); //scrivo il valore che sto leggendo nel record corrente del file
}
}
//setto le informazioni di creazione e/o aggiornamento del record
if (_mask->edit_mode())
lv_set_update_info(file.curr());
if (row->get_int(pasplan.cid2index(F_S_ITI)) == 0)
continue;
else
lv_set_creation_info(file.curr());
{
file.zero();
//putto nel file codcli e codcont (sempre gli stessi)
file.put(LVPASPLAN_CODCF,codcli);
file.put(LVPASPLAN_CODCONT,codcont);
//per ogno campo della maschera di sheet
FOR_EACH_MASK_FIELD(msk,i,f)
{
//prendo il FIELD a cui si riferiscono
const TFieldref*fr = f->field();
err = file.rewrite_write(); //o faccio la rewrite, o faccio la write
//se efftivamente il campo ha un field di riferimento
if (fr!= NULL)
{
const int pos=pasplan.cid2index(f->dlg()); //salvo la sua posizione all'inetrno dello sheet
fr->write(row->get(pos),file.curr()); //scrivo il valore che sto leggendo nel record corrente del file
}
}
//setto le informazioni di creazione e/o aggiornamento del record
if (_mask->edit_mode())
lv_set_update_info(file.curr());
else
lv_set_creation_info(file.curr());
err = file.rewrite_write(); //o faccio la rewrite, o faccio la write
}
}
return err;
}