TBeCbCodeblockCollector
TBeCbCodeblockCollector
Klasse zum Exportieren von Codeblöcken.
Diese Klasse ermöglicht es alle möglichen Codeblöcke, welche in be hinterlegt werden können, zu exportieren.
Eigenschaften:
Eigeschaften | Beschreibung |
---|---|
CbFilePath:C | Pfadangabe in dem Exportiert werden soll |
CbDataBasePath:C | Ordner-Pfad der das DataDictionary enthält aus dem exportiert werden soll |
CbDabPARPath:C | Ordner-Pfad für die DabPAR, sofern dieser vom Pfad des DataDictionary abweicht, kann diese Eigenschaft leer bleiben |
CbUsername:C | Username für den zugriff auf einen externen Datenbestand mit unterschiedlichen Log-in Daten |
CbPassword:C | Password für den zugriff auf einen externen Datenbestand mit unterschiedlichen Log-in Daten |
Funktionen und Methoden | Beschreibung | ||
---|---|---|---|
CbAddExportType | Fügt einen Bereich der exportiert werden soll hinzu | ||
Parameter | Beschreibung | ||
aType:N | be-Codeblock-Bereich 0 (cctUndefined) | Undefinierte Bereich | |
CbClearExport | Zu exportierenden Bereiche zurück setzen | ||
CbExportCodeblock | Exportiert alle Codeblöcke der angegebenen Bereiche aus dem be des angegebenen Datadictionarys in den angegebenen CbFilePath |
Verfügbare Ereignisse | Beschreibung | |
---|---|---|
CbOnError | Event der beim auftreten eines Fehler ausgelöst wird | |
Optionen | Beschreibung | |
aSender:O | Informations-Objekt über den auf getretenen Fehler (TBeCollectorErrorItem) |
Erklärungen zu den Teilbereichen
Druckerzuweisungen
Hauptordner (Druckerzuweisungen)
Codeblock (DabR30:EMailCB
)
CRM-Aktionen
Hauptordner (CRM-Aktionen)
Unterordner (Dab075:NAME
z.B.: TestAktion)
Codeblöcke:
Update-Block (Dab075:UPD_BLOCK
)
Platzhalter (Dab075:FELDER
)
Individual Menüs
Hauptordner (Individual-Menus)
Codeblöcke:
Codeblockinformationen (DabFIL:FELD
wenn DabFIL:DATEI = 523
)
Browser Definitionen
Hauptordner (Browserdefinitionen)
Codeblöcke:
Codeblockinformationen (DabBro:DATA
)
Masken Definitionen
Hauptordner (Maskendefinitionen)
Codeblöcke:
Neue Masken (DabFRM:DATA
)
Alte Masken (DabFRM:DATA_OLD
)
Merkmalstabellen
Hauptordner (Merkmalstabellen)
Unterordner (DabMTA:BEZ
z.B.: Artikeltypen)
Codeblöcke:
Default-Änderungsrecht (DabMTA:CHG_DEF
)
User-Änderungsrecht (DabMTA:CHG_USR
)
Anzeigewert-Funktion (DabMTA:DISPVALUE
)
Default-Filter (DabMTA:FILT_DEF
)
User-Filter (DabMTA:FILT_USR
)
Default nach DS-Wechsel (DabMTA:DSREF_DEF
)
User nach DS-Wechsel (DabMTA:DSREF_USR
)
Dynamische Datenquelle (DabMTA:TAB_DEF
)
Versandsteuerung
Hauptordner (Versandsteuerungen)
Unterordner (Versenderstamm = Dab760:NAME
)
Unterordner (Versandarten = Dab765:VERSANDART
)
Codeblöcke:
Kostenberechnung (Dab765:KOSTENCALC
)
Gewichtsberechnung (Dab765:GEWICHTCAL
)
Sendung Schließen (Dab765:SEND_SCHL
)
Export Block (Dab765:INTERFINFO
)
Beleg Layouts
Hauptordner (Beleg Layouts)
Unterordner (DabR10:BEZ
z.B.: Sammelrechnung)
Codeblöcke:
Codeblockinformationen (DabR10:REPORT_ID
)
Textbausteine
Hauptordner (Textbausteine)
Codeblöcke:
Codeblock Dab350:CODEBLOCK
Tabellen- und Feldrechte
Hauptordner (Tabellenrechte)
Unterordner (z.B.: '1 - Kunden-Stamm (DAB000)')
Unterordner (Tabellenrechte)
Codeblöcke:
Rechte Lesen
Rechte Ändern
Rechte Löschen
Rechte Neu
Rechte Validieren
Update Neu
Update Update
Update Löschen
Unterordner (Feldrechte)
Unterordner (Feldname z.B.: KdNr)
Codeblöcke_
User-Rechte
User-Rechte Lesen
User-Rechte Ändern
User-Rechte Validierung
User-Rechte Masken Validierung
User-Rechte Update
User-Rechte Neu
Default-Rechte
Default-Rechte Lesen
Default-Rechte Ändern
Default-Rechte Validierung
Default-Rechte Masken Validierung
Default-Rechte Update
Default-Rechte Neu
Picture Mask
Unterordner (Optionen)
Codeblöcke:
Index-Scope von
Index-Scope bis
Anzeigewert-Funktion
Rückgabewert- / Combo-Lookup-Felder-Funktion
Suchwert-Funktion
Memo Ansichten
Hauptordner (Memo Ansichten)
Codeblöcke:
Codeblockinformationen (DabSET
)
Allgemeine- und Lokale Parameter
Hauptordner1 (Allgemeine Parameter)
Unterordner (DabPAR:USER
z.B.: 0. Standort 1)
Unterordner1 (Abteilungen)
Unterordner (DabPAR:USER
z.B.: "1. Verkauf" )
Unterordner1 (Lagerverwaltung)
Unterordner1 (Seite 1a)
Codeblöcke:
Formel Verfalls.Dat. automat. (DabPAR:VERF_AUTO
)
Formel Serien/Chargen# Prüfung (DabPAR:SNUM_PRUEF
)
Bei Umlagerung ein Lag.Kartei-Eintrag je Kommission erzeugen (DabPAR:UML_EINZEL
)
Unterordner2 (Seite 2)
Codeblöcke:
Verd.Bedarf Ber.Formel 1 (DabPAR:VERD_BEDF1
)
Verd.Bedarf Ber.Formel 2 (DabPAR:VERD_BEDF2
)
Verd.Bedarf Ber.Formel 3 (DabPAR:VERD_BEDF3
)
Verd.Bedarf Ber.Formel 4 (DabPAR:VERD_BEDF4
)
Verd.Bedarf Ber.Formel 5 (DabPAR:VERD_BEDF5
)
Unterordner2 (Kunde-Vertrieb)
Unterordner1 (Seite 2)
Codeblöcke:
Formel Rabatt-Sperre (DabPAR:RAB_SPERR
)
Formel Auftrags-Sperre (DabPAR:AUF_SPERR
)
Formel Liefer-Sperre (DabPAR:LIEF_SPERR
)
Differenz-Code (DabPAR:DIFF_CODE
)
Anz.Tage Prioriberechn. (DabPAR:PRIOR_TAGE
)
Anz. Tage Prod.Reserv. berücks. (DabPAR:RUEPR_TAGE
)
Unterordner2 (Absatzplanung)
Codeblöcke:
Formel: Anzahl Wochen, Verrechnung in die Vergangenheit (DabPAR:FC_VERRUE
)
Formel: Anzahl Wochen, Verrechnung in der Zukunft (DabPAR:FC_VERVOR
)
Formel: Absatzplanung wirksam ab Woche (DabPAR:FC_PLANAB
)
Unterordner3 (Einkauf-Wareneingang)
Codeblöcke:
Prüfformel WE-Lager/Lieferant (DabPAR:LAG_WEFORM
)
Horizont in Tagen für Bestellung Verfügbarkeit=sofort (DabPAR:EKPLHORZSO
)
Vorplanzeit +1 Woche für -2 Artikel Einkauf (DabPAR:EKVPZMIN2
)
Unterordner4 (Fertigung)
Unterordner1 (Seite 1)
Codeblöcke:
Formel Verfalls.Dat. Fertigung (DabPAR:VERF_PROD
)
Unterordner2 = (Planungsparameter)
Codeblöcke: Horizont in Tagen für Prod.Auftr. Verfügbarkeit=sofort = (DabPAR:PRPLHORZSO
)
Vorplanzeit +1 Woche für -2 Artikel Fertigung = (DabPAR:PRVPZMIN2
)
Unterordner5 (Kommunikation)
Unterordner1 (Datensicherung)
Codeblöcke:
"Sicherung wenn zutreffend (Codeblock-Ereignis = True)" (DabPAR:SIFUNK
)
Unterordner2 (Finanzbuchhaltung)
Codeblöcke:
Erlöskonto-Formel -> FiBu = (DabPAR:ERLKTO
)
Kostenstellen-Formel Auftrag = (DabPAR:AUFPKST_F
)
Kostenstellen-Formel Rechnung = (DabPAR:ERLKST
)
WE-Kostenst.Formel Re.Kontroll = (DabPAR:WE_KST
)
WE-Konto Formel Rechn.Kontroll = (DabPAR:WE_KTO
)
Unterordner2 (Codeblöcke)
(Selben Unterordner wie die Abteilungen)
Hauptordner2 (Lokale Parameter)
Unterordner (DabFIL:NAME
wenn DabFIL:DATEI = 999
z.B.: Global-Passwort-User (Nr.000))
Unterordner1 (Lager-Kunden)
Codeblöcke:
Artikel-Filter Schnellsuche (DabPAL:M_ARTFILT
)
Anzeige-Funktion Stücklisten-Bezeichnung (DabPAL:M_STLTEXT
)
Unterordner2 =(Auftragsbearbeitung)
Unterordner1 (Seite 1)
Codeblöcke:
Pos.Filter für Entn.Sch.-Druck (DabPAL:M_ENTFILT
)
Pos.Filter für Lfs-Druck (DabPAL:M_LFSFILT
)
Unterordner2 (Seite 2)
Codeblöcke:
Formel "Set-Stückliste ändern" (DabPAL:M_SETAEND
)
Unterordner3 (Fertigung-BDE)
Codeblöcke:
BDE Formel: %Mengen-Überbuchen (DabPAL:M_BDEMPROZ
)
Unterordner4 (Wareneingang-Quali)
Codeblöcke:
Formel: Menge/VE, VE berechnen (DabPAL:M_QSMENGVE
)
Bedingung für autom. Buchung (DabPAL:M_QSWEBFOR
)
WE Formel: Anz. Art.Etiketten (DabPAL:M_QSARTETI
)
Formel: WePosNr wird Chargen# (DabPAL:M_QSWEKOMM
)
Codeblock Programme
Hauptordner (Codeblock Programme)
Codeblöcke:
Codeblock(DabPRG:PROGRAMM
)
Außendienst Parameter
Hauptordner (Außendienst Parameter)
Unterordner (DabFIA:NAME
z.B.: "Benutzer 2 - Außendienst (66)")
Codeblöcke:
Codeblockinformationen (DabFIA.FILTER_IND
)
Größen/Farb Raster
Hauptordner = Größen- und Farbraster
Codeblöcke:
Codeblockinformationen (WinPosition ID = 'COLSIGR'
)
Zellen-Block
Art.Bez.-Block
Info-Block
Kum.Stat. Indiv. Betrachtung
Hauptordner (Individuelle Codeblöcke für Umsätze)
Unterordner (DabITO:BEZ
)
Codeblöcke:
Anzeige-Filter (DabITO:DISPBLOCK
)
Anzeigewert-Funktion (DabITO:RUNBLOCK
)
Prüf-Funktion 1 - 20 (DabITO:PFUNC0 - DabITO:PFUNC19
)
Reportgenerator
Hauptordner (Reportgenerator)
Unterordner1 (Selektion)
Codeblöcke
Kopfzeile 1 (Dab420:HEADL
)
Kopfzeile 2 (Dab420:HEADL1
)
Select P (Dab420:SELEKT
)
Select S (Dab420:SELEKT1
)
Obergrenze (Dab420:SCOPETOP
)
Untergrenze (Dab420:SCOPEBOT
)
Unterordner1 (Sotierschlüssel)
Codeblöcke:
Sortierschlüssel 1 - 5 (Dab420:TKOPF1 - Dab420:TKOPF5
)
Unterordner2 (Drucktext)
Codeblöcke
Drucktext 1 - 5 (Dab420:UK1 - Dab420:UK5
)
Unterordner2 (Parameter)
Codeblöcke:
Prüf-Funktion 1 - 20 (Dab420:PF0 - Dab420:PF19
)
Intrastat Parameter
Hauptordner (Reportgenerator)
Codeblöcke:
Einfuhr (individuell) (Dia030:BLOCK_E
)
Ausfuhr (individuell) (Dia030:BLOCK_V
)
Inventur Filter
Hauptordner (Inventur Filter)
Unterordner (DabPAR:USER
z.B.: Standort 1)
Codeblöcke:
Codeblockinformationen (WinPosition ID = 'INV_' + DabPAR:Standort
z.B.: 'INV_001'
)
Ausschluß - Bedingung
Filter Liste
Hauptordner (Filter Listen)
Codeblöcke:
Codeblockinformationen (DabFIL:WIN_DATA
wenn DabFIL:DATEI = 529
)
Unterordner1 = "Lagerverwaltung" (DabFIL:FELD = IDFEART
)
Unterordner2 = "Kundenverwaltung" (DabFIL:FELD = IDFBECU oder IDFECLT
)
Unterordner3 = "Auftragsbearbeitung Kunde" (DabFIL:FELD = IDFMPRO
)
Unterordner4 = "Auftragsbearbeitung Lieferanten" (DabFIL:FELD = IDFSPRO
)
Unterordner5 = "Basis Lieferantenverwaltung" (DabFIL:FELD = IDFBESP
)
Parameter Filter
Hauptordner (Parameter Filter)
Unterordner (DabFIL:NAME
wenn DabFIL:DATEI = 999
z.B.: Global-Passwort-User (Nr.000))
Unterordner (Abteilung 0 - 9)
Codeblöcke:
Codeblockinformationen (DabFIL:WIN_DATA
)
Automatische Liefereinstellungen
Hauptordner (Automatische Liefereinstellungen)
Codeblöcke:
Codeblockinformationen (WinPosition
)
Unterordner1 (Kunde)
Automatische Lieferfreigabe (ID = AUTOOR2
)
Zusatzauswahl Kopf
Zusatzauswahl Position
Automatische Lieferreservierung (ID = AUTOOR4
)
Zusatzauswahl Kopf
Zusatzauswahl Position
Unterordner2 (Zulieferer)
Automatische Lieferfreigabe (ID = AUTOOR1
)
Zusatzauswahl Kopf
Zusatzauswahl Position
Automatische Lieferreservierung (ID = AUTOOR3
)
Zusatzauswahl Kopf
Zusatzauswahl Position
FiBu Parameter
Hauptordner (FiBu Parameter)
Unterordner (DfPAR:FIRMA
)
Codeblöcke:
Ford-Formel (DfPAR:FKFORMEL
)
Verb-Formel (DfPAR:VKFORMEL
)
SQL-Selektionen
Hauptordner (SQL-Selektion)
Unterordner (DabFIL:NAME
wenn DabFIL:DATEI = 526
)
Codeblöcke:
SQL-Selektion (DabFIL:WIN_DATA
)
Vertrerer Absatzplanung Artikelfilter
Hauptordner (Vertreterverwaltung)
Unterordner (Dab062:NAME1
)
Codeblöcke:
Absatzplanung Artikelfilter (Dab062:FORE_FILT
)
FiBu Sachkonten
Hauptordner (Sachkonten)
Unterordner (DfPAR:FIRMA
)
Unterordner (Df010:TEXT
)
Codeblöcke:
Buchungstext-Funkt. Bankauszg. (Df010:BAD_BUTEXT
)
Belegnr.-Funktion Bankauszug (Df010:BAD_BELNR
)
FiBu Zahlungsarten
Hauptordner (Zahlungsarten)
Unterordner (DfPAR:FIRMA
)
Unterordner (DfZAA:NAME
)
Codeblöcke: OP-Filter (DfZAA:OPFILTER
)
Konto-Filter (DfZAA:KTOFILTER
)
Sonstige WinPositionen
Hauptordner (Sonstige WinPositionen)
Unterordner (Preisänderung)
Codeblöcke:
Codeblockinformationen (WinPosition ID = 'GP_CHAN'
)
Zusatzselektion für Artikel
Beispiel
//##############################################################################
//##############################################################################
// CodeblockCollector
// Beschreibung: Programm zum Exportieren von allen in be verfügbaren
// Codeblöcken
//##############################################################################
//##############################################################################
|
oForm, oBtnAbort, oBtnChangePath, oBtnDabPARPath, oBtnDDPath, oBtnExport,
oBtnSelectAll, oBtnDeselectAll, oCkBoxAttrTable, oCkBoxAttrDefault,
oCkBoxAttrUser, oCkBoxCodeblockProgram, oCkBoxColSize, oCkBoxCRMAction,
oCkBoxDocLayout, oCkBoxIndividualMenu, oCkBoxMaskDef, oCkBoxMemoView,
oCkBoxParameter, oCkBoxPrintManager, oCkBoxDefaultRights, oCkBoxUserRights,
oCkBoxScComm, oCkBoxClearPath, oCkBoxRights, oEdtBrowserDef,
oCkBoxShippingControl, oCkBoxTextModule, oCkBoxIndiDatTurn, oCkBoxRepGen,
oCkBoxIntrastatParam, oCkBoxInvFilter, oCkBoxFilterList, oCkBoxOtherWinPos,
oCkBoxParamFilter, oCkBoxReleaseByDate, oCkBoxFiBuParam, oCkBoxSqlSelect,
oCkBoxAgentArtFilter, oCkBoxSachkonten, oCkPaymentMethod, oEdtDabPARPath,
oEdtDataBasePath, oEdtExportPath, oGrpBoxDataBase, oGrpBoxExportPath,
oGrpBoxMainControl, oGrpBoxRegExpr, oLblDataBasePath, oLblDabPARPath,
oPanelBottom, oPanelDDBtnPath, oPanelDDEdtPath, oPanelLeftSide, oPanelOptions,
oPanelPathOptions, oPanelBrowserDef, oPanelRightSide, oPanelRights,
oPanelAttr, oCkBoxBrowserDef, oCkBoxBrowserDefDefault, oCkBoxArr,
oComboCkBoxBrowserDef, oPanelMainOptions, lCheckBoxClicked,
oEdtPathIncludeRegEx, oEdtPathExcludeRegEx, oEdtCodeIncludeRegEx,
oEdtCodeExcludeRegEx, oPanelPathIncludeRegEx, oPanelPathExcludeRegEx,
oPanelCodeIncludeRegEx, oPanelCodeExcludeRegEx, oLblPathIncludeRegEx,
oLblPathExcludeRegEx, oLblCodeIncludeRegEx, oLblCodeExcludeRegEx,
cErrorLog, oPanelExportPath, lShowInstantErrorMessage
|
// Diesen Wert auf True setzen um Fehler während der Laufzeit in der Console angezeigt zu bekommen
// ACHTUNG! dies kann ser performancelastig sein
lShowInstantErrorMessage := False,
//******************************************************************************
// Setzt den Pfad auf die selbe Ordnerstruktur wie die ausgewählte Datei
//******************************************************************************
function oBtnChangePathClick( Sender )
| oDlgFolderPath, cPath |
Result := '',
if Sender = oBtnDDPath or Sender = oBtnDabPARPath then
oDlgFolderPath := OpenDlg('Export Pfad', 'DD/DabPAR|*.ADD; DABPAR.ADT', oEdtDataBasePath.Text,'a'),
else
oDlgFolderPath := OpenDlg('Export Pfad', 'DD/DabPAR|*.ADD; DABPAR.ADT', oEdtExportPath.Text,'a'),
endif,
StartSeq
oDlgFolderPath.Active := true,
if oDlgFolderPath.Selected then
cPath := SubStr(oDlgFolderPath.FileName, 0, RAt('\', oDlgFolderPath.FileName)),
if Sender = oBtnChangePath then
oEdtExportPath.Text := cPath,
endif,
if Sender = oBtnDDPath then
oEdtDataBasePath.Text := cPath,
if oEdtDataBasePath.Text <> mbedefault then
oComboCkBoxBrowserDef.Visible := False,
oEdtBrowserDef.Visible := True,
oEdtBrowserDef.Align := alBottom,
oEdtBrowserDef.Align := alTop,
else
oComboCkBoxBrowserDef.Visible := True,
oEdtBrowserDef.Visible := False,
endif,
endif,
if Sender = oBtnDabPARPath then
oEdtDabPARPath.Text := cPath,
endif,
endif,
Always
DestroyObject(oDlgFolderPath),
StopSeq,
end,
//******************************************************************************
// Gibt anhand des Collector-Typen den Berreich in be den er represäntiert zurück
//******************************************************************************
function BeSectionFromCollectorType(nExportType)
Result := '',
case nExportType
of 0 :: Result := 'Unbekannt',
of 1 :: Result := 'Druckzuweisungen',
of 2 :: Result := 'CRM-Aktionen',
of 3 :: Result := 'Individual Menüs',
of 4 :: Result := 'Browser Definitionen',
of 5 :: Result := 'Masken Definitionen',
of 6 :: Result := 'Merkmalstabellen',
of 7 :: Result := 'Versand Steuerungen',
of 8 :: Result := 'Beleg Layouts',
of 9 :: Result := 'Text Bausteine',
of 10 :: Result := 'Tabellen- und Feld Rechte',
of 11 :: Result := 'Memo Ansichten',
of 12 :: Result := 'Allgemeine- und Lokale Parameter',
of 13 :: Result := 'Codeblock Programme',
of 14 :: Result := 'Außendienst Parameter',
of 15 :: Result := 'Größen und Farb Raster',
of 16 :: Result := 'Kum.Stat. Indiv.Betrachtungen',
of 17 :: Result := 'Reportgenerator',
of 18 :: Result := 'Intrastat Parameter',
of 19 :: Result := 'Inventur Filter',
of 20 :: Result := 'Filter Liste',
of 21 :: Result := 'Parameter Filter',
of 22 :: Result := 'Automatische Liefereinstellungen',
of 23 :: Result := 'FiBu Parameter',
of 24 :: Result := 'SQL-Selektion',
of 25 :: Result := 'Vertreterverwaltung Absatzplanung Artikelfilter',
of 26 :: Result := 'FiBu Sachkonten',
of 27 :: Result := 'FiBuZahlungsarten',
of 28 :: Result := 'Sonstige WinPositionen',
endcase,
end,
//******************************************************************************
// Gibt die Export art zurück die eine Checkbox represäntiert
//******************************************************************************
function CheckBoxToExportType(oCkBox)
Result := 0,
case oCkBox
of oCkBoxPrintManager :: Result := 1, // Druckzuweisungen
of oCkBoxCRMAction :: Result := 2, // CRM-Aktionen
of oCkBoxIndividualMenu :: Result := 3, // Individual Menüs
// of oCkBoxBrowserDef :: Result := 4, // Browser Definitionen
of oCkBoxMaskDef :: Result := 5, // Masken Definitionen
// of oCkBoxAttrTable :: Result := 6, // Merkmalstabellen
of oCkBoxShippingControl :: Result := 7, // Versand Steuerungen
of oCkBoxDocLayout :: Result := 8, // Beleg Layouts
of oCkBoxTextModule :: Result := 9, // Text Bausteine
// of oCkBoxDefaultRights :: Result := 10, // Tabellen- und Feld Rechte
of oCkBoxMemoView :: Result := 11, // Memo Ansichten
of oCkBoxParameter :: Result := 12, // Allgemeine- und Lokale Parameter
of oCkBoxCodeblockProgram :: Result := 13, // Codeblock Programme
of oCkBoxScComm :: Result := 14, // Außendienst Parameter
of oCkBoxColSize :: Result := 15, // Größen und Farb Raster
of oCkBoxIndiDatTurn :: Result := 16, // Kum.Stat. Indiv.Betrachtungen
of oCkBoxRepGen :: Result := 17, // Reportgenerator
of oCkBoxIntrastatParam :: Result := 18, // Intrastat Parameter
of oCkBoxInvFilter :: Result := 19, // Inventur Filter
of oCkBoxFilterList :: Result := 20, // Filter Liste
of oCkBoxParamFilter :: Result := 21, // Parameter Filter
of oCkBoxReleaseByDate :: Result := 22, // Automatische Liefereinstellungen
of oCkBoxFiBuParam :: Result := 23, // FiBu Parameter
of oCkBoxSqlSelect :: Result := 24, // SQL-Selektion
of oCkBoxAgentArtFilter :: Result := 25, // Vertreterverwaltung Absatzplanung Artikelfilter
of oCkBoxSachkonten :: Result := 26, // FiBu Sachkonten
of oCkPaymentMethod :: Result := 27, // FiBuZahlungsarten
of oCkBoxOtherWinPos :: Result := 28, // Sonstige WinPositionen
endcase,
end,
//******************************************************************************
// Löscht alle Leeren Unterordner des übergebenen Pfades
//******************************************************************************
function myRemoveDir(cDir)
|aDirArray, i|
if right(alltrim(cDir),1) <> '\' then
cDir += '\',
endif,
aDirArray := DirArray(cDir),
// Rekrusiver aufruf für jeden gefundenen Unterordner
for i:=3 to alen(aDirArray) do
myRemoveDir(cDir + aDirArray[i, 1]),
RemoveDir(cDir + aDirArray[i, 1]),
next,
end,
//******************************************************************************
// Fehlerbehandlung für den CodeblockCollectors
//******************************************************************************
function DoError(Sender)
| cErrorText |
// Fehlernachricht erstellen
Sender.CbRaiseError := False, // Fehler ignorieren, da ein Log geschriebenwird
cErrorText := 'ErrorType: ' + Str(Sender.CbErrorType) + ' (' + BeSectionFromCollectorType(Sender.CbErrorType) + ')' + crlf,
cErrorText += 'InternalError: ' + iif(Sender.CbIsInternalError, 'True', 'False') + crlf,
cErrorText += 'ErrorMessage: ' + crlf + Sender.CbErrorMessage + crlf,
cErrorText += '---------------------------------------------------' + crlf,
// Sofortnachricht in der Cb-Console ausgeben
if lShowInstantErrorMessage then
WriteLn(cErrorText),
endif,
ProcessMsg(),
// ErrorLog Schreiben
cErrorLog += cErrorText,
end,
//******************************************************************************
// Die Funktion legt ein .vscode Settings-File an, damit man den Export-Ordner
// in vscode öffnen kann und dort per Reguläre Ausdrücke suchen.
//
// - Die Definition des Encodings ist notwendig, da sonst vscode "utf-8" nutzt
// und die vscode Volltext-Suche falsche Treffer liefert
//******************************************************************************
function CreateVsCodeSettings(cPath)
| cFileName, oFile, cContent |
cPath := cPath + '\.vscode\',
cFileName := 'settings.json',
cContent :=
'{' + crlf +
' "files.encoding": "windows1252"' + crlf +
'}',
// Verzeichnis anlegen
ForceDirectories(cPath),
// Erstellen
oFile := FOpen(cPath + cFileName, _or(FO_CREATE, FO_EXCLUSIVE)),
startseq
FWrite(oFile, cContent),
always
FClose(oFile),
stopseq,
end,
//******************************************************************************
// Führt die Exportierung für alle ausgewählten Checkboxen aus
//******************************************************************************
function oBtnExportClick( Sender )
| oExporter, i, oElement, aDir, aDirArr, nHandle, cFile, oFile |
Result := '',
SetCursor(crHourGlass),
// Prüfung, ob das Directory beschreibbar ist
if not DirectoryExists(oEdtExportPath.Text) then
if not CreateDir(oEdtExportPath.Text) then
messagedlg('Verzeichnis ' + oEdtExportPath.Text + ' konnte nicht erstellt werden', mtError),
ModalResult(oForm, mrCancel),
endif,
else
cFile := oEdtExportPath.Text +'juhu.txt',
startseq
oFile := fOpen(cFile, fo_Create),
fClose(oFile),
DeleteFile(cFile),
onerror
GU_ShowStdErrorMessage('Fehler beim Erzeugen einer Testdatei', GetErrorObj()),
ModalResult(oForm, mrCancel),
stopseq,
endif,
// Für die spätere Analyse der exportierten Daten eine Settings-Datei für vscode anlegen
CreateVsCodeSettings(oEdtExportPath.Text),
oExporter := CreateObject('TBeCbCodeblockCollector'),
AssignEvent(oExporter, 'CbOnError', 'DoError'),
StartSeq
oExporter.CbFilePath := oEdtExportPath.Text,
// Alle selektierten Codeblöcke durchlaufen
foreach oElement in oCkBoxArr do
if oElement.Checked then
oExporter.CbAddExportType(CheckBoxToExportType(oElement)),
endif,
next,
// Browserdefinitionen mit Optionen hinzufügen
if oCkBoxBrowserDef.Checked then
if oComboCkBoxBrowserDef.Visible then
oExporter.CbAddExportTypeWithOptions(4, {oCkBoxBrowserDefDefault.Checked, oComboCkBoxBrowserDef.Text}),
else
oExporter.CbAddExportTypeWithOptions(4, {oCkBoxBrowserDefDefault.Checked, oEdtBrowserDef.Text}),
endif,
endif,
// Tabellen- und Feldrechte mit Optionen hinzufügen
if oCkBoxRights.Checked then
oExporter.CbAddExportTypeWithOptions(10, {oCkBoxDefaultRights.Checked, oCkBoxUserRights.Checked}),
endif,
// Merkmalstabellen mit Optionen hinzufügen
if oCkBoxAttrTable.Checked then
oExporter.CbAddExportTypeWithOptions(6, {oCkBoxAttrDefault.Checked, oCkBoxAttrUser.Checked}),
endif,
if oCkBoxClearPath.Checked then
StartSeq
// löscht alle .DWP (Codeblock) dateien im angegebenen Pfad und in den Unterordnern
aDir := PathSeek({'*.DWP'}, oEdtExportPath.Text),
aDirArr := DirArray(oEdtExportPath.Text),
for i := 1 to aLen(aDir) do
DeleteFile(aDir[i]),
next,
myRemoveDir(oEdtExportPath.Text),
RemoveDir(oEdtExportPath.Text),
OnError
// Fängt den Fehler ab der ensteht wenn der Ordner nicht existiert
StopSeq
endif,
// Übergabe des DD- und des DabPar Pfades
oExporter.CbDataBasePath := oEdtDataBasePath.Text,
oExporter.CbDabPARPath := oEdtDabPARPath.Text,
// Übergabe der verschiedenen Regulären Ausdrücke
oExporter.CbPathIncludeRegEx := oEdtPathIncludeRegEx.Text,
oExporter.CbPathExcludeRegEx := oEdtPathExcludeRegEx.Text,
oExporter.CbCodeIncludeRegEx := oEdtCodeIncludeRegEx.Text,
oExporter.CbCodeExcludeRegEx := oEdtCodeExcludeRegEx.Text,
// ProgressBar aktivieren
oExporter.CbShowProgressBar := True,
// Export der Codeblöcke
WriteLn(now()),
oExporter.CbExportCodeblock(),
Always
DestroyObject(oExporter),
SetCursor(crDefault),
WriteLn(now()),
WriteLn('----------'),
// Falls vorhanden den ErrorLog anzeigen
if cErrorLog <> '' then
ShowErrorLog('TBeCbCodeblockCollector', cErrorLog),
cErrorLog := '',
else
ShowMessage('Export ohne Fehler abgeschlossen'),
endif,
StopSeq,
end,
//******************************************************************************
// Schliest das Programm
//******************************************************************************
function oBtnCancelClick(Sender)
Result := '',
ModalResult(oForm, mrCancel),
end,
//******************************************************************************
// Steuert die jeweiligen CheckBox Click Events
//******************************************************************************
function DoCheckBoxClicked(Sender)
| oElement |
if not lCheckBoxClicked then
lCheckBoxClicked := True,
//************************************************************************
// Hauptcheckbox der Merkmalstabellen steuert die Checkboxen für Optionen
if Sender = oCkBoxAttrTable then
oCkBoxAttrDefault.Enabled := oCkBoxAttrTable.Checked,
oCkBoxAttrUser.Enabled := oCkBoxAttrTable.Checked,
endif,
//************************************************************************
// Hauptcheckbox der Tabellenrechte steuert die Checkboxen für Optionen
if Sender = oCkBoxRights then
oCkBoxDefaultRights.Enabled := oCkBoxRights.Checked,
oCkBoxUserRights.Enabled := oCkBoxRights.Checked,
endif,
//************************************************************************
// Hauptcheckbox der Browserdefinitionen
if Sender = oCkBoxBrowserDef then
oComboCkBoxBrowserDef.Enabled := oCkBoxBrowserDef.Checked,
oEdtBrowserDef.Enabled := oCkBoxBrowserDef.Checked,
oCkBoxBrowserDefDefault.Enabled := oCkBoxBrowserDef.Checked,
endif,
lCheckBoxClicked := False,
endif,
end,
//******************************************************************************
// Steuert die Selektions-Buttons
//******************************************************************************
function DoSelektionButtonClicked(Sender)
| lChecked, oElement |
// Wenn oBtnSelectAll gerdückt wird, alle selektieren sonst alle deselektieren
lChecked := Sender = oBtnSelectAll,
// CheckBoxClicked Flag setzen um keine event-sprünge zu verursachen
lCheckBoxClicked := True,
// Alle selektierten Codeblöcke durchlaufen
foreach oElement in oCkBoxArr do
oElement.Checked := lChecked,
next,
oCkBoxAttrDefault.Enabled := oCkBoxAttrTable.Checked,
oCkBoxAttrUser.Enabled := oCkBoxAttrTable.Checked,
oCkBoxDefaultRights.Enabled := oCkBoxRights.Checked,
oCkBoxUserRights.Enabled := oCkBoxRights.Checked,
oComboCkBoxBrowserDef.Enabled := oCkBoxBrowserDef.Checked,
oEdtBrowserDef.Enabled := oCkBoxBrowserDef.Checked,
oCkBoxBrowserDefDefault.Enabled := oCkBoxBrowserDef.Checked,
lCheckBoxClicked := False,
// Setzt den Filter für Browserdefinitionen auf Alle User
oEdtBrowserDef.Text := IIf(lChecked, '0', ''),
IIf(lChecked, oComboCkBoxBrowserDef.CBCheckAllItems, oComboCkBoxBrowserDef.CBUnCheckAllItems),
end,
//******************************************************************************
// Setzt die Margins des Übergebenen Objects auf die Übergebenen werte
//******************************************************************************
function SetAlignMargins(oComponent, nAlignTyp, nBottom, nLeft, nRight, nTop)
oComponent.Align := nAlignTyp,
oComponent.AlignWithMargins := true,
oComponent.Margins.Bottom := nBottom,
oComponent.Margins.Left := nLeft,
oComponent.Margins.Right := nRight,
oComponent.Margins.Top := nTop,
end,
//******************************************************************************
// Erstellt eine Checkbox der Codeblock Arten
//******************************************************************************
function MyCreateObject(cClass, cName, cCaption, oParent, nTabOrder, nAlignType, nBottom, nLeft, nRight, nTop)
Result := nil,
Result := CreateObject(cClass, cName, oForm, oParent),
Result.Caption := cCaption,
Result.TabOrder := nTabOrder,
SetAlignMargins(Result, nAlignType, nBottom, nLeft, nRight, nTop),
end,
//******************************************************************************
// Setzt die Margins des Übergebenen Objects auf die Übergebenen werte
//******************************************************************************
function CreateForm()
// Formular
oForm := CreateObject('TFormEx', 'FormtCodeblockExport'),
oForm.OrigCapt := 'codeblock-collector',
oForm.Font.Name := 'Segoe UI',
oForm.Font.Size := 10,
oForm.Height := 640,
oForm.Width := 900,
oForm.Position := poScreenCenter,
// Haupt-Panel zum halten aller Grundeinstellungen für den Export
oPanelMainOptions := MyCreateObject('TPanel', 'PanelMainOptions', '', oForm, 0, alClient, 0, 0, 0, 0),
oPanelMainOptions.BevelOuter := bvNone,
//***************************************************************************
// GroupBox Export Pfad
oGrpBoxExportPath := MyCreateObject('TGroupBox', 'GrpBoxExportPath', 'Pfad für den Export', oPanelMainOptions, 0, alClient, 3, 3, 3, 3),
oGrpBoxExportPath.Height := 187,
// Panel für die Pfadoptionen
oPanelPathOptions := MyCreateObject('TPanel', 'PanelPathOptions', '', oGrpBoxExportPath, 1, alClient, 3, 3, 3, 0),
oPanelPathOptions.Height := 151,
oPanelPathOptions.BevelOuter := bvNone,
//***************************************************************************
// GroupBox Reguläre ausdrücke
oGrpBoxRegExpr := MyCreateObject('TGroupBox', 'GrpBoxRegExpr', 'Reguläre Ausdrücke', oPanelPathOptions, 0, alClient, 3, 3, 3, 10),
//***************************************************************************
// Panel für den RegEx der Im Code nicht vorkommen darf
oPanelCodeExcludeRegEx := MyCreateObject('TPanel', 'PanelCodeExcludeRegEx', '', oGrpBoxRegExpr., 4, alTop, 3, 3, 3, 0),
oPanelCodeExcludeRegEx.Height := 70,
oPanelCodeExcludeRegEx.BevelOuter := bvNone,
// Label für den RegEx der Im Code nicht vorkommen darf
oLblCodeExcludeRegEx := CreateObject('TLabel', 'LblCodeExcludeRegEx', oForm, oPanelCodeExcludeRegEx),
oLblCodeExcludeRegEx.Caption := 'Ausdruck der im Code nicht vorkommen darf:',
SetAlignMargins(oLblCodeExcludeRegEx, alTop, 0, 3, 3, 3),
// Edit für den RegEx der Im Code nicht vorkommen darf
oEdtCodeExcludeRegEx := CreateObject('TBeEdit', 'EdtCodeExcludeRegEx', oForm, oPanelCodeExcludeRegEx),
oEdtCodeExcludeRegEx.Text := '',
oEdtCodeExcludeRegEx.WordWrap := True,
SetAlignMargins(oEdtCodeExcludeRegEx, alClient, 0, 0, 0, 0),
//***************************************************************************
// Panel für den RegEx der Im Code vorkommen muss
oPanelCodeIncludeRegEx := MyCreateObject('TPanel', 'PanelCodeIncludeRegEx', '', oGrpBoxRegExpr., 3, alTop, 3, 3, 3, 0),
oPanelCodeIncludeRegEx.Height := 70,
oPanelCodeIncludeRegEx.BevelOuter := bvNone,
// Label für den RegEx der Im Code vorkommen muss
oLblCodeIncludeRegEx := CreateObject('TLabel', 'LblCodeIncludeRegEx', oForm, oPanelCodeIncludeRegEx),
oLblCodeIncludeRegEx.Caption := 'Ausdruck der im Code vorkommen muss:',
SetAlignMargins(oLblCodeIncludeRegEx, alTop, 0, 3, 3, 3),
// Edit für den RegEx der Im Code vorkommen muss
oEdtCodeIncludeRegEx := CreateObject('TBeEdit', 'EdtCodeIncludeRegEx', oForm, oPanelCodeIncludeRegEx),
oEdtCodeIncludeRegEx.Text := '',
oEdtCodeIncludeRegEx.WordWrap := True,
SetAlignMargins(oEdtCodeIncludeRegEx, alClient, 0, 0, 0, 0),
//***************************************************************************
// Panel für den RegEx der Im Pfad nicht vorkommen darf
oPanelPathExcludeRegEx := MyCreateObject('TPanel', 'PanelPathExcludeRegEx', '', oGrpBoxRegExpr., 2, alTop, 3, 3, 3, 0),
oPanelPathExcludeRegEx.Height := 70,
oPanelPathExcludeRegEx.BevelOuter := bvNone,
// Label für den RegEx der Im Pfad nicht vorkommen darf
oLblPathExcludeRegEx := CreateObject('TLabel', 'aLblPathExcludeRegEx', oForm, oPanelPathExcludeRegEx),
oLblPathExcludeRegEx.Caption := 'Ausdruck der im Pfad nicht vorkommen darf:',
SetAlignMargins(oLblPathExcludeRegEx, alTop, 0, 3, 3, 3),
// Edit für den RegEx der Im Pfad nicht vorkommen darf
oEdtPathExcludeRegEx := CreateObject('TBeEdit', 'EdtPathExcludeRegEx', oForm, oPanelPathExcludeRegEx),
oEdtPathExcludeRegEx.Text := 'Beleg Layouts\\BACKUP_|Beleg Layouts\\KOPIE_|Beleg Layouts\\ARCHIV_', // Vorbelegung, damit archivierte Beleg-Layouts etc. nicht exportiert werden
oEdtPathExcludeRegEx.WordWrap := True,
SetAlignMargins(oEdtPathExcludeRegEx, alClient, 0, 0, 0, 0),
//***************************************************************************
// Panel für den RegEx der Im Pfad vorkommen muss
oPanelPathIncludeRegEx := MyCreateObject('TPanel', 'PanelPathIncludeRegEx', '', oGrpBoxRegExpr., 1, alTop, 3, 3, 3, 0),
oPanelPathIncludeRegEx.Height := 70,
oPanelPathIncludeRegEx.BevelOuter := bvNone,
// Label für den RegEx der Im Pfad vorkommen muss
oLblPathIncludeRegEx := CreateObject('TLabel', 'aLblPathIncludeRegEx', oForm, oPanelPathIncludeRegEx),
oLblPathIncludeRegEx.Caption := 'Ausdruck der im Pfad vorkommen muss:',
SetAlignMargins(oLblPathIncludeRegEx, alTop, 0, 3, 3, 3),
// Edit für den RegEx der Im Pfad vorkommen muss
oEdtPathIncludeRegEx := CreateObject('TBeEdit', 'EdtPathIncludeRegEx', oForm, oPanelPathIncludeRegEx),
oEdtPathIncludeRegEx.Text := '',
oEdtPathIncludeRegEx.WordWrap := True,
SetAlignMargins(oEdtPathIncludeRegEx, alClient, 0, 0, 0, 0),
// CheckBox zum leeren des zu Exportierenden Ordners
oCkBoxClearPath := MyCreateObject('TCheckBox', 'CheckBoxClearPath', 'Export Ordner leeren', oPanelPathOptions, 0, alTop, 3, 3, 3, 0),
oCkBoxClearPath.Width := 130,
//***************************************************************************
// Panel für den Pfad indem die Codeblock hinein exportiert werden sollen
oPanelExportPath := MyCreateObject('TPanel', 'PanelExportPath', '', oGrpBoxExportPath, 0, alTop, 0, 0, 0, 0),
oPanelExportPath.BevelOuter := bvNone,
oPanelExportPath.Height := 29,
// Button Export Pfad über OpenDialog
oBtnChangePath := MyCreateObject('TBeBitBtn', 'BtnChangeExportPath', '...', oPanelExportPath, 0, alRight, 3, 0, 3, 3),
oBtnChangePath.Width := 23,
AssignEvent(oBtnChangePath, 'OnClick', 'oBtnChangePathClick'),
// Edit Export Pfad
oEdtExportPath := CreateObject('TBeEdit', 'EdtExportPath', oForm, oPanelExportPath),
oEdtExportPath.Text := 'C:\be_Codeblock_Export\',
SetAlignMargins(oEdtExportPath, alClient, 3, 5, 3, 4),
oEdtExportPath.ReadOnly := true,
//***************************************************************************
// GroupBox Datenbestand und DabPAR Pfad
oGrpBoxDataBase := MyCreateObject('TGroupBox', 'GrpBoxDataBase', 'Pfad des Datenbestandes', oPanelMainOptions, 1, alBottom, 3, 3, 3, 3),
oGrpBoxDataBase.Height := 120,
// Panel für die Buttons zum ändern der DD und DabPAR pfade
oPanelDDBtnPath := MyCreateObject('TPanel', 'PanelDDBtnPath', '', oGrpBoxDataBase, 0, alRight, 0, 0, 0, 0),
oPanelDDBtnPath.Width := 26,
oPanelDDBtnPath.BevelOuter := bvNone,
// Panel für den Pfad des DataDictionarys und der DabPAR
oPanelDDEdtPath := MyCreateObject('TPanel', 'PanelDDEdtPath', '', oGrpBoxDataBase, 1, alClient, 0, 0, 0, 0),
oPanelDDEdtPath.BevelOuter := bvNone,
// Button Export Pfad über OpenDialog
oBtnDDPath := MyCreateObject('TBeBitBtn', 'BtnDDPath', '...', oPanelDDBtnPath, 0, alTop, 10, 0, 3, 22),
oBtnDDPath.Height := 25,
AssignEvent(oBtnDDPath, 'OnClick', 'oBtnChangePathClick'),
// Button Export Pfad über OpenDialog
oBtnDabPARPath := MyCreateObject('TBeBitBtn', 'BtnDabPARPath', '...', oPanelDDBtnPath, 1, alBottom, 3, 0, 3, 4),
oBtnDabPARPath.Height := 25,
AssignEvent(oBtnDabPARPath, 'OnClick', 'oBtnChangePathClick'),
oLblDataBasePath := CreateObject('TLabel', 'LblDataBasePath', oForm, oPanelDDEdtPath),
oLblDataBasePath.Caption := 'DataDictionary Ordner:',
SetAlignMargins(oLblDataBasePath, alTop, 0, 3, 3, 3),
// Edit für das Datadictionary (Den Datenbestand)
oEdtDataBasePath := CreateObject('TBeEdit', 'EdtDataBasePath', oForm, oPanelDDEdtPath),
oEdtDataBasePath.Text := mbedefault,
SetAlignMargins(oEdtDataBasePath, alBottom, 3, 5, 3, 3),
oEdtDataBasePath.Align := alTop,
oEdtDataBasePath.ReadOnly := true,
// Edit für die DabPAR
oEdtDabPARPath := CreateObject('TBeEdit', 'EdtDabPARPath', oForm, oPanelDDEdtPath),
oEdtDabPARPath.Text := '',
SetAlignMargins(oEdtDabPARPath, alBottom, 3, 5, 3, 0),
oEdtDabPARPath.ReadOnly := true,
oLblDabPARPath := CreateObject('TLabel', 'LblDabPARPath', oForm, oPanelDDEdtPath),
oLblDabPARPath.Caption := 'DabPAR Ordner:',
SetAlignMargins(oLblDabPARPath, alBottom, 3, 3, 3, 0),
//***************************************************************************
// Panel für die Fußzeile
oPanelBottom := MyCreateObject('TPanel', 'PanelBottom', '', oForm, 2, alBottom, 3, 3, 3, 0),
oPanelBottom.Height := 25,
oPanelBottom.BevelOuter := bvNone,
// Button Export
oBtnExport := MyCreateObject('TBeBitBtn', 'BtnExport', '&Exportieren', oPanelBottom, 0, alRight, 0, 0, 3, 0),
oBtnExport.ImageIndex.IndexNormal := 287,
oBtnExport.Width := 120,
AssignEvent(oBtnExport, 'OnClick', 'oBtnExportClick'),
// Button Abbruch
oBtnAbort := MyCreateObject('TBeBitBtn', 'BtnAbort', 'A&bbrechen', oPanelBottom, 1, alRight, 0, 0, 3, 0),
oBtnAbort.ImageIndex.IndexNormal := 8,
oBtnAbort.Width := 120,
AssignEvent(oBtnAbort, 'OnClick', 'oBtnCancelClick'),
//***************************************************************************
// GroupBox für die Optionen die Export einstellungen
oGrpBoxMainControl := MyCreateObject('TGroupBox', 'GrpBoxMainControl', 'Zu exportierende Codeblöcke', oForm, 1, alRight, 3, 3, 3, 3),
oGrpBoxMainControl.Width := 440,
//***************************************************************************
// Panel für zusätliche Optionen
oPanelOptions := MyCreateObject('TPanel', 'PanelOptions', '', oGrpBoxMainControl, 1, alBottom, 3, 3, 3, 3),
oPanelOptions.Height := 25,
oPanelOptions.BevelOuter := bvNone,
// Button zum selektieren aller Export-Bereiche
oBtnSelectAll := MyCreateObject('TBeBitBtn', 'BtnSelectAll', 'Alle selektieren', oPanelOptions, 1, alLeft, 0, 0, 3, 0),
oBtnSelectAll.ImageIndex.IndexNormal := 189,
oBtnSelectAll.Width := 116,
AssignEvent(oBtnSelectAll, 'OnClick', 'DoSelektionButtonClicked'),
// Button der alle Selektionen aufhebt
oBtnDeselectAll := MyCreateObject('TBeBitBtn', 'BtnDeselectAll', 'Alle aufheben', oPanelOptions, 2, alLeft, 0, 0, 3, 0),
oBtnDeselectAll.ImageIndex.IndexNormal := oBtnSelectAll.ImageIndex.IndexNormal + 1,
oBtnDeselectAll.Width := 116,
AssignEvent(oBtnDeselectAll, 'OnClick', 'DoSelektionButtonClicked'),
//***************************************************************************
// Panel linke Seite der Export Arten
oPanelLeftSide := MyCreateObject('TPanel', 'PanelLeftSide', '', oGrpBoxMainControl, 0, alLeft, 0, 3, 3, 3),
oPanelLeftSide.Width := 180,
oPanelLeftSide.BevelOuter := bvNone,
// CheckBox Druckerzuweisungen
oCkBoxPrintManager := MyCreateObject('TCheckBox', 'CkBoxPrintManager', 'Druckerzuweisungen', oPanelLeftSide, 0, alTop, 3, 3, 3, 3),
// CheckBox Individual Menüs
oCkBoxIndividualMenu := MyCreateObject('TCheckBox', 'CkBoxIndividualMenu', 'Individual-Menüs', oPanelLeftSide, 1, alTop, 3, 3, 3, 3),
// CheckBox Maskendefinitionen
oCkBoxMaskDef := MyCreateObject('TCheckBox', 'CkBoxMaskDef', 'Maskendefinitionen', oPanelLeftSide, 2, alTop, 3, 3, 3, 3),
// CheckBox Versandsteuerung
oCkBoxShippingControl := MyCreateObject('TCheckBox', 'CkBoxShippingControl', 'Versandsteuerung', oPanelLeftSide, 3, alTop, 3, 3, 3, 3),
// CheckBox Textbausteine
oCkBoxTextModule := MyCreateObject('TCheckBox', 'CkBoxTextModule', 'Textbausteine', oPanelLeftSide, 4, alTop, 3, 3, 3, 3),
// CheckBox Memo Ansichten
oCkBoxMemoView := MyCreateObject('TCheckBox', 'CkBoxMemoView', 'Memo Ansichten', oPanelLeftSide, 5, alTop, 3, 3, 3, 3),
// CheckBox Codeblock Programme
oCkBoxCodeblockProgram := MyCreateObject('TCheckBox', 'CkBoxCodeblockProgram', 'Codeblock Programme', oPanelLeftSide, 6, alTop, 3, 3, 3, 3),
// CheckBox Größen- und Farbraster
oCkBoxColSize := MyCreateObject('TCheckBox', 'CkBoxColSize', 'Größen- und Farbraster', oPanelLeftSide, 7, alTop, 3, 3, 3, 3),
// CheckBox Reportgenerator
oCkBoxRepGen := MyCreateObject('TCheckBox', 'CkBoxRepGen', 'Reportgenerator', oPanelLeftSide, 8, alTop, 3, 3, 3, 3),
// CheckBox Reportgenerator
oCkBoxInvFilter := MyCreateObject('TCheckBox', 'CkBoxInvFilter', 'Inventur Filter', oPanelLeftSide, 9, alTop, 3, 3, 3, 3),
// Automatische Liefereinstellungen
oCkBoxReleaseByDate := MyCreateObject('TCheckBox', 'CkBoxReleaseByDate', 'Automatische Liefereinst.', oPanelLeftSide, 10, alTop, 3, 3, 3, 3),
// CheckBox SQL-Selektion
oCkBoxSqlSelect := MyCreateObject('TCheckBox', 'CkBoxSqlSelect', 'SQL-Selektion', oPanelLeftSide, 11, alTop, 3, 3, 3, 3),
// CheckBox FiBu Sachkonten
oCkBoxSachkonten := MyCreateObject('TCheckBox', 'CkBoxSachkonten', 'Sachkonten', oPanelLeftSide, 12, alTop, 3, 3, 3, 3),
// CheckBox FiBu Zahlungsarten
oCkPaymentMethod := MyCreateObject('TCheckBox', 'CkPaymentMethod', 'Zahlungsarten', oPanelLeftSide, 13, alTop, 3, 3, 3, 3),
//***************************************************************************
// Panel rechte Seite der Export Arten
oPanelRightSide := MyCreateObject('TPanel', 'PanelRightSide', '', oGrpBoxMainControl, 1, alRight, 0, 0, 3, 3),
oPanelRightSide.Width := 240,
oPanelRightSide.BevelOuter := bvNone,
// CheckBox CRM-Aktionen
oCkBoxCRMAction := MyCreateObject('TCheckBox', 'CkBoxCRMAction', 'CRM-Aktionen', oPanelRightSide, 0, alTop, 3, 3, 3, 3),
//***************************************************************************
// Panel für die ComboCheckBox und das Label für die Browser Definitionen
oPanelBrowserDef := MyCreateObject('TPanel', 'PanelBrowserDef', '', oPanelRightSide, 1, alTop, 0, 0, 0, 3),
oPanelBrowserDef.Height := 70,
oPanelBrowserDef.BevelOuter := bvNone,
// Edit für den Userfilter auf anderen Datenbeständen
oEdtBrowserDef := CreateObject('TEdit', 'EdtBrowserDef', oForm, oPanelBrowserDef),
oEdtBrowserDef.Text := '',
oEdtBrowserDef.Visible := False,
oEdtBrowserDef.TabOrder := 4,
oEdtBrowserDef.Enabled := False,
SetAlignMargins(oEdtBrowserDef, alTop, 3, 18, 3, 0),
// ComboCheckBox für Browserdefinitionen erstellen
oComboCkBoxBrowserDef := CreateObject('TBeAttribCheckCombo', 'ComboCkBoxBrowserDef', oForm, oPanelBrowserDef),
oComboCkBoxBrowserDef.TabOrder := 4,
oComboCkBoxBrowserDef.ShowTextAsHint := True,
oComboCkBoxBrowserDef.BeAttributeID := -13,
oComboCkBoxBrowserDef.Enabled := False,
SetAlignMargins(oComboCkBoxBrowserDef, alTop, 3, 18, 3, 0),
// CheckBox für die Default Codeblöcke der Browserdefinitionen
oCkBoxBrowserDefDefault := MyCreateObject('TCheckBox', 'CkBoxBrowserDefDefault', 'Default Browser', oPanelBrowserDef, 2, alTop, 3, 18, 3, 0),
oCkBoxBrowserDefDefault.Enabled := False,
// Allgemein CheckBox für die Browserdefinitionen
oCkBoxBrowserDef := MyCreateObject('TCheckBox', 'CkBoxBrowserDef', 'Browserdefinitionen', oPanelBrowserDef, 3, alTop, 3, 3, 3, 0),
AssignEvent(oCkBoxBrowserDef, 'OnClick', 'DoCheckBoxClicked'),
//***************************************************************************
// Panel Tabellen- und Feldrechte
oPanelAttr := MyCreateObject('TPanel', 'PanelAttr', '', oPanelRightSide, 4, alTop, 3, 3, 3, 3),
oPanelAttr.Height := 70,
oPanelAttr.BevelOuter := bvNone,
// CheckBox Merkmalstabellen
oCkBoxAttrTable := MyCreateObject('TCheckBox', 'CkBoxAttrTable', 'Merkmalstabellen', oPanelAttr, 2, alTop, 3, 0, 3, 3),
AssignEvent(oCkBoxAttrTable, 'OnClick', 'DoCheckBoxClicked'),
// CheckBox Default
oCkBoxAttrDefault := MyCreateObject('TCheckBox', 'CkBoxAttrDefault', 'Default', oPanelAttr, 2, alTop, 3, 18, 3, 3),
oCkBoxAttrDefault.Enabled := False,
AssignEvent(oCkBoxAttrDefault, 'OnClick', 'DoCheckBoxClicked'),
// CheckBox Individual
oCkBoxAttrUser := MyCreateObject('TCheckBox', 'CkBoxAttrUser', 'Individual', oPanelAttr, 2, alTop, 3, 18, 3, 3),
oCkBoxAttrUser.Enabled := False,
AssignEvent(oCkBoxAttrUser, 'OnClick', 'DoCheckBoxClicked'),
// CheckBox Beleg Layouts
oCkBoxDocLayout := MyCreateObject('TCheckBox', 'CkBoxDocLayout', 'Beleg Layouts', oPanelRightSide, 3, alTop, 3, 3, 3, 3),
//***************************************************************************
// Panel Tabellen- und Feldrechte
oPanelRights := MyCreateObject('TPanel', 'PanelRights', '', oPanelRightSide, 4, alTop, 3, 3, 3, 0),
oPanelRights.Height := 70,
oPanelRights.BevelOuter := bvNone,
// CheckBox Tabellen- und Feldrechte
oCkBoxRights := MyCreateObject('TCheckBox', 'CkBoxRights', 'Tabellen- und Feldrechte', oPanelRights, 4, alTop, 3, 0, 3, 3),
AssignEvent(oCkBoxRights, 'OnClick', 'DoCheckBoxClicked'),
// CheckBox Default-Rechte
oCkBoxDefaultRights := MyCreateObject('TCheckBox', 'CkBoxDefaultRights', 'Default Rechte', oPanelRights, 4, alTop, 3, 18, 3, 3),
oCkBoxDefaultRights.Enabled := False,
AssignEvent(oCkBoxDefaultRights, 'OnClick', 'DoCheckBoxClicked'),
// CheckBox User-Rechte
oCkBoxUserRights := MyCreateObject('TCheckBox', 'CkBoxUserRights', 'User Rechte', oPanelRights, 4, alTop, 3, 18, 3, 3),
oCkBoxUserRights.Enabled := False,
AssignEvent(oCkBoxUserRights, 'OnClick', 'DoCheckBoxClicked'),
// CheckBox Allgemeine- und Lokale Parameter
oCkBoxParameter := MyCreateObject('TCheckBox', 'CkBoxParameter', 'Allgemeine- und Lokale Parameter', oPanelRightSide, 5, alTop, 3, 3, 3, 3),
// CheckBox Außendienst Parameter
oCkBoxScComm := MyCreateObject('TCheckBox', 'CkBoxScComm', 'Außendienst Parameter', oPanelRightSide, 6, alTop, 3, 3, 3, 3),
// CheckBox Individuelle Datenquelle für Umsätze
oCkBoxIndiDatTurn := MyCreateObject('TCheckBox', 'CkBoxIndiDatTurn', 'Kum.Stat. Indiv.Betrachtungen', oPanelRightSide, 7, alTop, 3, 3, 3, 3),
// CheckBox Intrastat Parameter
oCkBoxIntrastatParam := MyCreateObject('TCheckBox', 'CkBoxIntrastatParam', 'Intrastat Parameter', oPanelRightSide, 8, alTop, 3, 3, 3, 3),
// CheckBox Filter Liste
oCkBoxFilterList := MyCreateObject('TCheckBox', 'CkBoxFilterList', 'Filter Liste', oPanelRightSide, 9, alTop, 3, 3, 3, 3),
// CheckBox Parameter Filter
oCkBoxParamFilter := MyCreateObject('TCheckBox', 'CkBoxParamFilter', 'Parameter Filter', oPanelRightSide, 10, alTop, 3, 3, 3, 3),
// CheckBox FiBu Parameter
oCkBoxFiBuParam := MyCreateObject('TCheckBox', 'CkBoxFiBuParam', 'FiBu Parameter', oPanelRightSide, 11, alTop, 3, 3, 3, 3),
// CheckBox Vertreterverwaltung Absatzplanung Artikelfilter
oCkBoxAgentArtFilter := MyCreateObject('TCheckBox', 'CkBoxAgentArtFilter', 'Absatzplanung Artikelfilter', oPanelRightSide, 12, alTop, 3, 3, 3, 3),
// CheckBox Sonstige WinPosition Codeblöcke
oCkBoxOtherWinPos := MyCreateObject('TCheckBox', 'CkBoxOtherWinPos', 'Sonstige WinPositionen', oPanelRightSide, 13, alTop, 3, 3, 3, 3),
// Array aus allen CheckBoxen die eine export Art represäntieren
oCkBoxArr := {oCkBoxPrintManager, oCkBoxCRMAction, oCkBoxIndividualMenu,
oCkBoxMaskDef, oCkBoxAttrTable, oCkBoxAttrDefault,
oCkBoxAttrUser, oCkBoxUserRights, oCkBoxDefaultRights,
oCkBoxRights, oCkBoxShippingControl, oCkBoxDocLayout,
oCkBoxTextModule, oCkBoxMemoView, oCkBoxParameter,
oCkBoxCodeblockProgram, oCkBoxScComm, oCkBoxColSize,
oCkBoxIndiDatTurn, oCkBoxRepGen, oCkBoxIntrastatParam,
oCkBoxInvFilter, oCkBoxFilterList, oCkBoxOtherWinPos,
oCkBoxParamFilter, oCkBoxReleaseByDate, oCkBoxFiBuParam,
oCkBoxSqlSelect, oCkBoxAgentArtFilter, oCkBoxSachkonten,
oCkPaymentMethod, oCkBoxBrowserDef, oCkBoxBrowserDefDefault},
end,
startseq
CreateForm(),
ShowModal(oForm),
always
DestroyObject(oForm),
stopseq,