From c3cdbc4aa082e6af80b60b7778ffb51f731ec9f7 Mon Sep 17 00:00:00 2001 From: mtollari Date: Thu, 4 May 2017 14:36:05 +0000 Subject: [PATCH] Patch level : 12.0 no-patch Files correlati : mr0 Commento : Sistemato errore spostamento cursore nei cicli di ricerca git-svn-id: svn://10.65.10.50/branches/R_10_00@23773 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- src/mr/mr0600.cpp | 71 ++++------------------------------------------- 1 file changed, 6 insertions(+), 65 deletions(-) diff --git a/src/mr/mr0600.cpp b/src/mr/mr0600.cpp index 7a2870b8b..3bf068070 100644 --- a/src/mr/mr0600.cpp +++ b/src/mr/mr0600.cpp @@ -278,7 +278,6 @@ TString TCampass_app::esporta(const TString& DSN, const TString& usr, const TStr logFile << getTime() << " - Fine esportazione O02!\n"; - // INIZIO O01 logFile << getTime() << " - Inizio esportazione O01:\n"; @@ -431,9 +430,10 @@ bool TCampass_app::a01a(const TString id) const // Prendo la riga di RDOC TRectype rowRDoc = curRdoc.curr(); bool trovato = false; - for(curFiltro = 0; curFiltro.pos() < curFiltro.items() && !trovato; ++curFiltro) + for(curFiltro = 0; curFiltro.pos() < curFiltro.items() && !trovato;) { trovato = rowRDoc.get_int("DAIDRIGA") == curFiltro.curr().get_int("IDRIGA"); + if(!trovato) ++curFiltro; } // Riapplico i filtri if(rowRilprod.get("CODART") != rowRDoc.get("CODARTMAG") || !trovato) continue; @@ -503,9 +503,10 @@ bool TCampass_app::o01a(const TString id) const TCursor curFiltro(&rdoc, "", 1, &filtroFiltro, &filtroFiltro); bool trovato = false; - for(curFiltro = 0; curFiltro.pos() < curFiltro.items() && !trovato; ++curFiltro) + for(curFiltro = 0; curFiltro.pos() < curFiltro.items() && !trovato;) { trovato = rowRDoc.get_int("DAIDRIGA") == curFiltro.curr().get_int("IDRIGA"); + if(!trovato) ++curFiltro; } if(curFiltro.items() <= 0 || !trovato || curFiltro.curr().get_bool("RIGAEVASA")) continue; @@ -795,9 +796,10 @@ bool TCampass_app::o02c(const TString CodNum, const TString id) const // Se non ho elementi salto tutto bool trovato = false; - for(curFiltro = 0; curFiltro.pos() < curFiltro.items() && !trovato; ++curFiltro) + for(curFiltro = 0; curFiltro.pos() < curFiltro.items() && !trovato;) { trovato = rowRDoc.get_int("DAIDRIGA") == curFiltro.curr().get_int("IDRIGA"); + if(!trovato) ++curFiltro; } if(curFiltro.items() <= 0 || !trovato || curFiltro.curr().get_bool("RIGAEVASA") || rowRDoc.get_bool("RIGAEVASA")) continue; // Dichiaro la stringa @@ -1097,64 +1099,3 @@ int mr0600(int argc, char* argv[]) app.run(argc, argv, TR("Collegamento Campo/Compass")); return 0; } - - - -/* -bool TCampass_app::o01b(const TString& DSN) const -{ - TODBC_recordset sqlset("", true); - // Controllo la connessione - if (!sqlset.connect(DSN, usr, psw)) - return false; - TRelation rdoc(LF_RIGHEDOC), rdist(LF_RDIST), tab(LF_TAB); - int items; - TString msg("Esportazione tabella "); msg << "O01B"; - - TRectype filtroRdoc(rdoc.curr()); filtroRdoc.put("CODNUM", "ORP1"); - TRectype filtroTab(rdoc.curr()); filtroTab.put("CODTAB", "LAV"); - TCursor curRDoc(&rdoc, "RIGAEVASA != \"X\"", 1, &filtroRdoc, &filtroRdoc); - TCursor curTab(&tab, "", 1, &filtroTab, &filtroTab); - TCursor curDist(&rdist, "TIPO = \"L\""); - items = curRDoc.items(); - TProgress_monitor p(items, msg); - // Adesso inserisco tutta la bella roba - for (curRDoc = 0; curRDoc.pos() < items && !p.is_cancelled(); ++curRDoc) - { - int num = curRDoc.pos(); - // Aggiorno il Progress Monitor - if (!p.add_status()) - break; - - // Prendo la riga di RDOC - TRectype rowRDoc = curRDoc.curr(); - - // Verifico la presenza di un ordine cliente con i valori della riga attuale - TRectype filtroFiltro(rdoc.curr()); - filtroFiltro.put(RDOC_CODNUM, rowRDoc.get("DACODNUM")); - filtroFiltro.put(RDOC_ANNO, rowRDoc.get("DAANNO")); - filtroFiltro.put(RDOC_PROVV, rowRDoc.get("DAPROVV")); - filtroFiltro.put(RDOC_NDOC, rowRDoc.get("DANDOC")); - filtroFiltro.put(RDOC_NRIGA, rowRDoc.get("DAIDRIGA")); - TCursor curFiltro(&rdoc, "RIGAEVASA != \"X\"", 1, &filtroFiltro, &filtroFiltro); // Applico un FILTRO al FILTRO cosė da FILTRARE la tabella per lavorare sui dati FILTRATI che necessito siano FILTRATI - int itemFiltro = curFiltro.items(); - if(itemFiltro > 0) // Se non ci sono match non ha senso proseguire - { - // DA FINIRE, É STATA MESSA IN PAUSA - - // Inserisco IKRUNIMP, CStr - sqlQuery << "INSERT INTO O01B ( IKRUNIMP, CStr, CPRD, NFAS, RFAS, XNOTE, QPFFAS, CUDMF, XCONVFN, XCONVFD, BSCH, CMAC, EBASE, QBASE, XPINS, XPUTIL ) \ - VALUES('1','DBS','" << rowDoc.get("CODCF") << "','"; - - - if(sqlset.exec(sqlQuery) != 1) - { - message_box(sqlQuery); - return false; - } - } - } - return sqlset.commit() == -1 ? false : true; -} -*/ -