diff --git a/mg/mg1100.cpp b/mg/mg1100.cpp index f963aedfb..66a90c202 100755 --- a/mg/mg1100.cpp +++ b/mg/mg1100.cpp @@ -26,6 +26,7 @@ class TMask_movmag : public TMask int _autorows; TArray _old_qta; bool _check_giac; + bool _shift_f12; TMagazzini _magazzini; protected: @@ -57,8 +58,10 @@ public: TArticolo_giacenza& curr_art(); TArray& old_qta() { return _old_qta; } const TMagazzini& magazzini() const { return _magazzini; } - int autorows() const { return _autorows;} + int autorows() const { return _autorows; } void update_tot(); + bool get_shift_f12() const { return _shift_f12; } + void set_shift_f12(bool s12 = true) { _shift_f12 = s12; } TMask_movmag(TMov_mag* m_m); virtual ~TMask_movmag(); @@ -84,11 +87,10 @@ bool TMask_movmag::on_key(KEY key) { if (key == K_SHIFT+K_F12 && edit_mode()) { - if (!field(DLG_SAVEREC).active()) // Riabilita bottoni spenti dalla protected_mode - { - enable(DLG_SAVEREC); - enable(DLG_DELREC); - } + _shift_f12 = true; + enable(DLG_SAVEREC); + enable(DLG_DELREC); + TSheet_field& ss = sfield(F_RIGHE); FOR_EACH_SHEET_ROW(ss, i, row) @@ -884,6 +886,7 @@ int TApp_movmag::read(TMask& m) void TApp_movmag::init_query_mode(TMask& m) { + _msk->set_shift_f12(false); m.enable(F_INVENTORYMODE); TRelation_application::init_query_mode(m); } @@ -955,11 +958,14 @@ bool TApp_movmag::get_next_key(TToken_string& nextcod) bool TApp_movmag::protected_record(TRectype& rec) { bool prot = false; - TLocalisamfile rmov(LF_RMOVMAG); - rmov.put(RMOVMAG_NUMREG, rec.get(RMOVMAG_NUMREG)); - rmov.put(RMOVMAG_NRIG, 1); - if (rmov.read() == NOERR) - prot = rmov.get_char(RMOVMAG_TIPORIGA) == riga_dadocumento; + if (!_msk->get_shift_f12()) + { + TLocalisamfile rmov(LF_RMOVMAG); + rmov.put(RMOVMAG_NUMREG, rec.get(RMOVMAG_NUMREG)); + rmov.put(RMOVMAG_NRIG, 1); + if (rmov.read() == NOERR) + prot = rmov.get_char(RMOVMAG_TIPORIGA) == riga_dadocumento; + } return prot; }