From 2184df7b0a9d2fa91876601809cc550ce6dba81b Mon Sep 17 00:00:00 2001 From: luca Date: Tue, 21 Sep 2010 10:56:12 +0000 Subject: [PATCH] Patch level : Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/branches/R_10_00@20884 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ps/ps1001.men | 8 ++++++++ ps/ps1001100.cpp | 36 ++++++++++++++++++++++++++++-------- ps/ps1001100a.uml | 2 +- ps/ps1001300.cpp | 2 +- 4 files changed, 38 insertions(+), 10 deletions(-) create mode 100755 ps/ps1001.men diff --git a/ps/ps1001.men b/ps/ps1001.men new file mode 100755 index 000000000..32c73cede --- /dev/null +++ b/ps/ps1001.men @@ -0,0 +1,8 @@ +[CAMENU_99] +Caption = "Personalizzazioni CA" +Picture = +Module = 22 +Flags = "" +Item_01 = "Importazione movimento da righe .csv", "ps1001 -0", "" +Item_02 = "Importazione movimenti budget da .csv", "ps1001 -1", "" +Item_03 = "Gestione movimenti budget", "ps1001 -2", "" \ No newline at end of file diff --git a/ps/ps1001100.cpp b/ps/ps1001100.cpp index 4a4e8aca3..864addf15 100755 --- a/ps/ps1001100.cpp +++ b/ps/ps1001100.cpp @@ -261,6 +261,7 @@ bool TImporta_movana::transfer(const TFilename& file) TImporto totale; //giro su tutti i record del recordset per importarli; ogni record è una riga + //TRACCIATO RECORD all'ultima moda (21/09/2010): codcms/cdc/importo/sezione/gr/co/sott/fase (valido per crpa e dinamica) //righe analitiche //---------------- for (bool ok = s.move_first(); ok; ok = s.move_next()) @@ -271,18 +272,25 @@ bool TImporta_movana::transfer(const TFilename& file) //prende i dati dal record di input del file csv //---------------------------------------------- - //codcms ci deve essere e va maiuscolizzato; se non c'è va segnalato sul log.. + //CODCMS ci deve essere e va maiuscolizzato; se non c'è va segnalato sul log.. //..ed impedirà la write del movana TString80 codcms = s.get(0).as_string(); if (codcms.blank()) { - TString msg; - msg.format("Manca la commessa nella riga %ld", curr_line); - log.log(2, msg); + //controllo necessario e decisivo per evitare l'errore dovuto all'ultimo 'a capo' che pretendeva una riga ulteriore + if (curr_line < recset_items) + { + TString msg; + msg.format("Manca la commessa nella riga %ld", curr_line); + log.log(2, msg); + } continue; } codcms.upper(); - //cdc ci deve essere e va maiuscolizzato; se non c'è va segnalato sul log.. + //altra modifica all'ultima moda: se c'è un '_' in realtà vorrebbe un '/' (21/09/2010) + codcms.replace('_', '/'); + + //CDC ci deve essere e va maiuscolizzato; se non c'è va segnalato sul log.. //..ed impedirà la write del movana TString80 cdc = s.get(1).as_string(); if (cdc.blank()) @@ -294,7 +302,7 @@ bool TImporta_movana::transfer(const TFilename& file) } cdc.upper(); - //importo (inizialmente come stringa x poter fare le replace); se nullo va segnalato.. + //IMPORTO (inizialmente come stringa x poter fare le replace); se nullo va segnalato.. //..ma niente bloccaggio della write TString80 str_importo = s.get(2).as_string(); if (sep_dec == ',') @@ -313,7 +321,7 @@ bool TImporta_movana::transfer(const TFilename& file) log.log(0, msg); }*/ - //sezione + //SEZIONE TString8 str_sezione = s.get(3).as_string(); if (str_sezione.blank()) { @@ -325,7 +333,7 @@ bool TImporta_movana::transfer(const TFilename& file) str_sezione.upper(); const char sezione = str_sezione[0]; - //conto + //CONTO const int gr = s.get(4).as_int(); const int co = s.get(5).as_int(); const long so = s.get(6).as_int(); @@ -339,6 +347,17 @@ bool TImporta_movana::transfer(const TFilename& file) continue; } + //FASE ci può essere e va maiuscolizzata; + TString80 fase = s.get(7).as_string(); + /*if (fase.blank()) + { + TString msg; + msg.format("Manca la fase nella riga %ld", curr_line); + log.log(2, msg); + continue; + }*/ + fase.upper(); + //riempie la riga analitica //------------------------- //nuova riga del movana (sfrutta il fatto che è un multiple rectype) @@ -348,6 +367,7 @@ bool TImporta_movana::transfer(const TFilename& file) rmovana.put(RMOVANA_CODCONTO, conto); rmovana.put(RMOVANA_CODCMS, codcms); rmovana.put(RMOVANA_CODCCOSTO, cdc); + rmovana.put(RMOVANA_CODFASE, fase); rmovana.put(RMOVANA_SEZIONE, sezione); rmovana.put(RMOVANA_IMPORTO, importo); //aggiorna anche il totale documento.. diff --git a/ps/ps1001100a.uml b/ps/ps1001100a.uml index 3fc4eefd2..751cdef9e 100755 --- a/ps/ps1001100a.uml +++ b/ps/ps1001100a.uml @@ -227,7 +227,7 @@ END TEXT -1 BEGIN - PROMPT 1 13 "COMMESSA ; SEDE ; IMPORTO ; SEZIONE ; GRUPPO ; CONTO ; SOTTOCONTO" + PROMPT 1 13 "COMMESSA ; SEDE ; IMPORTO ; SEZIONE ; GRUPPO ; CONTO ; SOTTOCONTO ; FASE" END ENDPAGE diff --git a/ps/ps1001300.cpp b/ps/ps1001300.cpp index b685b5905..7aed7b5b4 100755 --- a/ps/ps1001300.cpp +++ b/ps/ps1001300.cpp @@ -1334,7 +1334,7 @@ void TVariazione_budget_mask::calcola_impegnato(const TString& cms, const bool i { TToken_string& row = sf_righe.row(index); #ifdef DBG - if (rmovana_conto == "004001000037") + if (rmovana_conto == "004001000015") int cazzone = 1; #endif real row_valore_impegnato = row.get(_pos_ipg);