Patch level : 10.0 patch 252
Files correlati : lv3 Ricompilazione Demo : [ ] Commento : Corretta gestione delle dotazioni temporanee git-svn-id: svn://10.65.10.50/trunk@18415 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
d40d37baa2
commit
bbe2e73149
@ -517,13 +517,9 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
|
||||
giac.preset(doc);
|
||||
real dotod = giac.giac_att(rdoc, true);
|
||||
rdoc.put("DOTOD", dotod);
|
||||
real dotmp = giac.giac_att(rdoc, false);
|
||||
rdoc.put("DOTMP", dotmp);
|
||||
|
||||
//scrivo la dotazione temporanea solo se esistono le date di dotazione temporanea e questa non è scaduta
|
||||
if (rdoc.get_date("DADATATMP").ok() && rdoc.get_date("ADATATMP").ok() && rdoc.get_date("ADATATMP") <= doc.get_date(DOC_DATADOC))
|
||||
{
|
||||
real dotmp = giac.giac_att(rdoc, false);
|
||||
rdoc.put("DOTMP", dotmp);
|
||||
}
|
||||
|
||||
//elaborazione per il prezzo: o lo prendo dalle righe contratto, o dall'anagrafica magazzino
|
||||
const TString& sconto = rcont.get(LVRCONDV_SCONTPERC).as_string();
|
||||
@ -585,12 +581,17 @@ bool TGestione_bolle_msk::lv_ritirato_handler(TMask_field& f, KEY k)
|
||||
rdoc.put("DOTOD", dotod);
|
||||
|
||||
//scrivo la dotazione temporanea solo se esistono le date di dotazione temporanea e questa non è scaduta
|
||||
if (rdoc.get_date("DADATATMP").ok() && rdoc.get_date("ADATATMP").ok() && rdoc.get_date("ADATATMP") <= doc.get_date(DOC_DATADOC))
|
||||
if (rdoc.get_date("DADATATMP").ok() && rdoc.get_date("ADATATMP").ok() && rdoc.get_date("ADATATMP") >= doc.get_date(DOC_DATADOC))
|
||||
{
|
||||
real dotmp = giac.giac_att(rdoc, false);
|
||||
msk.set(FR_JOLLY2, dotmp);
|
||||
rdoc.put("DOTMP", dotmp);
|
||||
}
|
||||
else
|
||||
{
|
||||
msk.set(FR_JOLLY2, "");
|
||||
rdoc.put("DOTMP", 0);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -623,12 +624,17 @@ bool TGestione_bolle_msk::lv_consegnato_handler(TMask_field& f, KEY k)
|
||||
rdoc.put("DOTOD", dotod);
|
||||
|
||||
//scrivo la dotazione temporanea solo se esistono le date di dotazione temporanea e questa non è scaduta
|
||||
if (rdoc.get_date("DADATATMP").ok() && rdoc.get_date("ADATATMP").ok() && rdoc.get_date("ADATATMP") <= doc.get_date(DOC_DATADOC))
|
||||
if (rdoc.get_date("DADATATMP").ok() && rdoc.get_date("ADATATMP").ok() && rdoc.get_date("ADATATMP") >= doc.get_date(DOC_DATADOC))
|
||||
{
|
||||
real dotmp = giac.giac_att(rdoc, false);
|
||||
msk.set(FR_JOLLY2, dotmp);
|
||||
rdoc.put("DOTMP", dotmp);
|
||||
}
|
||||
else
|
||||
{
|
||||
msk.set(FR_JOLLY2, "");
|
||||
rdoc.put("DOTMP", 0);
|
||||
}
|
||||
}
|
||||
|
||||
return ok;
|
||||
@ -790,8 +796,10 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
||||
}
|
||||
|
||||
//scrivo le date di dotazione temporanea solo se lo prevede la causale
|
||||
if (sgn_rit == ZERO && sgn_con == ZERO)
|
||||
if (sgn_rit == 0 && sgn_con == 0)
|
||||
{
|
||||
rdoc.put("DOTMP", "");
|
||||
msk.field(FR_JOLLY2).set("");
|
||||
rdoc.put("DADATATMP", "");
|
||||
msk.field(FR_JOLLY3).set("");
|
||||
rdoc.put("ADATATMP", "");
|
||||
@ -799,39 +807,46 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
||||
}
|
||||
else
|
||||
{
|
||||
//setto il valore della dotazione temporanea
|
||||
TGiac_per_cli& giac = gbapp().giacenza();
|
||||
giac.preset(doc);
|
||||
real dotmp = giac.giac_att(rdoc, false);
|
||||
rdoc.put("DOTMP", dotmp);
|
||||
TString16 tmp;
|
||||
tmp << dotmp;
|
||||
msk.field(FR_JOLLY2).set(tmp);
|
||||
//setto le date di inizio e fine della dotazione temporanea
|
||||
TDate dadata = rcont.get_date(LVRCONDV_INDTTMP);
|
||||
TDate adata = rcont.get_date(LVRCONDV_FIDTTMP);
|
||||
if (dadata.ok() && adata.ok())
|
||||
if (!dadata.ok())
|
||||
dadata = TODAY;
|
||||
rdoc.put("DADATATMP", dadata);
|
||||
msk.field(FR_JOLLY3).set(dadata);
|
||||
if (adata.ok() && adata <= datadoc)
|
||||
{
|
||||
rdoc.put("DADATATMP", dadata);
|
||||
msk.field(FR_JOLLY3).set(dadata);
|
||||
if (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", 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());
|
||||
rdoc.put("ADATATMP", giri.get(LVRCONSPLAN_DTCONS).as_date());
|
||||
msk.field(FR_JOLLY4).set(giri.get(LVRCONSPLAN_DTCONS).as_date());
|
||||
|
||||
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 (rcondv.read() == NOERR)
|
||||
{
|
||||
rcondv.put(LVRCONDV_FIDTTMP, giri.get(LVRCONSPLAN_DTCONS).as_date());
|
||||
rcondv.rewrite();
|
||||
}
|
||||
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 (rcondv.read() == NOERR)
|
||||
{
|
||||
rcondv.put(LVRCONDV_FIDTTMP, giri.get(LVRCONSPLAN_DTCONS).as_date());
|
||||
rcondv.rewrite();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -882,6 +897,7 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
||||
return true;
|
||||
}
|
||||
|
||||
//LV_CODMAG_HANDLER: handler che limita l'esecuzione
|
||||
bool TGestione_bolle_msk::lv_codmag_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
bool ok = true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user