diff --git a/src/ve/ve6900.cpp b/src/ve/ve6900.cpp index 76fa948bc..9c1081d5a 100644 --- a/src/ve/ve6900.cpp +++ b/src/ve/ve6900.cpp @@ -111,9 +111,13 @@ void TControllo_ordini_app::check() recfin.put(DOC_CODNUM, _msk->get(F_CODNUM)); // Salviamo lo stato da impostare const TString4 stato = _msk->get(F_STATO); + TString filter(""); + if(stato != "") + { // Filtro sullo stato del documento - TString filter("STATO<"); - filter << stato; + filter << "STATO<" << stato; + } + // Istanzio il cursore TCursor cur(&rel, filter, 1, &recini, &recfin); const long total = cur.items(); @@ -132,19 +136,30 @@ void TControllo_ordini_app::check() if (!pi.add_status()) break; TDocumento& doc = (TDocumento&) cur.curr(); + bool save = false; + if(doc.numero() == 46) + int num = 1; bool docEvaso = true; // Controllo che il documento sia completamente evadibile e non già segnato evaso for (int i = doc.physical_rows(); i > 0; i--) { TRiga_documento& r = doc[i]; + if(r.get(RDOC_RIGAEVASA) != "X" && r.is_evadibile() && r.is_evasa()) + { + r.put(RDOC_RIGAEVASA, "X"); + save = true; + } + docEvaso &= (!r.is_evadibile() || r.is_evasa()); } // Imposto il nuovo stato - if(docEvaso) + if(docEvaso && stato != "") { doc.put(DOC_STATO, stato); - int err = doc.rewrite(); + save = true; } + if (save) + int err = doc.rewrite(); } } } @@ -173,6 +188,6 @@ void TControllo_ordini_app::main_loop() int ve6900 (int argc, char **argv) { TControllo_ordini_app a; - a.run(argc,argv, TR("Gestione ordini evasi")); + a.run(argc,argv, TR("Controllo ordini evasi")); return true; } diff --git a/src/ve/ve6900a.h b/src/ve/ve6900a.h index 609162478..5ebe3bd2a 100644 --- a/src/ve/ve6900a.h +++ b/src/ve/ve6900a.h @@ -5,6 +5,7 @@ #define F_DESNUM 103 #define F_DA_ANNO 104 #define F_A_ANNO 105 -#define F_STATO 106 -#define F_DESCINI 107 +#define F_OPTIONAL 106 +#define F_STATO 107 +#define F_DESCINI 108 diff --git a/src/ve/ve6900a.uml b/src/ve/ve6900a.uml index 188b28b8a..ec760bf93 100644 --- a/src/ve/ve6900a.uml +++ b/src/ve/ve6900a.uml @@ -1,6 +1,6 @@ #include "ve6900a.h" -PAGE "Controllo ordini" -1 -1 100 11 +PAGE "Controllo ordini" -1 -1 100 13 LISTBOX F_PROVV 11 BEGIN @@ -50,10 +50,15 @@ BEGIN WARNING "Inserire un anno valido" END +TE F_OPTIONAL +BEGIN + PROMPT 2 9 "Opzionale:" +END + STRING F_STATO 1 BEGIN - PROMPT 2 9 "Stato evaso" - CHECKTYPE REQUIRED + PROMPT 2 11 "Nuovo stato" + CHECKTYPE NO USE %STD INPUT CODTAB F_STATO DISPLAY "Stato documento" CODTAB @@ -64,7 +69,7 @@ END STRING F_DESCINI 50 BEGIN - PROMPT 23 9 "" + PROMPT 23 11 "" FLAGS "D" END