From 185804cbf118233855ac7d30b25e16a942b0d72b Mon Sep 17 00:00:00 2001 From: luca83 Date: Fri, 12 Feb 2010 10:44:32 +0000 Subject: [PATCH] Patch level : 10.0 patch 63? Files correlati : lv3 Ricompilazione Demo : [ ] Commento : Spostato il salvataggio del conguaglio nella write / rewrite git-svn-id: svn://10.65.10.50/trunk@20107 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- lv/lv3100.cpp | 45 +++++++++++++++++++++++++++++++++------------ lv/lv3300.cpp | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 12 deletions(-) diff --git a/lv/lv3100.cpp b/lv/lv3100.cpp index 4ac8e3349..bb74b42da 100755 --- a/lv/lv3100.cpp +++ b/lv/lv3100.cpp @@ -78,6 +78,8 @@ protected: virtual void init_modify_mode( TMask& m ); void elimina_vuote( const TMask& m); + void salva_conguaglio( const TMask& m); + virtual const char * query_mask_name() { return "lv3100a"; } @@ -719,16 +721,6 @@ bool TGestione_bolle_msk::lv_codart_handler(TMask_field& f, KEY k) const real congat = conat - ritat + congor; rdoc.put(RDOC_QTAGG5, congat); //conguaglio dopo modifica manuale - - TLocalisamfile rcondv(LF_LVRCONDV); - rcondv.put(LVRCONDV_CODCF,codcf); - rcondv.put(LVRCONDV_CODCONT,cont.get_int(LVCONDV_CODCONT)); - rcondv.put(LVRCONDV_CODART,codart); - if (rcondv.read() == NOERR) - { - rcondv.put(LVRCONDV_QTACONG,congat); - rcondv.rewrite(); - } } } @@ -1193,17 +1185,44 @@ void TGestione_bolle_app::elimina_vuote( const TMask& m) FOR_EACH_DOC_ROW_BACK(d, r, row) { if (row->is_articolo() && row->get_int(RDOC_QTA) == 0 && row->get_int(RDOC_QTAGG1) == 0) - { d.destroy_row(r,true); - } } } +void TGestione_bolle_app::salva_conguaglio( const TMask& m) +{ + TDocumento_mask& mask = (TDocumento_mask&) m; + TDocumento& d = mask.doc(); + + TSheet_field& sheet = mask.sfield(F_SHEET); + const long codcf = mask.get_long(F_CODCF); + const int indsped = mask.get_int(F_CODINDSP); + TDate datadoc = mask.get_date(F_DATADOC); + + const TLaundry_contract cont(codcf, indsped, datadoc); + const int codcont = cont.get_int(LVCONDV_CODCONT); + + TLocalisamfile rcondv(LF_LVRCONDV); + + FOR_EACH_DOC_ROW_BACK(d, r, row) + { + TRiga_documento& rdoc = (TRiga_documento&)*row; + rcondv.put(LVRCONDV_CODCF,codcf); + rcondv.put(LVRCONDV_CODCONT, codcont); + rcondv.put(LVRCONDV_CODART, rdoc.get(RDOC_CODART)); + if (rcondv.read() == NOERR) + rcondv.put(LVRCONDV_QTACONG, rdoc.get_real(RDOC_QTAGG5)); + } + rcondv.rewrite(); +} + //ridefinisco il metodo write delle TMotore_application int TGestione_bolle_app::write( const TMask& m ) { elimina_vuote(m); + salva_conguaglio(m); + return TMotore_application::write(m); } @@ -1211,6 +1230,8 @@ int TGestione_bolle_app::write( const TMask& m ) int TGestione_bolle_app::rewrite( const TMask& m ) { elimina_vuote(m); + + salva_conguaglio(m); return TMotore_application::rewrite(m); } diff --git a/lv/lv3300.cpp b/lv/lv3300.cpp index fb713642e..0320c07dc 100755 --- a/lv/lv3300.cpp +++ b/lv/lv3300.cpp @@ -77,6 +77,7 @@ protected: virtual void init_modify_mode( TMask& m ); void elimina_vuote( const TMask& m); + void salva_conguaglio( const TMask& m); virtual const char * query_mask_name() { return "lv3300a"; } @@ -1175,11 +1176,40 @@ void TGestione_buoni_app::elimina_vuote( const TMask& m) } } +void TGestione_buoni_app::salva_conguaglio( const TMask& m) +{ + TDocumento_mask& mask = (TDocumento_mask&) m; + TDocumento& d = mask.doc(); + + TSheet_field& sheet = mask.sfield(F_SHEET); + const long codcf = mask.get_long(F_CODCF); + const int indsped = mask.get_int(F_CODINDSP); + TDate datadoc = mask.get_date(F_DATADOC); + + const TLaundry_contract cont(codcf, indsped, datadoc); + const int codcont = cont.get_int(LVCONDV_CODCONT); + + TLocalisamfile rcondv(LF_LVRCONDV); + + FOR_EACH_DOC_ROW_BACK(d, r, row) + { + TRiga_documento& rdoc = (TRiga_documento&)*row; + rcondv.put(LVRCONDV_CODCF,codcf); + rcondv.put(LVRCONDV_CODCONT, codcont); + rcondv.put(LVRCONDV_CODART, rdoc.get(RDOC_CODART)); + if (rcondv.read() == NOERR) + rcondv.put(LVRCONDV_QTACONG, rdoc.get_real(RDOC_QTAGG5)); + } + rcondv.rewrite(); +} + //ridefinisco il metodo write delle TMotore_application int TGestione_buoni_app::write( const TMask& m ) { elimina_vuote(m); + salva_conguaglio(m); + return TMotore_application::write(m); } @@ -1188,6 +1218,8 @@ int TGestione_buoni_app::rewrite( const TMask& m ) { elimina_vuote(m); + salva_conguaglio(m); + return TMotore_application::rewrite(m); }