Patch level :10.0

Files correlati     :lv3
Ricompilazione Demo : [ ]
Commento            :
Corretto caricamento causali e aggiornamento dei campi di dot. odierna e dot. temp.


git-svn-id: svn://10.65.10.50/trunk@18097 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2009-01-23 16:28:25 +00:00
parent 118553381c
commit 0d4761bf2f

View File

@ -387,7 +387,7 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
//e il campo "dotazione temporanea" (se la causale è giusta) //e il campo "dotazione temporanea" (se la causale è giusta)
bool TGestione_bolle_msk::lv_ritirato_handler(TMask_field& f, KEY k) bool TGestione_bolle_msk::lv_ritirato_handler(TMask_field& f, KEY k)
{ {
if (f.to_check(k) && !f.empty()) if (f.to_check(k) && !f.empty())
{ {
TMask& msk = f.mask(); TMask& msk = f.mask();
real ritirato = f.get(); real ritirato = f.get();
@ -424,7 +424,6 @@ bool TGestione_bolle_msk::lv_ritirato_handler(TMask_field& f, KEY k)
msk.set(FR_JOLLY2, dotmp); msk.set(FR_JOLLY2, dotmp);
} }
} }
sheet->force_update();
} }
return true; return true;
} }
@ -440,36 +439,38 @@ bool TGestione_bolle_msk::lv_consegnato_handler(TMask_field& f, KEY k)
default: break; default: break;
} }
TMask& msk = f.mask(); if (f.to_check(k))
real consegnato = f.get();
//gestione campi dotazione odierna e dotazione temporanea
TSheet_field* sheet = msk.get_sheet();
TDocumento_mask& dmask = (TDocumento_mask&)sheet->mask();
TRiga_documento& rdoc = dmask.doc()[sheet->selected()+1];
rdoc.put(RDOC_QTAGG1,consegnato);
TGiac_per_cli& giac = gbapp().giacenza();
long dotod = giac.giac_att(rdoc, true);
msk.set(FR_JOLLY1, dotod);
//instanzio una cache sulla tabella delle causali
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") || cau.get_bool("B1"))
{ {
const TRectype& caumagr = cache().get("%CAU", cau.get(cau.get_bool("B0") ? "S1": "S2")); TMask& msk = f.mask();
TString4 str = caumagr.get("S2").mid(32,2); real consegnato = f.get();
//gestione campi dotazione odierna e dotazione temporanea
TSheet_field* sheet = msk.get_sheet();
TDocumento_mask& dmask = (TDocumento_mask&)sheet->mask();
TRiga_documento& rdoc = dmask.doc()[sheet->selected()+1];
rdoc.put(RDOC_QTAGG1,consegnato);
if (atoi(str) != ZERO) TGiac_per_cli& giac = gbapp().giacenza();
long dotod = giac.giac_att(rdoc, true);
msk.set(FR_JOLLY1, dotod);
//instanzio una cache sulla tabella delle causali
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") || cau.get_bool("B1"))
{ {
long dotmp = giac.giac_att(rdoc, false); const TRectype& caumagr = cache().get("%CAU", cau.get(cau.get_bool("B0") ? "S1": "S2"));
msk.set(FR_JOLLY2, dotmp); TString4 str = caumagr.get("S2").mid(32,2);
if (atoi(str) != ZERO)
{
long dotmp = giac.giac_att(rdoc, false);
msk.set(FR_JOLLY2, dotmp);
}
} }
} }
sheet->force_update();
return ok; return ok;
} }
@ -507,11 +508,12 @@ bool TGestione_bolle_msk::lv_codart_handler(TMask_field& f, KEY k)
//cerco la causale relativa all'articolo; se non la trovo prendo quella standard //cerco la causale relativa all'articolo; se non la trovo prendo quella standard
TString4 causale = rcont.get(LVRCONDV_CAUSLAV); TString4 causale = rcont.get(LVRCONDV_CAUSLAV);
if (causale.blank() || causale == "000") if (causale.blank() || atoi(causale) == 0 )
{ {
TConfig* configlv = new TConfig(CONFIG_DITTA,"lv"); TConfig* configlv = new TConfig(CONFIG_DITTA,"lv");
causale = configlv->get("CAUSLAV"); causale = configlv->get("CAUSLAV");
} }
msk.set(FR_CODAGG1, causale);
//controllo se si vuole aggiungere un eventuale nuovo articolo al contratto //controllo se si vuole aggiungere un eventuale nuovo articolo al contratto
if (rcont.empty() && if (rcont.empty() &&