From c9dc6931b217d2fa28801f2fe4359464ed3f4674 Mon Sep 17 00:00:00 2001 From: guy Date: Wed, 11 Sep 2013 09:49:06 +0000 Subject: [PATCH] Corretta gestione anni di esercizio brevi (meno di 4 cifre) in stampa schede magazzino git-svn-id: svn://10.65.10.50/branches/R_10_00@22894 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- mg/mg3300.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/mg/mg3300.cpp b/mg/mg3300.cpp index 1bf9c9598..d6824a4ed 100755 --- a/mg/mg3300.cpp +++ b/mg/mg3300.cpp @@ -11,7 +11,7 @@ #define VALUE_NOT_SET "~~" -TCausale_magazzino& get_cau(const char* codcaus) +inline TCausale_magazzino& get_cau(const char* codcaus) { return cached_causale_magazzino(codcaus); } class TForm_schedemag : public TForm_stampemg @@ -555,7 +555,7 @@ void TForm_schedemag::set_date_limite(const int anno, const TDate& d, const TDat TEsercizi_contabili ec; _annoes = anno; - _anno_prec.format("%4d",ec.pred(anno)); + _anno_prec.format("%04d",ec.pred(anno)); _magazzino_chiuso = (ec.pred(anno) == 0) || !(ec.esercizio(atoi(_anno_prec)).chiusura_mag().empty()); _data_inizio = d; @@ -705,12 +705,12 @@ void TStampa_schede_mag::setprint_perarticoli() char subordine =m.get(F_SUBORDINE)[0]; _cur = _form->cursor(); // filtering ANNOES - filter << '(' << LF_MOVMAG << "->ANNOES==" << m.get(F_ANNOES)<< ")&&" ; + filter << "(STR(" << LF_MOVMAG << "->ANNOES==" << m.get(F_ANNOES)<< "))&&" ; // filtering from/to MAGS - if (m.get(F_DAMAG)[0]) - filter << "(" << LF_RMOVMAG << "->CODMAG[1,3]>=" <<'"' << m.get(F_DAMAG)<< "\")&&" ; - if (m.get(F_AMAG)[0]) - filter << "(" << LF_RMOVMAG << "->CODMAG[1,3]<=" <<'"' << m.get(F_AMAG)<< "\")&&" ; + if (m.get(F_DAMAG).full()) + filter << "(" << LF_RMOVMAG << "->CODMAG[1,3]>=" <<'"' << m.get(F_DAMAG) << "\")&&" ; + if (m.get(F_AMAG).full()) + filter << "(" << LF_RMOVMAG << "->CODMAG[1,3]<=" <<'"' << m.get(F_AMAG) << "\")&&" ; if (m.get(F_DADEP).full()) filter << "(" << LF_RMOVMAG << "->CODMAG[4,]>=" <<'"' << m.get(F_DADEP)<< "\")&&" ; @@ -808,6 +808,11 @@ void TStampa_schede_mag::setprint_perarticoli() rmovmag->setregion(darecr,arecr,tilde); if (tiposcheda() != s_giac) rmovmag->cursor().set_filterfunction(cau_filter); + +#ifdef DBG + rmovmag->first(); +#endif + _cur->relation()->replace(rmovmag,1, _form->rmov_joinexp() ); TLocalisamfile *mag=new TLocalisamfile(LF_MAG);