diff --git a/src/mr/mr0600.cpp b/src/mr/mr0600.cpp index d460a48c8..8fcaac2c6 100644 --- a/src/mr/mr0600.cpp +++ b/src/mr/mr0600.cpp @@ -54,6 +54,7 @@ protected: const TString getGroup(TString codTab) const {TString app; app << codTab[1] << codTab[2] << codTab[3]; return app; } // Restituisce la famiglia di un prodotto CODART[3,5] const TString toEscape(TString val) const; // Prende una stringa e sistema i caratteri di escape const TString zeroFill(TString val, int n = 6) const; // Riempe di 0 se non ci sono 6 caratteri + const TString toNumber(const TString& val) const; bool setParameters(TString dsn, TString utente, TString password); bool checkParameters(const TString& DSN, const TString& usr, const TString& psw) { TODBC_recordset connTest(""); return connTest.connect(DSN, usr, psw) ? setParameters(DSN, usr, psw) : false; } //***************************************************************** @@ -135,6 +136,15 @@ const TString TCampass_app::zeroFill(TString val, int n) const return app; } +const TString TCampass_app::toNumber(const TString& val) const +{ + // A volte capitano dei valori non numerici + real app = val; + if(app >= ZERO) + return app.stringa(5,2); + return val; +} + bool TCampass_app::setParameters(TString dsn, TString utente, TString password) { // Salvo i parametri @@ -1009,9 +1019,10 @@ bool TCampass_app::p01b(const TString id) const if(rowAna.get("USER3") != "") { + TString cparam; cparam << toNumber(rowAna.get("USER3")) << "x" << toNumber(rowAna.get("USER4")); // Inserisco Tutto sqlQuery << "INSERT INTO P01B ( IKRUNIMP, CStr, CART, CPARAM, CPARVAL ) \ - VALUES('" << id << "','DBS','" << toEscape(rowAna.get("CODART")) << "','MISREA','" << rowAna.get("USER3") << "x"<< rowAna.get("USER4") << "');"; + VALUES('" << id << "','DBS','" << toEscape(rowAna.get("CODART")) << "','MISREA','" << toEscape(cparam) << "');"; } TString anamagCod(rowAna.get("CODART")), filtroCodTab;