diff --git a/ps/ps0713200.cpp b/ps/ps0713200.cpp index 635c58e9b..a97ce86cf 100755 --- a/ps/ps0713200.cpp +++ b/ps/ps0713200.cpp @@ -80,7 +80,7 @@ void TImporta_comm_app::scan_file(const TFilename& file, TAssoc_array& righe) if (!pi.addstatus(s.tellg())) break; - TString idlavoro = rec.get(0); idlavoro.strip("\""); + TString16 idlavoro = rec.get(0); idlavoro.strip("\""); //salto le righe vuote del file if (idlavoro.empty()) @@ -90,29 +90,35 @@ void TImporta_comm_app::scan_file(const TFilename& file, TAssoc_array& righe) //gruppo conto e sottoconto devono avere dei valori sensati TString gr = rec.get(1); gr.strip("\""); (gr == "" || gr == "?") ? gr ="0" : gr = gr; TString co = rec.get(2); co.strip("\""); (co == "" || co == "?") ? co ="0" : co = co; - TString sc = rec.get(3); sc.strip("\""); (sc == "" || sc == "?") ? sc ="0" : sc = gr; + TString sc = rec.get(3); sc.strip("\""); (sc == "" || sc == "?") ? sc ="0" : sc = sc; - TCommessa_string str(atol(idlavoro), atoi(gr), atoi(co), atol(sc)); + TCommessa_string str(idlavoro, atoi(gr), atoi(co), atol(sc)); if(!righe.is_key(str)) righe.add(str, str); + + rec = s.line(); } } void TImporta_comm_app::importa_cms(TAssoc_array& righe) { - TProgind pi(righe.items(), "Scansione file in corso...", true, true); + TProgind pi(righe.items(), "Importazione commesse in corso...", true, true); TLog_report log("Importazione Commesse"); TLocalisamfile com(LF_COMMESSE); TLocalisamfile rip(LF_RIP); TLocalisamfile rrip(LF_RRIP); - const TRectype& r = rip.last(); + rip.last(); + const TRectype& r = rip.curr(); long codice = r.get_long("CODICE"); FOR_EACH_ASSOC_OBJECT(righe, obj, key, itm) { + if (!pi.addstatus(1)) + break; + TCommessa_string cms(key); - TString80 codcms; codcms << cms.idlavoro(); + TString80 codcms = cms.idlavoro(); TString str; str << "La commessa " << codcms; @@ -132,31 +138,29 @@ void TImporta_comm_app::importa_cms(TAssoc_array& righe) TString8 cod; cod.format("%08ld", ++codice); - TString80 descr; descr << "Comessa " << codice; + TString80 descr; descr << "Comessa " << codcms; TBill bill(gruppo, conto, sotco); const real percentuale(CENTO); - TString80 desms; descms << "Commessa " << codcms; - com.put("CODCMS", codcms); - com.put("DESCRIZ", descms); + com.put("DESCRIZ", descr); rip.put("TIPO", 'B'); rip.put("CODICE", cod); rip.put("CODCMS", codcms); - rip.put("INDBIL", bill.indicatore_bilancio()); + //rip.put("INDBIL", bill.indicatore_bilancio()); rip.put("DESCRIZ", descr); rrip.put("TIPO", 'B'); - rrip.put("CODICE", codice); + rrip.put("CODICE", cod); rrip.put("NRIGA", 1); rrip.put("CODCMS", codcms); rrip.put("CODCONTO", codconto); rrip.put("RIPARTO", percentuale); - int err = com.write(); + int err = com.rewrite_write(); if(err == NOERR) err = rip.write(); diff --git a/ps/ps0713300.cpp b/ps/ps0713300.cpp index 04116385c..a1e209d16 100755 --- a/ps/ps0713300.cpp +++ b/ps/ps0713300.cpp @@ -108,10 +108,10 @@ void TImporta_fatacq_app::genera_analitica(const long numreg, TAssoc_array& righ break; TCommessa_string& row = (TCommessa_string)keyar; - const long idlav = row.idlavoro(); - const int gruppo = row.gruppo(); TString8 grup; grup.format("%03d", gruppo); - const int conto = row.conto(); TString8 cont; cont.format("%03d", conto); - const int sotco = row.sotco(); TString16 sotc; sotc.format("%06ld", sotco); + const TString& idlav = row.idlavoro(); + const int gruppo = row.gruppo(); TString8 grup; grup.format("%03d", gruppo); + const int conto = row.conto(); TString8 cont; cont.format("%03d", conto); + const int sotco = row.sotco(); TString16 sotc; sotc.format("%06ld", sotco); TString80 codconto; codconto << grup << cont << sotc; real& imp = *(real*)itm; imp.round(2); diff --git a/ps/ps0713500.cpp b/ps/ps0713500.cpp index 79a04e10b..cdd3f4216 100755 --- a/ps/ps0713500.cpp +++ b/ps/ps0713500.cpp @@ -135,10 +135,10 @@ void TImporta_spese_app::genera_movana(const long numreg, TAssoc_array& righean) break; TCommessa_string& row = (TCommessa_string)keyar; - const long idlav = row.idlavoro(); - const int gruppo = row.gruppo(); TString8 grup; grup.format("%03d", gruppo); - const int conto = row.conto(); TString8 cont; cont.format("%03d", conto); - const int sotco = row.sotco(); TString16 sotc; sotc.format("%06ld", sotco); + const TString& idlav = row.idlavoro(); + const int gruppo = row.gruppo(); TString8 grup; grup.format("%03d", gruppo); + const int conto = row.conto(); TString8 cont; cont.format("%03d", conto); + const int sotco = row.sotco(); TString16 sotc; sotc.format("%06ld", sotco); TString80 codconto; codconto << grup << cont << sotc; real& imp = *(real*)itm; imp.round(2); diff --git a/ps/ps0713600.cpp b/ps/ps0713600.cpp index e075a4044..8af46c560 100755 --- a/ps/ps0713600.cpp +++ b/ps/ps0713600.cpp @@ -87,7 +87,7 @@ void TImporta_fat_for_app::scan_file(TVB_recset& file, TAssoc_array& righean, TA continue; //idlavoro - const long idlavoro = file.get(0).as_int(); + const TString16 idlavoro = file.get(0).as_string(); //imponibile TString16 tmp = file.get(1).as_string(); @@ -261,10 +261,10 @@ void TImporta_fat_for_app::genera_analitica(TAssoc_array& righean, TCommessa_str break; TCommessa_string& row = (TCommessa_string)keyar; - const long idlav = row.idlavoro(); - const int gruppo = row.gruppo(); TString8 grup; grup.format("%03d", gruppo); - const int conto = row.conto(); TString8 cont; cont.format("%03d", conto); - const int sotco = row.sotco(); TString16 sotc; sotc.format("%06ld", sotco); + const TString& idlav = row.idlavoro(); + const int gruppo = row.gruppo(); TString8 grup; grup.format("%03d", gruppo); + const int conto = row.conto(); TString8 cont; cont.format("%03d", conto); + const int sotco = row.sotco(); TString16 sotc; sotc.format("%06ld", sotco); TString80 codconto; codconto << grup << cont << sotc; real& imp = *(real*)itm; imp.round(2); diff --git a/ps/ps0713lib.cpp b/ps/ps0713lib.cpp index adbd07e44..0f09bf0ee 100755 --- a/ps/ps0713lib.cpp +++ b/ps/ps0713lib.cpp @@ -5,9 +5,9 @@ //////////////////////////////// //IDLAVORO: metodo che restituisce l'Idlavoro -const long TCommessa_string::idlavoro() +const TString16 TCommessa_string::idlavoro() { - return get_long(0); + return get(0); } //GRUPPO: metodo che restituisce il gruppo @@ -29,7 +29,7 @@ const long TCommessa_string::sotco() } //metodo costruttore -TCommessa_string::TCommessa_string(const long idlavoro, const int gruppo, const int conto, const long sotco) +TCommessa_string::TCommessa_string(const char* idlavoro, const int gruppo, const int conto, const long sotco) { add(idlavoro); add(gruppo); @@ -70,7 +70,7 @@ TCommessa::TCommessa(const char* codcms) { _codice = rip.get("CODICE").as_string(); - const long codcms = rip.get("CODCMS").as_int(); + const TString16 codcms = rip.get("CODCMS").as_string(); query.cut(0); query << "USE RRIP\n" diff --git a/ps/ps0713lib.h b/ps/ps0713lib.h index 268767396..b0cc91dcd 100755 --- a/ps/ps0713lib.h +++ b/ps/ps0713lib.h @@ -17,14 +17,14 @@ class TCommessa_string: public TToken_string { public: - const long idlavoro(); - const int gruppo(); - const int conto(); - const long sotco(); + const TString16 idlavoro(); + const int gruppo(); + const int conto(); + const long sotco(); TCommessa_string& operator= (const char* key){ set(key); return *this; } - TCommessa_string(const long idlavoro, const int gruppo, const int conto, const long sotco); + TCommessa_string(const char* idlavoro, const int gruppo, const int conto, const long sotco); TCommessa_string(const char* key):TToken_string(key){} TCommessa_string(const TToken_string& key):TToken_string(key){} TCommessa_string(const TCommessa_string& key):TToken_string(key){}