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:
parent
7d96594e0a
commit
19cd73372b
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user