Skip to main content
Skip table of contents

"Explicit Post": Speichern durch Scrollen in F12-Masken verhindern


Dieser Codeschnipsel dient dazu, in F12-Masken via Event "BeforePost" das Speichern durch Scrollen in einem Browser zu unterbinden. Es wird nur gespeichert, wenn Action A_SaveExecute() ausgeführt wird.
Die Variable m_bExplicitPost muss in in SetDefaults() mit false initialisiert werden.

JS
//******************************************************************************
// Tabellen öffnen, etc.
//******************************************************************************
function OpenDataBaseAndLinkToGUI()
   // Üblicher Code, DM sowie Tabellen erstellen, etc.
   
   // Hier wie gehabt am Ende der Funktion die Events zuweisen
   AssignEvent(m_oTable, 'BeforePost',   'm_oTable_BeforePost'),  
end,

//******************************************************************************
// Event: Verhindert Speichern beim Wechseln des Datensatzes oder beim Verlassen der Maske
//        ohne vorher zu Speichern
//******************************************************************************
function m_oTable_BeforePost( Sender )
   if not m_bExplicitPost then
      Abort(True),
   endif,
end,
 
//******************************************************************************
// Action: Änderung speichern
//******************************************************************************
function A_SaveExecute( Sender )
   startseq
      m_bExplicitPost := True,
      startseq
         m_oTable.CbPost(),
      always
         m_bExplicitPost := False,
      stopseq,
   onerror
      GU_ShowStdErrorMessage(GetErrorText(), GetErrorObj()),
   stopseq,
end,


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.