From ea0a1ac013d6207581072075e9fd651ad34f0ade Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 18 Feb 2010 12:14:54 +0000 Subject: [PATCH] Patch level : 10.0 642 Files correlati : lv3.exe Ricompilazione Demo : [ ] Commento : Aggiornamento delle date dotazione temporanea sul contratto git-svn-id: svn://10.65.10.50/trunk@20141 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- lv/lv3100.cpp | 30 ++++++++++++++++++++++++------ lv/lv3300.cpp | 33 +++++++++++++++++++++++++-------- 2 files changed, 49 insertions(+), 14 deletions(-) diff --git a/lv/lv3100.cpp b/lv/lv3100.cpp index fbd361a19..d07ef1274 100755 --- a/lv/lv3100.cpp +++ b/lv/lv3100.cpp @@ -1244,20 +1244,36 @@ void TGestione_bolle_app::date_dotmp( const TMask& m) TRiga_documento& rdoc = (TRiga_documento&)*row; if(rdoc.get_date("DADATATMP").ok()) { + bool to_write = false; + rcondv.put(LVRCONDV_CODCF,codcf); rcondv.put(LVRCONDV_CODCONT, codcont); rcondv.put(LVRCONDV_CODART, rdoc.get(RDOC_CODART)); if (rcondv.read() == NOERR) { - if(rcondv.get_date(LVRCONDV_INDTTMP).empty()) - rcondv.put(LVRCONDV_INDTTMP, rdoc.get_date("DADATATMP")); + const TDate da_data_contr = rcondv.get_date(LVRCONDV_INDTTMP); + const TDate da_data_bolla = rdoc.get_date("DADATATMP"); + + if(da_data_contr > da_data_bolla) + { + rcondv.put(LVRCONDV_INDTTMP, da_data_bolla); + to_write = true; + } + + const TDate a_data_contr = rcondv.get_date(LVRCONDV_FIDTTMP); + const TDate a_data_bolla = rdoc.get_date("ADATATMP"); + + if(a_data_contr < a_data_bolla) + { + rcondv.put(LVRCONDV_FIDTTMP, a_data_bolla); + to_write = true; + } + if (to_write) + rcondv.rewrite(); - if(rcondv.get_date(LVRCONDV_FIDTTMP).empty()) - rcondv.put(LVRCONDV_FIDTTMP, rdoc.get_date("ADATATMP")); } } } - rcondv.rewrite(); } //ridefinisco il metodo write delle TMotore_application @@ -1267,7 +1283,9 @@ int TGestione_bolle_app::write( const TMask& m ) salva_conguaglio(m); - return TMotore_application::write(m); + date_dotmp(m); + + return TMotore_application::write(m); } //ridefinisco il metodo rewrite delle TMotore_application diff --git a/lv/lv3300.cpp b/lv/lv3300.cpp index 2d4eb83b2..335cbd861 100755 --- a/lv/lv3300.cpp +++ b/lv/lv3300.cpp @@ -1230,20 +1230,35 @@ void TGestione_buoni_app::date_dotmp( const TMask& m) TRiga_documento& rdoc = (TRiga_documento&)*row; if(rdoc.get_date("DADATATMP").ok()) { + bool to_write = false; + rcondv.put(LVRCONDV_CODCF,codcf); rcondv.put(LVRCONDV_CODCONT, codcont); rcondv.put(LVRCONDV_CODART, rdoc.get(RDOC_CODART)); if (rcondv.read() == NOERR) { - if(rcondv.get_date(LVRCONDV_INDTTMP).empty()) - rcondv.put(LVRCONDV_INDTTMP, rdoc.get_date("DADATATMP")); + const TDate da_data_contr = rcondv.get_date(LVRCONDV_INDTTMP); + const TDate da_data_bolla = rdoc.get_date("DADATATMP"); - if(rcondv.get_date(LVRCONDV_FIDTTMP).empty()) - rcondv.put(LVRCONDV_FIDTTMP, rdoc.get_date("ADATATMP")); - } - } + if(da_data_contr > da_data_bolla) + { + rcondv.put(LVRCONDV_INDTTMP, da_data_bolla); + to_write = true; + } + + const TDate a_data_contr = rcondv.get_date(LVRCONDV_FIDTTMP); + const TDate a_data_bolla = rdoc.get_date("ADATATMP"); + + if(a_data_contr < a_data_bolla) + { + rcondv.put(LVRCONDV_FIDTTMP, a_data_bolla); + to_write = true; + } + if (to_write) + rcondv.rewrite(); + } + } } - rcondv.rewrite(); } //ridefinisco il metodo write delle TMotore_application @@ -1265,7 +1280,9 @@ int TGestione_buoni_app::rewrite( const TMask& m ) salva_conguaglio(m); - return TMotore_application::rewrite(m); + date_dotmp(m); + + return TMotore_application::rewrite(m); } //ridefinisco il metodo read della TMotore_application