diff --git a/ve/ve2700.cpp b/ve/ve2700.cpp index 295cbda42..020491bf3 100755 --- a/ve/ve2700.cpp +++ b/ve/ve2700.cpp @@ -388,7 +388,11 @@ void TAggiorna_listini_edit_mask::fill_multilistini_sheet() TToken_string keys_listini(140, ';'); const int componenti_famiglia = crea_famiglia_listini(keys_listini); - TProgind pi(keys_listini.items(), TR("Creazione righe listini..."), true, true); + TString8 grmerc; get_correct_grmerc(grmerc, false); + TString msg; + msg << TR("Lettura listini ") << grmerc << "..."; + + TProgind pi(keys_listini.items(), msg, true, true); TSheet_field& sf_multilistini = sfield(F_MULTILISTINI); sf_multilistini.destroy(); @@ -662,7 +666,11 @@ void TAggiorna_listini_edit_mask::save_listini() TToken_string keys_listini; const int num_listini_da_agg = crea_famiglia_listini(keys_listini); - TProgind pi(num_listini_da_agg, TR("Registrazione listini..."), true, true); + + TString8 grmerc; get_correct_grmerc(grmerc, false); + TString msg; + msg << TR("Registrazione listini ") << grmerc << "..."; + TProgind pi(num_listini_da_agg, msg, true, true); TToken_string key; @@ -758,10 +766,19 @@ bool TAggiorna_listini_edit_mask::on_field_event(TOperable_field& o, TField_even get_correct_grmerc(grmerc, false); if (grmerc != _curr_grmerc && grmerc.full()) { - if (_ask_save) + const TSheet_field& sf_listini = sfield(F_MULTILISTINI); + if (_ask_save && !sf_listini.empty()) { - if (yesno_box(TR("Registrare le modifiche effettuate?"))) + if (yesno_box(FR("Registrare le modifiche effettuate a %s?"), (const char*)_curr_grmerc)) + { + // Ripristina vecchio gruppo sulla maschera per salvarlo correttamente + set(F_GRMERC, _curr_grmerc.left(3)); + set(F_SOTGRMERC, _curr_grmerc.mid(3)); save_listini(); + // Mette nuovo gruppo sulla maschera per leggerlo correttamente + set(F_GRMERC, grmerc.left(3)); + set(F_SOTGRMERC, grmerc.mid(3)); + } } fill_ricarichi_children_list(); fill_multilistini_sheet(); @@ -847,8 +864,12 @@ bool TAggiorna_listini_edit_mask::on_field_event(TOperable_field& o, TField_even case DLG_APPLICA: if (e == fe_button) { - update_sons_prices(); - _ask_save = true; + TSheet_field& sf_listini = sfield(F_MULTILISTINI); + if (!sf_listini.empty()) + { + update_sons_prices(); + _ask_save = true; + } } break; case DLG_CHECKALL: