Patch level : 10.0

Files correlati     : lv0
Ricompilazione Demo : [ ]
Commento            :
Corretti metodi write e rewrite perche' prima salvavano anche le righe con itinerario vuoto nello sheet dei passaggi planning per contratto


git-svn-id: svn://10.65.10.50/trunk@17986 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2009-01-07 10:58:58 +00:00
parent 7d96594e0a
commit 19cd73372b

View File

@ -68,7 +68,7 @@ class TPass_plan_contr : public TRelation_application
long _codcont;
private:
void genera_giri(const int err, const long codli); //richiama la generazione giri in automatico
void genera_giri(const long codli); //richiama la generazione giri in automatico
protected:
virtual void init_query_mode(TMask& m);
@ -121,53 +121,53 @@ int TPass_plan_contr::read(TMask& m)
//GENERA_GIRI: questa funzione richiama la generazione giri in automatico...
//..se questa possibilità è prevista in configurazione
void TPass_plan_contr::genera_giri(const int err, const long codcli)
void TPass_plan_contr::genera_giri(const long codcli)
{
if (err == NOERR)
//la scrittura automatica dei giri viene fatta solo se è settato l'apposito flag...
//...nella configurazione di modulo
TConfig* configlv = new TConfig(CONFIG_DITTA,"lv");
if (configlv->get("Autgiri") == "X")
{
//la scrittura automatica dei giri viene fatta solo se è settato l'apposito flag...
//...nella configurazione di modulo
TConfig* configlv = new TConfig(CONFIG_DITTA,"lv");
if (configlv->get("Autgiri") == "X")
{
//richiamo il programma lv2100.cpp per generare i giri in autmatico dalla data odierna...
//...alla data dell'ultimo giro già generato
TFilename fname;
fname.tempdir();
fname.add("autogiri.ini");
//richiamo il programma lv2100.cpp per generare i giri in autmatico dalla data odierna...
//...alla data dell'ultimo giro già generato
TFilename fname;
fname.tempdir();
fname.add("autogiri.ini");
TConfig ini(fname,"main");
ini.set("transaction", "update");
ini.set_paragraph("167");
ini.set("CODCF", codcli);
ini.set_paragraph("main");
TConfig ini(fname,"main");
ini.set("transaction", "update");
ini.set_paragraph("167");
ini.set("CODCF", codcli);
ini.set_paragraph("main");
TString str;
str << "lv2 -0 -i" << fname;
TString str;
str << "lv2 -0 -i" << fname;
TExternal_app app(str);
app.run();
fname.fremove();
}
TExternal_app app(str);
app.run();
fname.fremove();
}
return;
}
//WRITE: ridefinizione metodo write delle TRelation
int TPass_plan_contr::write(const TMask& m)
{
if (_mask->field(F_CODCF).empty() || _mask->field(F_CODCONT).empty())
return _isnocurkey;
const long codcli = _mask->get_long(F_CODCF);
return _isnocurkey;
TSheet_field& pc = m.sfield(F_PASPLAN);
FOR_EACH_SHEET_ROW_BACK (pc, r, row)
if (row->get_int(2) == 0)
pc.destroy(r, false);
const int err = TRelation_application::write(m);
if (err == NOERR)
if (err == NOERR && pc.items() > 0)
{
TSheet_field& pc = m.sfield(F_PASPLAN);
if (pc.items() > 0)
genera_giri(err, codcli);
const long codcli = _mask->get_long(F_CODCF);
genera_giri(codcli);
}
return err;
}
@ -178,17 +178,20 @@ int TPass_plan_contr::rewrite(const TMask& m)
if (_mask->field(F_CODCF).empty() || _mask->field(F_CODCONT).empty())
return _isnocurkey;
const long codcli = _mask->get_long(F_CODCF);
TSheet_field& pc = m.sfield(F_PASPLAN);
FOR_EACH_SHEET_ROW_BACK (pc, r, row)
if (row->get_int(2) == 0)
pc.destroy(r, false);
const int err = TRelation_application::rewrite(m);
if (err == NOERR)
if (err == NOERR && pc.items() > 0)
{
TSheet_field& pc = m.sfield(F_PASPLAN);
if (pc.items() > 0)
genera_giri(err, codcli);
const long codcli = _mask->get_long(F_CODCF);
genera_giri(codcli);
}
return err;
}