Skip to main content
Skip table of contents

F12-Maske


JS
//##############################################################################
//##############################################################################
// Beschreibung:
//
// Mögliche Aufrufe:
//    Als MDI-Child:                       GFU_ShowMDIChild('REFKEY', 'ORDNER\PROGRAMM')
//    Als MDI-Child (mit Parameter):       GFU_ShowMDIChild_CustomInfo('REFKEY', 'ORDNER\PROGRAMM', aCustomInfoArray)
//    Als modales Fenster:                 GFU_ShowModal('MASTERTABLE', 'ORDNER\PROGRAMM'),
//    Als modales Fenster (mit Parameter): GFU_ShowModal_CustomInfo('MASTERTABLE', 'ORDNER\PROGRAMM', aCustomInfoArray),
//##############################################################################
//##############################################################################
|
   m_oOwner:P1,
   m_cFormRefKey:P2,
   m_oMasterTable:P3,
   m_aCustomInfoArray:P4,
 
   m_cFormID, m_cPositionSaveID,
   m_cBrowserID,
   m_oDM,
 
   // @VDB@ der nachfolgende Teil wird automatisch gepflegt
   // @VDE@ der vorangehende Teil wird automatisch gepflegt
|
 
//##############################################################################
//##############################################################################
// Konstanten
//##############################################################################
//##############################################################################
 
m_cFormID                := '@',     // ID der zugewiesenen F12-Maske
m_cPositionSaveID        := '@',     // ID zum Speichern der Fenster-Position/-Größe
m_cBrowserID             := '@',     // ID des Browsers
 
//##############################################################################
//##############################################################################
// Funktionen
//##############################################################################
//##############################################################################
 
//******************************************************************************
// Parameter Verarbeiten
// @Result: null
//******************************************************************************
function ParseParams()
   m_cParameter := KVU_Get(m_aCustomInfoArray, "KEY", ""),  // m_cParameter anpassen
end,

 
//******************************************************************************
// Zentrale Steuerung des "Enabled-Zustand" aller Actions
//******************************************************************************
function ActionsEnabled()
end,
 
//******************************************************************************
// Alle Standard-Einstellungen setzen z. B. Dynamische Captions eines
// Labels o. ä.
//******************************************************************************
function SetDefaults()
   ActionsEnabled(),
end,
 
//******************************************************************************
// Eigenes Datenmodul erstellen, benötigte Tabellen öffnen und mit GUI verbinden
//****************************************************************************** 
function OpenDataBaseAndLinkToGUI()
   // Eigenes Datenmodul erstellen
   // m_oDM := CreateObject('TBeDbGet', 'ALIAS', oForm),              
 
   // Tabelle(n) öffnen
   // m_oDAB000 := DBGetTable(m_oDM, waDAB000),
   // m_oDAB000.IndexName := 'ID',                                    // ID
 
   // MemTables erstellen
   // m_oMemMainTable := CreateObject('TbeMemTable', 'ALIAS', m_oDM),
 
   // Feldstruktur der MemTables erstellen
   // CreateMainMemStruc(),
 
   // MemTables befüllen
   // FillMainMemTable(),
 
   // Tabelle mit Dataset und Grid verbinden
   // GU_LinkTableToGUI(m_oMemMainTable, ds_MemMain, grd_MemMain, m_cBrowserID, true),
 
   // Übergebene Mastertable mit lokalem Datasource verbinden
   // GFU_Docking_LinkMasterTableToLocalDatasource(m_oMasterTable, ds_MasterTable, waDABXXX, 'TbeRightsTable')          

   // Ggfs. Events zuweisen
   // AssignEvent(...)
end,
 
//##############################################################################
//##############################################################################
// Eventhandler
//##############################################################################
//##############################################################################
 
