From f6552469ca3d7edd46e22b973c762b214b3df851 Mon Sep 17 00:00:00 2001 From: Simone Palacino Date: Mon, 15 Jul 2019 11:06:12 +0200 Subject: [PATCH] Patch level : 12.0 856 Files correlati : fp0.exe Commento : Bloccata selezione multipla per contabilizzazione --- src/fp/fp0400.cpp | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/fp/fp0400.cpp b/src/fp/fp0400.cpp index d3f615342..a2769740d 100644 --- a/src/fp/fp0400.cpp +++ b/src/fp/fp0400.cpp @@ -82,6 +82,8 @@ protected: static bool causfa_handler(TMask_field& f, KEY k); void fattsel(int dlg, TField_event& e); + // Non permette la selezione multipla delle righe + void sel(); bool on_field_event(TOperable_field& o, TField_event e, long jolly) override; void check_buttons(int p); void next_page(int p) override; @@ -1031,21 +1033,33 @@ void TPassive_mask::fattsel(const int dlg, TField_event& e) field(F_DATAENDREG).enable(get_bool(F_CONTABIL)); } +void TPassive_mask::sel() +{ + TSheet_field& sf = sfield(F_DOCS); + FOR_EACH_SHEET_ROW(sf, nr, row) + { + if (*row->get(0) == 'X') { + row->add("", 0); + break; + } + } + sf.force_update(); +} + bool TPassive_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) { switch (o.dlg()) { case S_SELCODPROT: - if(e == fe_modify) + if (e == fe_modify) { set_filter_changed(); + sel(); + } break; case F_PROT: if(e == fe_init) init(); break; - case F_DOCS: - if (e == se_query_modify) - break; case DLG_USER: if (e == fe_button && jolly > 0 && get_fattsel() == FILTER_CONT) { @@ -1222,9 +1236,7 @@ void TPassive_app::main_loop() TPassive_mask mask(check_f1()); load_mask(mask); mask.first_focus(F_DATAINI); - while(mask.run() == K_ENTER) - { - } + while (mask.run() == K_ENTER) {} save_field(mask); }