From 0333964f0cff505b97899837dbda188c8f9b791c Mon Sep 17 00:00:00 2001 From: luca83 Date: Wed, 4 Mar 2009 15:17:58 +0000 Subject: [PATCH] Patch level : 10.0 patch 252 Files correlati : lv3 Ricompilazione Demo : [ ] Commento : Ulteriori miglioramenti git-svn-id: svn://10.65.10.50/trunk@18417 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- lv/lv3100.cpp | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/lv/lv3100.cpp b/lv/lv3100.cpp index fa84d9887..90636ca57 100755 --- a/lv/lv3100.cpp +++ b/lv/lv3100.cpp @@ -382,10 +382,8 @@ bool TGestione_bolle_msk::ss_notify(TSheet_field& ss, int r, KEY key) TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&) ss.mask(); if (key == K_TAB && dmsk._autoselect == -1) - { - dettaglio_causale(ss); //esplodo la causale dmsk._autoselect = ss.selected(); //riga per settare il focus - } + return TDocumento_mask::ss_notify(ss, r, key); } @@ -746,11 +744,14 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k) const TString& codart = msk.get(FR_CODART); //srcrivo nel documento la causale - TSheet_field* sheet = msk.get_sheet(); + TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&) msk.get_sheet()->mask(); + TSheet_field& sheet = dmsk.sfield(F_SHEET); + + //esplodo la descrizione della causale + dettaglio_causale(sheet); - TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&) msk.get_sheet()->mask(); TDocumento& doc = dmsk.doc(); - TRiga_documento& rdoc = doc[sheet->selected()+1]; + TRiga_documento& rdoc = doc[msk.get_sheet()->selected()+1]; TString4 codmag(doc.clifor().vendite().get(CFV_CODMAG)); TString4 coddep(doc.clifor().vendite().get(CFV_CODDEP)); TString4 codmagcoll(codmag); @@ -818,8 +819,19 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k) //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()) + + 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 (!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 (adata.ok() && adata <= datadoc) @@ -837,12 +849,8 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k) if (giri.move_first()) { rdoc.put("ADATATMP", giri.get(LVRCONSPLAN_DTCONS).as_date()); - msk.field(FR_JOLLY4).set(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()); @@ -1005,8 +1013,6 @@ int TGestione_bolle_app::write( const TMask& m ) elimina_vuote(m); TGestione_bolle_msk& mask = (TGestione_bolle_msk&) m; - TDocumento& d = mask.doc(); - _giac.reset(d); _giac.write_giac(m); return TMotore_application::write(m); @@ -1018,8 +1024,6 @@ int TGestione_bolle_app::rewrite( const TMask& m ) elimina_vuote(m); TGestione_bolle_msk& mask = (TGestione_bolle_msk&) m; - TDocumento& d = mask.doc(); - _giac.reset(d); _giac.write_giac(m); return TMotore_application::rewrite(m);