From 233daf7d4e995bb20efc9d60fc53f8036822a3f0 Mon Sep 17 00:00:00 2001 From: bonazzi Date: Thu, 2 Nov 2017 13:04:34 +0000 Subject: [PATCH] Patch level : 12.0 462 Files correlati : ve0.exe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Errore segnalato da Dinamica I controllo di commessa chiusa sui documenti era bloccante, non può esserlo perché devo poter modificare un vecchio documento o evadere fatture da emettere o ricevere La segnalazione può esserci, essere bloccante o non bloccante sulla base del tipo documento viene data quanto la commessa è e chiusa e siamo oltre l'eventuale proroga, solo al cambio di commessa. git-svn-id: svn://10.65.10.50/branches/R_10_00@24170 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- src/ve/velib.h | 3 +++ src/ve/velib06a.cpp | 10 ++++++---- src/ve/vetbtip.uml | 10 ++++++++++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/ve/velib.h b/src/ve/velib.h index 894fe2a4b..320cd9e03 100755 --- a/src/ve/velib.h +++ b/src/ve/velib.h @@ -211,6 +211,8 @@ public: virtual ~TFormula_documento(); }; +enum TTipo_cms_check {_bloccante = 0, _non_bloccante, _nessuno}; + class TTipo_documento : public TRectype // velib03 { static TAssoc_array _formule_documento; @@ -333,6 +335,7 @@ public: bool is_costo() const ; bool is_ricavo() const ; const TString& module() const { return _module; } + TTipo_cms_check tipo_cms_check() const {return (TTipo_cms_check) get_int("I3");} TFormula_documento* first_formula() { return succ_formula(true); } TFormula_documento* succ_formula(bool restart = false); diff --git a/src/ve/velib06a.cpp b/src/ve/velib06a.cpp index ccb777af8..adb9a549a 100755 --- a/src/ve/velib06a.cpp +++ b/src/ve/velib06a.cpp @@ -2920,12 +2920,13 @@ bool cms_mag_handler(TMask_field& f, KEY key) { if ((key == K_TAB && f.focusdirty())) { - bool chiusa = curr.get_bool(COMMESSE_CHIUSA); + const TTipo_cms_check t = mask.doc().tipo().tipo_cms_check(); + bool chiusa = (t != _nessuno) && curr.get_bool(COMMESSE_CHIUSA); if (chiusa && curr.get_bool(COMMESSE_PROROGA)) chiusa = mask.get_date(F_DATADOC) > curr.get_date(COMMESSE_DATAPROR); if (chiusa) - return f.yesno_box(FR("La commessa chiusa %s, vuoi utilizzarla"), (const char*)codcms); + return (t == _bloccante) ? f.error_box(FR("La commessa %s è chiusa "), (const char*)codcms) : f.yesno_box(FR("La commessa chiusa %s, vuoi utilizzarla"), (const char*)codcms); } mask.codcms_sh() = codcms; @@ -2988,12 +2989,13 @@ bool codcms_handler(TMask_field& f, KEY key) { if ((key == K_TAB && f.focusdirty())) { - bool chiusa = curr_cms.get_bool(COMMESSE_CHIUSA); + const TTipo_cms_check t = mask.doc().tipo().tipo_cms_check(); + bool chiusa = (t != _nessuno) && curr_cms.get_bool(COMMESSE_CHIUSA); if (chiusa && curr_cms.get_bool(COMMESSE_PROROGA)) chiusa = mask.get_date(F_DATADOC) > curr_cms.get_date(COMMESSE_DATAPROR); if (chiusa) - return f.yesno_box(FR("La commessa chiusa %s, vuoi utilizzarla"), (const char*)codcms); + return (t == _bloccante) ? f.error_box(FR("La commessa %s è chiusa "), (const char*)codcms) : f.yesno_box(FR("La commessa chiusa %s, vuoi utilizzarla"), (const char*)codcms); } doc.put(DOC_CODCMS, codcms); FOR_EACH_PHYSICAL_RDOC(doc, r, riga) diff --git a/src/ve/vetbtip.uml b/src/ve/vetbtip.uml index e33dc0b42..18bf7d959 100755 --- a/src/ve/vetbtip.uml +++ b/src/ve/vetbtip.uml @@ -1360,6 +1360,16 @@ BEGIN CHECKTYPE NORMAL END +LIST F_CMSCHECK 1 13 +BEGIN + PROMPT 2 18 "Controllo commesse " + FILED I3 + ITEM "0|Bloccante" + ITEM "1|Non Bloccante" + ITEM "2|Nessuno" + +END + ENDPAGE ENDMASK