From 0e70673a3ca279b64b23e13a317068ec38a5fa86 Mon Sep 17 00:00:00 2001 From: Simone Palacino Date: Tue, 8 Sep 2020 15:14:33 +0200 Subject: [PATCH] Patch level : 12.0 no-patch Files correlati : ps6362.exe (ps Major) Commento : - Importazione articoli con ricerca codice interno major. - Esportazione bolle con condice articolo COD_PMS (flexform). --- src/ps/ps6362100.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/ps/ps6362100.cpp b/src/ps/ps6362100.cpp index 0681aa922..6caae7fb3 100644 --- a/src/ps/ps6362100.cpp +++ b/src/ps/ps6362100.cpp @@ -259,21 +259,27 @@ bool TMajor_flexform_boll_app::export_ddt(TMask& msk) TString query_righe; query_righe << "SELECT rdoc.CODART, rdoc.DESCR, rdoc.QTA, rdoc.RG1, rdoc.DESCLUNGA, rdoc.DESCEST, COD_PMS\n" "FROM rdoc\n" - "JOIN anamag ON rdoc.CODART = anamag.CODART\n" + "LEFT JOIN anamag ON rdoc.CODART = anamag.CODART\n" "WHERE CODNUM = '" << codnum << "' AND ANNO = " << year << " AND PROVV = 'D' AND NDOC=" << n_doc; TSQL_recordset righe_doc(query_righe); for (bool ok_r = righe_doc.move_first(); ok_r; ok_r = righe_doc.move_next()) { shared_ptr riga = xml_ddts.new_row(); + + TString cod_art = righe_doc.get(6).as_string(); // Codice Flexform. + if(cod_art.empty()) + cod_art = righe_doc.get(0).as_string(); // Codice interno. - const TString& cod_art_flexform = righe_doc.get(6).as_string(); TString descr = righe_doc.get(1).as_string(); const TString& qta = righe_doc.get(2).as_string(); const TString& desccampolibero6 = get_riferimento_flexform(righe_doc); // get(3) RG1 if (righe_doc.get(4).as_bool()) descr << righe_doc.get(5).as_string(); - riga->set_datarow("C", cod_art_flexform, descr, qta, desccampolibero6); + if(!desccampolibero6.empty()) + riga->set_datarow("A", cod_art, descr, qta, desccampolibero6); + else + riga->set_datarow("C", "", descr, "0", ""); xml_ddts.add_row(riga); } } @@ -287,8 +293,6 @@ bool TMajor_flexform_boll_app::import_ordini(TMask& msk) { bool ok = false; const TString& dir_in = msk.get(F_FLDSOURCE); - const TString& cod_cli = msk.get(F_CODCF); - const TString& tiponumord = msk.get(F_NUMORD); TFilename path(dir_in); TString_array flist; @@ -297,8 +301,12 @@ bool TMajor_flexform_boll_app::import_ordini(TMask& msk) bool* lookup_t = new bool[flist.items()]; for (int i = 0; i < flist.items(); ++i) lookup_t[i] = false; + TProgress_monitor prog(flist.items(), "Importazione ordini"); FOR_EACH_ARRAY_ROW(flist, nr, ford_name) { + if (!prog.add_status()) + break; + TFilename ford_filename(ford_name->operator const char*()); FILE* fin; if (!fopen_s(&fin, ford_filename, "rb") && fin) // Read-Binary mode