Patch level : 10.0 path 252
Files correlati : lv3 Ricompilazione Demo : [ ] Commento : Corretta gestione date stagionalità sulle bolle; prima non permetteva modifiche mentre ora è possibile modificare a piacere le date di inizio e fine dotazione temporanea git-svn-id: svn://10.65.10.50/trunk@18439 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3cfaf50829
commit
5a58f37179
104
lv/lv3100.cpp
104
lv/lv3100.cpp
@ -36,6 +36,7 @@ protected:
|
|||||||
static bool lv_codart_handler(TMask_field& f, KEY k);
|
static bool lv_codart_handler(TMask_field& f, KEY k);
|
||||||
static bool lv_causale_handler(TMask_field& f, KEY k);
|
static bool lv_causale_handler(TMask_field& f, KEY k);
|
||||||
static bool lv_codmag_handler(TMask_field& f, KEY k);
|
static bool lv_codmag_handler(TMask_field& f, KEY k);
|
||||||
|
static bool lv_datatmp_handler(TMask_field& f, KEY k);
|
||||||
|
|
||||||
static bool ss_notify(TSheet_field& ss, int r, KEY key);
|
static bool ss_notify(TSheet_field& ss, int r, KEY key);
|
||||||
|
|
||||||
@ -825,36 +826,43 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
|||||||
rcondv.put(LVRCONDV_CODCONT,cont.get_int(LVCONDV_CODCONT));
|
rcondv.put(LVRCONDV_CODCONT,cont.get_int(LVCONDV_CODCONT));
|
||||||
rcondv.put(LVRCONDV_CODART,msk.get(FR_CODART));
|
rcondv.put(LVRCONDV_CODART,msk.get(FR_CODART));
|
||||||
|
|
||||||
if (!dadata.ok() && rcondv.read() == NOERR)
|
if (rdoc.get_date("DADATATMP").empty())
|
||||||
{
|
{
|
||||||
dadata = TODAY;
|
if (!dadata.ok() && rcondv.read() == NOERR)
|
||||||
rcondv.put(LVRCONDV_INDTTMP, dadata);
|
|
||||||
rcondv.rewrite();
|
|
||||||
}
|
|
||||||
|
|
||||||
rdoc.put("DADATATMP", dadata);
|
|
||||||
msk.field(FR_JOLLY3).set(dadata);
|
|
||||||
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());
|
dadata = TODAY;
|
||||||
msk.field(FR_JOLLY4).set(giri.get(LVRCONSPLAN_DTCONS).as_date());
|
rcondv.put(LVRCONDV_INDTTMP, dadata);
|
||||||
|
rcondv.rewrite();
|
||||||
|
}
|
||||||
|
|
||||||
if (rcondv.read() == NOERR)
|
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())
|
||||||
{
|
{
|
||||||
rcondv.put(LVRCONDV_FIDTTMP, giri.get(LVRCONSPLAN_DTCONS).as_date());
|
rdoc.put("ADATATMP", giri.get(LVRCONSPLAN_DTCONS).as_date());
|
||||||
rcondv.rewrite();
|
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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -901,7 +909,6 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -926,6 +933,48 @@ bool TGestione_bolle_msk::lv_codmag_handler(TMask_field& f, KEY k)
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TGestione_bolle_msk::lv_datatmp_handler(TMask_field& f, KEY k)
|
||||||
|
{
|
||||||
|
if (k == K_ENTER)
|
||||||
|
{
|
||||||
|
TMask& msk = f.mask();
|
||||||
|
|
||||||
|
//leggo il codart che ho scritto nella riga corrente dello sheet
|
||||||
|
const TString& codart = msk.get(FR_CODART);
|
||||||
|
const TDate& dadata = msk.get_date(FR_JOLLY3);
|
||||||
|
const TDate& adata = msk.get_date(FR_JOLLY4);
|
||||||
|
|
||||||
|
TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&) msk.get_sheet()->mask();
|
||||||
|
|
||||||
|
//recupero il documento e modifico le date sulla riga documento
|
||||||
|
TDocumento& doc = dmsk.doc();
|
||||||
|
TRiga_documento& rdoc = doc[msk.get_sheet()->selected()+1];
|
||||||
|
rdoc.put("DADATATMP", dadata);
|
||||||
|
rdoc.put("ADATATMP", adata);
|
||||||
|
|
||||||
|
//recupero i dati di interesse dalla testata per poter trovare il contratto
|
||||||
|
const long codcf = dmsk.get_long(F_CODCF);
|
||||||
|
const int indsped = dmsk.get_int(F_CODINDSP);
|
||||||
|
TDate datadoc = dmsk.get_date(F_DATADOC);
|
||||||
|
//trovo il contratto utlizzato e la riga contratto specifica che mi serve
|
||||||
|
const TLaundry_contract cont(codcf, indsped, datadoc);
|
||||||
|
|
||||||
|
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_INDTTMP, dadata);
|
||||||
|
rcondv.put(LVRCONDV_FIDTTMP, adata);
|
||||||
|
rcondv.rewrite();
|
||||||
|
}
|
||||||
|
msk.field(FR_JOLLY3).set_focusdirty(false);
|
||||||
|
msk.field(FR_JOLLY4).set_focusdirty(false);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//metodo che setta gli handler sui campi di riga
|
//metodo che setta gli handler sui campi di riga
|
||||||
void TGestione_bolle_msk::user_set_row_handler(TMask& rm, short field, int index)
|
void TGestione_bolle_msk::user_set_row_handler(TMask& rm, short field, int index)
|
||||||
@ -937,6 +986,7 @@ void TGestione_bolle_msk::user_set_row_handler(TMask& rm, short field, int index
|
|||||||
case 4103: rm.set_handler(field, lv_codart_handler); break;
|
case 4103: rm.set_handler(field, lv_codart_handler); break;
|
||||||
case 4104: rm.set_handler(field, lv_causale_handler); break;
|
case 4104: rm.set_handler(field, lv_causale_handler); break;
|
||||||
case 4105: rm.set_handler(field, lv_codmag_handler); break;
|
case 4105: rm.set_handler(field, lv_codmag_handler); break;
|
||||||
|
case 4106: rm.set_handler(field, lv_datatmp_handler); break;
|
||||||
default : TDocumento_mask::user_set_row_handler(rm, field, index); break;
|
default : TDocumento_mask::user_set_row_handler(rm, field, index); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user