Patch level : 10.0 patch 290

Files correlati     : lv3
Ricompilazione Demo : [ ]
Commento            :
0001281: trasformazione righe contratto in dotazioni temporanee
Descrizione: per un cliente nuovo o generato il contratto e il planning
ho inserito una bolla con causale lavanderia "dotazione iniziale"
lui mi mette nel periodo temporaneo di inizio la data della bolla
in quello di fine la prossima consegna
dopo di che me li scrive pure sul contratto e imporvvisamente il
contratto diventa temporaneo anche se incrementa la dotazione
giusta (non quella temporanea)

0001286: documenti di Trasporto
Descrizione: i campi data delle dotazioni temporanee devono essere vuoti quando non esiste alcuna temporaneità invece sono sempre impostati


git-svn-id: svn://10.65.10.50/trunk@18779 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2009-04-24 13:55:05 +00:00
parent 3469a49794
commit 559355aaed

View File

@ -173,7 +173,6 @@ bool TGiac_per_cli::load_row(const TRiga_documento& rdoc)
TString4 causale = rdoc.get(RDOC_CODAGG1);
const TRectype& cau = cache().get("&CAU", causale);
//movimento o meno la dotazione temporanea a seconda di cosa prevede la causale
if (cau.get_bool("B0"))
{
@ -407,12 +406,12 @@ bool TGestione_bolle_msk::lv_data_handler(TMask_field& f, KEY k)
TDate primo = oggi;
primo.set_day(1);
if (dmsk.insert_mode())
if (dmsk.insert_mode() && !dmsk.field(F_DATADOC).focusdirty())
dmsk.set(F_DATADOC,oggi);
else //permette la decodifica corretta della data nel caso stia guardando una bolla vecchia
{
oggi = dmsk.get_date(F_DATADOC);
TDate primo = oggi;
primo = oggi;
primo.set_day(1);
}
@ -876,53 +875,9 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
TDate dadata = rcont.get_date(LVRCONDV_INDTTMP);
TDate adata = rcont.get_date(LVRCONDV_FIDTTMP);
TLocalisamfile rcondv(LF_LVRCONDV);
rcondv.put(LVRCONDV_CODCF,codcf);
rcondv.put(LVRCONDV_CODCONT,cont.get_int(LVCONDV_CODCONT));
rcondv.put(LVRCONDV_CODART,msk.get(FR_CODART));
bool fdotmp = false;
if (rdoc.get_date("DADATATMP").empty())
{
if (!dadata.ok() && rcondv.read() == NOERR)
{
dadata = TODAY;
rcondv.put(LVRCONDV_INDTTMP, dadata);
rcondv.rewrite();
}
rdoc.put("DADATATMP", dadata);
msk.field(FR_JOLLY3).set(dadata);
}
if (rdoc.get_date("ADATATMP").empty())
{
if (adata.ok() && adata <= datadoc)
{
rdoc.put("ADATATMP", adata);
msk.field(FR_JOLLY4).set(adata);
}
else
{
//instanzio in TRecordset sui giri
TISAM_recordset giri("USE LVRCONSPLAN KEY 3\nSELECT DTCONS>#DATADOC\nFROM CODCF=#CODCF CODCONT=#CODCONT\nTO CODCF=#CODCF CODCONT=#CODCONT");
giri.set_var("#DATADOC", datadoc);
giri.set_var("#CODCF", codcf);
giri.set_var("#CODCONT", cont.get_long(LVCONDV_CODCONT));
if (giri.move_first())
{
rdoc.put("ADATATMP", giri.get(LVRCONSPLAN_DTCONS).as_date());
msk.field(FR_JOLLY4).set(giri.get(LVRCONSPLAN_DTCONS).as_date());
if (rcondv.read() == NOERR)
{
rcondv.put(LVRCONDV_FIDTTMP, giri.get(LVRCONSPLAN_DTCONS).as_date());
rcondv.rewrite();
}
}
}
}
//disabilito i campi di dotazione temporanea se la causel non prevede la loro movimentazione
//disabilito i campi di dotazione temporanea se la causale non prevede la loro movimentazione
if (sgn_rit == 0 && sgn_con == 0)
{
msk.field(FR_JOLLY2).disable();
@ -934,6 +889,55 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
msk.field(FR_JOLLY2).enable();
msk.field(FR_JOLLY3).enable();
msk.field(FR_JOLLY4).enable();
fdotmp = true;
}
if (dadata.ok() || fdotmp)
{
TLocalisamfile rcondv(LF_LVRCONDV);
rcondv.put(LVRCONDV_CODCF,codcf);
rcondv.put(LVRCONDV_CODCONT,cont.get_int(LVCONDV_CODCONT));
rcondv.put(LVRCONDV_CODART,msk.get(FR_CODART));
if (rdoc.get_date("DADATATMP").empty())
{
if (!dadata.ok() && rcondv.read() == NOERR)
{
rcondv.put(LVRCONDV_INDTTMP, datadoc);
rcondv.rewrite();
}
rdoc.put("DADATATMP", datadoc);
msk.field(FR_JOLLY3).set(datadoc);
}
if (rdoc.get_date("ADATATMP").empty())
{
if (adata.ok() && adata <= datadoc)
{
rdoc.put("ADATATMP", adata);
msk.field(FR_JOLLY4).set(adata);
}
else
{
//instanzio in TRecordset sui giri
TISAM_recordset giri("USE LVRCONSPLAN KEY 3\nSELECT DTCONS>#DATADOC\nFROM CODCF=#CODCF CODCONT=#CODCONT\nTO CODCF=#CODCF CODCONT=#CODCONT");
giri.set_var("#DATADOC", datadoc);
giri.set_var("#CODCF", codcf);
giri.set_var("#CODCONT", cont.get_long(LVCONDV_CODCONT));
if (giri.move_first())
{
rdoc.put("ADATATMP", giri.get(LVRCONSPLAN_DTCONS).as_date());
msk.field(FR_JOLLY4).set(giri.get(LVRCONSPLAN_DTCONS).as_date());
if (rcondv.read() == NOERR)
{
rcondv.put(LVRCONDV_FIDTTMP, giri.get(LVRCONSPLAN_DTCONS).as_date());
rcondv.rewrite();
}
}
}
}
}
//abilito o disabilito azzerandolo il campo "Ritirato" a seconda di cosa prevede la causale
@ -1134,7 +1138,7 @@ int TGestione_bolle_app::write( const TMask& m )
TGestione_bolle_msk& mask = (TGestione_bolle_msk&) m;
_giac.write_giac(m);
//_giac.write_giac(m);
return TMotore_application::write(m);
}
@ -1145,7 +1149,7 @@ int TGestione_bolle_app::rewrite( const TMask& m )
TGestione_bolle_msk& mask = (TGestione_bolle_msk&) m;
_giac.write_giac(m);
//_giac.write_giac(m);
return TMotore_application::rewrite(m);
}