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;
|
long _codcont;
|
||||||
|
|
||||||
private:
|
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:
|
protected:
|
||||||
virtual void init_query_mode(TMask& m);
|
virtual void init_query_mode(TMask& m);
|
||||||
@ -121,36 +121,32 @@ int TPass_plan_contr::read(TMask& m)
|
|||||||
|
|
||||||
//GENERA_GIRI: questa funzione richiama la generazione giri in automatico...
|
//GENERA_GIRI: questa funzione richiama la generazione giri in automatico...
|
||||||
//..se questa possibilità è prevista in configurazione
|
//..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...
|
//richiamo il programma lv2100.cpp per generare i giri in autmatico dalla data odierna...
|
||||||
//...nella configurazione di modulo
|
//...alla data dell'ultimo giro già generato
|
||||||
TConfig* configlv = new TConfig(CONFIG_DITTA,"lv");
|
TFilename fname;
|
||||||
if (configlv->get("Autgiri") == "X")
|
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");
|
TConfig ini(fname,"main");
|
||||||
ini.set("transaction", "update");
|
ini.set("transaction", "update");
|
||||||
ini.set_paragraph("167");
|
ini.set_paragraph("167");
|
||||||
ini.set("CODCF", codcli);
|
ini.set("CODCF", codcli);
|
||||||
ini.set_paragraph("main");
|
ini.set_paragraph("main");
|
||||||
|
|
||||||
TString str;
|
TString str;
|
||||||
str << "lv2 -0 -i" << fname;
|
str << "lv2 -0 -i" << fname;
|
||||||
|
|
||||||
TExternal_app app(str);
|
TExternal_app app(str);
|
||||||
app.run();
|
app.run();
|
||||||
fname.fremove();
|
fname.fremove();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//WRITE: ridefinizione metodo write delle TRelation
|
//WRITE: ridefinizione metodo write delle TRelation
|
||||||
@ -159,15 +155,19 @@ int TPass_plan_contr::write(const TMask& m)
|
|||||||
if (_mask->field(F_CODCF).empty() || _mask->field(F_CODCONT).empty())
|
if (_mask->field(F_CODCF).empty() || _mask->field(F_CODCONT).empty())
|
||||||
return _isnocurkey;
|
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::write(m);
|
const int err = TRelation_application::write(m);
|
||||||
if (err == NOERR)
|
|
||||||
{
|
|
||||||
TSheet_field& pc = m.sfield(F_PASPLAN);
|
|
||||||
|
|
||||||
if (pc.items() > 0)
|
if (err == NOERR && pc.items() > 0)
|
||||||
genera_giri(err, codcli);
|
{
|
||||||
|
const long codcli = _mask->get_long(F_CODCF);
|
||||||
|
|
||||||
|
genera_giri(codcli);
|
||||||
}
|
}
|
||||||
return err;
|
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())
|
if (_mask->field(F_CODCF).empty() || _mask->field(F_CODCONT).empty())
|
||||||
return _isnocurkey;
|
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);
|
const int err = TRelation_application::rewrite(m);
|
||||||
if (err == NOERR)
|
|
||||||
|
if (err == NOERR && pc.items() > 0)
|
||||||
{
|
{
|
||||||
TSheet_field& pc = m.sfield(F_PASPLAN);
|
const long codcli = _mask->get_long(F_CODCF);
|
||||||
|
|
||||||
if (pc.items() > 0)
|
genera_giri(codcli);
|
||||||
genera_giri(err, codcli);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user