diff --git a/lv/lv3200.cpp b/lv/lv3200.cpp index d2998da2d..886bc1ff7 100755 --- a/lv/lv3200.cpp +++ b/lv/lv3200.cpp @@ -497,8 +497,8 @@ void TEvasione_msk::genera_documento() else warning_box(TR("Non è stato possibile generare nessun documento")); - reset(F_NDOC); - send_key(K_SPACE, F_NDOC); + //azzera i campi e rimettiti nella condizione iniziale + set(F_NDOC, 0L, 1); } //EVADI_TUTTO: metodo che forza a "evaso" tutte le righe e lancia la generazione del buono di consegna associato @@ -510,6 +510,7 @@ void TEvasione_msk::evadi_tutto() FOR_EACH_SHEET_ROW(sheet, r, riga) { riga->add("X", posevaso); + sheet.disable_row(r); } genera_documento(); } @@ -527,14 +528,21 @@ void TEvasione_msk::spezza_riga() TToken_string& riga2 = sheet.row(-1); riga2 = *riga1; + //scrivi le quantità sulla seconda riga const int dacons2 = riga2.get_int(sheet.cid2index(S_RITIRATO)) - riga2.get_int(sheet.cid2index(S_CONSEGNATO)); + riga2.add(dacons2, sheet.cid2index(S_RITIRATO)); riga2.add(dacons2, sheet.cid2index(S_DACONS)); riga2.add(0L, sheet.cid2index(S_CONSEGNATO)); riga2.add(0L, sheet.cid2index(S_PACCHI)); + //scrivi le quantità sulla prima riga const int dacons1 = riga1->get_int(sheet.cid2index(S_RITIRATO)) - riga1->get_int(sheet.cid2index(S_CONSEGNATO)); - riga1->add(dacons1, sheet.cid2index(S_DACONS)); + riga1->add(riga1->get_int(sheet.cid2index(S_CONSEGNATO)), sheet.cid2index(S_RITIRATO)); + riga1->add(riga1->get_int(sheet.cid2index(S_CONSEGNATO)), sheet.cid2index(S_DACONS)); riga1->add("X", sheet.cid2index(S_EVASO)); + + //blocca i campi sulla prima riga + sheet.disable_row(r); } } sheet.sort(sort_by_codart); @@ -824,7 +832,10 @@ void TEvasione_msk::evadi_da_barcode() riga->add(qtacon, posco); if(qtacon < qtadacon && sevaso == 'X') + { riga->add("", sheet.cid2index(S_EVASO)); + sheet.enable_row(r); + } break; } @@ -1030,12 +1041,14 @@ bool TEvasione_msk::on_field_event(TOperable_field& f, TField_event e, long joll msk.set(S_EVASO, "X"); TToken_string& riga = sheet.row(sheet.selected()); riga.add("X", sheet.cid2index(S_EVASO)); + sheet.disable_row(sheet.selected()); } else if (msk.get_long(S_CONSEGNATO) == msk.get_long(S_DACONS)) { msk.set(S_EVASO, "X"); TToken_string& riga = sheet.row(sheet.selected()); riga.add("X", sheet.cid2index(S_EVASO)); + sheet.disable_row(sheet.selected()); } sistema_pacchi();