Patch level : 10.0 patch 268
Files correlati : lv3.exe Ricompilazione Demo : [ ] Commento : 0001234: Colori righe dotazione temporanea Descrizione: Le righe di dotazione temporanea scadute devono essere segnalate sempre, indipendentemente dalla causale git-svn-id: svn://10.65.10.50/trunk@18603 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
90d4eb9aa9
commit
ceca5a2015
153
lv/lv3100.cpp
153
lv/lv3100.cpp
@ -389,7 +389,7 @@ bool TGestione_bolle_msk::ss_notify(TSheet_field& ss, int r, KEY key)
|
|||||||
return TDocumento_mask::ss_notify(ss, r, key);
|
return TDocumento_mask::ss_notify(ss, r, key);
|
||||||
}
|
}
|
||||||
|
|
||||||
//LV_TESTATA_HANDLER: handler che si occupa di decodificare i campi data in testata
|
//LV_DATA_HANDLER: handler che si occupa di decodificare i campi data in testata
|
||||||
bool TGestione_bolle_msk::lv_data_handler(TMask_field& f, KEY k)
|
bool TGestione_bolle_msk::lv_data_handler(TMask_field& f, KEY k)
|
||||||
{
|
{
|
||||||
bool ok = true;
|
bool ok = true;
|
||||||
@ -409,6 +409,12 @@ bool TGestione_bolle_msk::lv_data_handler(TMask_field& f, KEY k)
|
|||||||
|
|
||||||
if (dmsk.insert_mode())
|
if (dmsk.insert_mode())
|
||||||
dmsk.set(F_DATADOC,oggi);
|
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.set_day(1);
|
||||||
|
}
|
||||||
|
|
||||||
//decodifica del giorno della settimana
|
//decodifica del giorno della settimana
|
||||||
dmsk.set(F_LVGIORNO, itow(oggi.wday()));
|
dmsk.set(F_LVGIORNO, itow(oggi.wday()));
|
||||||
@ -641,12 +647,7 @@ bool TGestione_bolle_msk::lv_ritirato_handler(TMask_field& f, KEY k)
|
|||||||
real dotmp = giac.giac_att(rdoc, false);
|
real dotmp = giac.giac_att(rdoc, false);
|
||||||
msk.set(FR_JOLLY2, dotmp);
|
msk.set(FR_JOLLY2, dotmp);
|
||||||
rdoc.put("DOTMP", dotmp);
|
rdoc.put("DOTMP", dotmp);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
msk.set(FR_JOLLY2, "");
|
|
||||||
rdoc.put("DOTMP", 0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -684,12 +685,7 @@ bool TGestione_bolle_msk::lv_consegnato_handler(TMask_field& f, KEY k)
|
|||||||
real dotmp = giac.giac_att(rdoc, false);
|
real dotmp = giac.giac_att(rdoc, false);
|
||||||
msk.set(FR_JOLLY2, dotmp);
|
msk.set(FR_JOLLY2, dotmp);
|
||||||
rdoc.put("DOTMP", dotmp);
|
rdoc.put("DOTMP", dotmp);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
msk.set(FR_JOLLY2, "");
|
|
||||||
rdoc.put("DOTMP", 0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return ok;
|
return ok;
|
||||||
@ -866,77 +862,78 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
|||||||
coddep = con.default_dep();
|
coddep = con.default_dep();
|
||||||
}
|
}
|
||||||
sgn_con = con.sgn(s_dottm);
|
sgn_con = con.sgn(s_dottm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//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);
|
||||||
|
|
||||||
//scrivo le date di dotazione temporanea solo se lo prevede la causale
|
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)
|
||||||
|
{
|
||||||
|
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
|
||||||
if (sgn_rit == 0 && sgn_con == 0)
|
if (sgn_rit == 0 && sgn_con == 0)
|
||||||
{
|
{
|
||||||
rdoc.put("DOTMP", "");
|
msk.field(FR_JOLLY2).disable();
|
||||||
msk.field(FR_JOLLY2).set("");
|
msk.field(FR_JOLLY3).disable();
|
||||||
rdoc.put("DADATATMP", "");
|
msk.field(FR_JOLLY4).disable();
|
||||||
msk.field(FR_JOLLY3).set("");
|
|
||||||
rdoc.put("ADATATMP", "");
|
|
||||||
msk.field(FR_JOLLY4).set("");
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//setto il valore della dotazione temporanea
|
msk.field(FR_JOLLY2).enable();
|
||||||
TGiac_per_cli& giac = gbapp().giacenza();
|
msk.field(FR_JOLLY3).enable();
|
||||||
giac.preset(doc);
|
msk.field(FR_JOLLY4).enable();
|
||||||
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);
|
|
||||||
|
|
||||||
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)
|
|
||||||
{
|
|
||||||
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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//abilito o disabilito azzerandolo il campo "Ritirato" a seconda di cosa prevede la causale
|
//abilito o disabilito azzerandolo il campo "Ritirato" a seconda di cosa prevede la causale
|
||||||
|
Loading…
x
Reference in New Issue
Block a user