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:
parent
37f317fe0b
commit
609c7b83d9
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user