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:
luca83 2009-03-25 11:09:50 +00:00
parent 90d4eb9aa9
commit ceca5a2015

View File

@ -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