//******************************************************************************
// Event: Vor dem Schließen prüfen, ob die Haupttabelle noch in Bearbeitung ist
//        und ggf. rückfragen.
//******************************************************************************
function FormExCloseQuery( Sender, bCanClose )
  if not m_oDM.CbTransaction_Active() or
               JN('Ein Datensatz befindet sich noch in Bearbeitung.' + crlf +
                  'Möchten Sie die Bearbeitung abbrechen und das Fenster schließen?') then
      ActionExecute(a_Cancel),
      bCanClose := true,
  else
      bCanClose := false,
  endif,
end,
 
//******************************************************************************
// Event: Beim Schließen des Formulars
//******************************************************************************
function FormExClose( Sender, Action )
   Action := caFree, // = Form zerstören
end,
 
//******************************************************************************
// Event: Beim Zerstören des Formulars
//******************************************************************************
function FormExDestroy( Sender )
   GFU_MDIChild_Destroyed(oForm, m_cFormRefKey),     // MDI-Child aus Form-Ref-Array austragen
   // GFU_DockingForm_Destroyed(oForm, m_cFormRefKey), // Docking aus Form-Ref-Array austragen
end,
 
//##############################################################################
//##############################################################################
// Actionhandler
//##############################################################################
//##############################################################################
 
 
//##############################################################################
//##############################################################################
// Oberflächen-Funktionen
//##############################################################################
//##############################################################################
 
//******************************************************************************
// InitForm lädt das Formular in Abhängigkeit des Owners
// @Result: null
//******************************************************************************
function InitForm()
   if empty(m_oOwner) then
      oForm             := LoadForm(m_cFormID, Application),
      oForm.FormStyle   := fsNormal,
   else
      oForm             := LoadForm(m_cFormID, m_oOwner),
   //   oForm.BorderStyle := bsSizeToolWin, // wichtig für die Dockbarkeit 
      oForm.FormStyle   := fsMdiChild,
      oForm.Windowstate := wsMaximized,
   endif,
 
   oForm.PositionSaveID := m_cPositionSaveID,
   oForm.ImageIndex     := -1,  // Image-Index für den Window-Navigator setzen
   oForm.KeyPreview     := True, // Sorgt dafür, dass z.B. die ESC-Taste beim
                                 // Fenster ankommt und ein Schließen auslöst.

   oForm.Name           := GFU_CalcFormularName(m_cFormRefKey, oForm, m_oOwnerForm),

   // Events zuweisen
   // - Wird hier per Code gemacht, damit man es beim Kopieren der Vorlage nicht
   //   per Designer vergisst.
   AssignEvent(oForm, 'OnCloseQuery',         'FormExCloseQuery'),
   AssignEvent(oForm, 'OnClose',              'FormExClose'),
   AssignEvent(oForm, 'OnDestroy',            'FormExDestroy'),
end,
 
//******************************************************************************
// LoadGUI lädt sämtliche Komponenten die für die Oberfläche benötigt werden
// @Result: null
//******************************************************************************
function LoadGUI()
   // @VZB@ der nachfolgende Teil wird automatisch gepflegt
   // @VZE@ der vorangehende Teil wird automatisch gepflegt
end,
 
//******************************************************************************
// ShowGUI() zeigt das GUI an, das vorher mit LoadGUI() geladen werden muss.
// @Result: null
//******************************************************************************
function ShowGUI()
   if Empty(m_oOwner) then
      ShowModal(oForm),
   else
      Show(oForm),
   endif,
end,
 
//##############################################################################
//##############################################################################
// Hauptprogramm
//##############################################################################
//##############################################################################
startseq
   InitForm(),
   LoadGUI(),
   ParseParams(),     
   OpenDataBaseAndLinkToGUI(),
   SetDefaults(),
   ShowGUI(),
onerror
   GU_ShowStdErrorMessage(GetErrorText(), GetErrorObj()),
   DestroyObject(oForm),
stopseq,
 
oForm


JavaScript errors detected

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

If this problem persists, please contact our support.