8
0

Anlage des Repos

This commit is contained in:
2024-01-24 16:42:38 +01:00
commit 38d6a271c4
1785 changed files with 3051496 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
' DisableDuplicateCheckerDoc_InputControls
' ----------------------------------------------------------------------------
' Diese Subroutine deaktiviert sämtliche Eingabefelder auf einem Level.
' Parameter 1 (LEVEL) = Das aktuelle Showlevel übergeben.
' Parameter 2 (CTRLType)= "Static" deaktiviert pauschal, "dynamic" deaktiviert anhand anderer Laufzeitvariablen.
'
' ----------------------------------------------------------------------------
' Copyright (c) 2021 by Digital Data GmbH
'
' Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
' Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
' ----------------------------------------------------------------------------
' Creation Date / Author: 01.11.2021 / MK
' Version Date / Editor: 01.11.2021 / MK
' Version Number: 1.0.0.0
Sub DisableDuplicateCheckerDoc_InputControls(LEVEL,CTRLType)
If ((LEVEL = 1) or (LEVEL = "1")) and (CTRLType = "static") Then
LEVEL1_CMB_ProductComparisonField.Active = False
LEVEL1_CHK_ProductIdentAndCharge.Active = False
ElseIf ((LEVEL = 2) or (LEVEL = "2")) and (CTRLType = "static") Then
LEVEL2_CMB_AccountComparisonField.Active = False
LEVEL2_CHK_AccountNotOnlyCustomers.Active = False
End if
End Sub

View File

@@ -0,0 +1,33 @@
' DisableDuplicateChecker_ButtonControls
' ----------------------------------------------------------------------------
' Diese Subroutine deaktiviert Knöpfe im Ribbon und in Fenster.
' Parameter 1 (LEVEL) = Das aktuelle Showlevel übergeben.
' Parameter 2 (CTRLType)= "Static" deaktiviert pauschal, "dynamic" deaktiviert anhand anderer Laufzeitvariablen.
'
' ----------------------------------------------------------------------------
' Copyright (c) 2021 by Digital Data GmbH
'
' Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
' Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
' ----------------------------------------------------------------------------
' Creation Date / Author: 01.11.2021 / MK
' Version Date / Editor: 01.11.2021 / MK
' Version Number: 1.0.0.0
Sub DisableDuplicateChecker_ButtonControls(LEVEL,CTRLType)
If ((LEVEL = 0) or (LEVEL = "0")) and (CTRLType = "static") Then
LEVEL0_BTN_ShowDuplicates.Active = False
ElseIf ((LEVEL = 1) or (LEVEL = "1")) and (CTRLType = "static") Then
LEVEL0_BTN_ShowDuplicates.Active = False
ElseIf ((LEVEL = 2) or (LEVEL = "2")) and (CTRLType = "static") Then
LEVEL0_BTN_ShowDuplicates.Active = False
End if
End Sub

View File

@@ -0,0 +1,33 @@
' EnableDuplicateChecker_ButtonControls
' ----------------------------------------------------------------------------
' Diese Subroutine aktiviert Knöpfe im Ribbon und in Fenster.
' Parameter 1 (LEVEL) = Das aktuelle Showlevel übergeben.
' Parameter 2 (CTRLType)= "Static" aktiviert pauschal, "dynamic" aktiviert anhand anderer Laufzeitvariablen.
'
' ----------------------------------------------------------------------------
' Copyright (c) 2021 by Digital Data GmbH
'
' Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
' Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
' ----------------------------------------------------------------------------
' Creation Date / Author: 01.11.2021 / MK
' Version Date / Editor: 01.11.2021 / MK
' Version Number: 1.0.0.0
Sub EnableDuplicateChecker_ButtonControls(LEVEL,CTRLType)
If ((LEVEL = 0) or (LEVEL = "0")) and (CTRLType = "static") Then
LEVEL0_BTN_ShowDuplicates.Active = True
ElseIf ((LEVEL = 1) or (LEVEL = "1")) and (CTRLType = "static") Then
LEVEL0_BTN_ShowDuplicates.Active = True
ElseIf ((LEVEL = 2) or (LEVEL = "2")) and (CTRLType = "static") Then
LEVEL0_BTN_ShowDuplicates.Active = True
End if
End Sub

View File

@@ -0,0 +1,31 @@
' EnableDuplicateChecker_InputControls
' ----------------------------------------------------------------------------
' Diese Subroutine aktiviert sämtliche Eingabefelder auf einem Level.
' Parameter 1 (LEVEL) = Das aktuelle Showlevel übergeben.
' Parameter 2 (CTRLType)= "Static" aktiviert pauschal, "dynamic" aktiviert anhand anderer Laufzeitvariablen.
'
' ----------------------------------------------------------------------------
' Copyright (c) 2021 by Digital Data GmbH
'
' Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
' Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
' ----------------------------------------------------------------------------
' Creation Date / Author: 01.11.2021 / MK
' Version Date / Editor: 01.11.2021 / MK
' Version Number: 1.0.0.0
Sub EnableDuplicateChecker_InputControls(LEVEL,CTRLType)
If ((LEVEL = 1) or (LEVEL = "1")) and (CTRLType = "static") Then
LEVEL1_CMB_ProductComparisonField.Active = True
LEVEL1_CHK_ProductIdentAndCharge.Active = True
ElseIf ((LEVEL = 2) or (LEVEL = "2")) and (CTRLType = "static") Then
LEVEL2_CMB_AccountComparisonField.Active = True
LEVEL2_CHK_AccountNotOnlyCustomers.Active = True
End if
End Sub

View File

@@ -0,0 +1,85 @@
' InitializeDuplicateChecker_CreateVar
' ----------------------------------------------------------------------------
' Diese Subroutine initialisiert die nötigen Variablen.
'
' ----------------------------------------------------------------------------
' Copyright (c) 2021 by Digital Data GmbH
'
' Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
' Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
' ----------------------------------------------------------------------------
' Creation Date / Author: 01.11.2021 / MK
' Version Date / Editor: 01.11.2021 / MK
' Version Number: 1.0.0.0
Sub InitializeDuplicateChecker_CreateVar()
''Plan/layout for 495 vars
'Vars 0- 9 Level 0 General Controls
'
'Vars 10-19 Level 1 Grid1 cols & Controls
'Vars 20-39 Level 1 Grid2 cols
'
'Vars 40-49 Level 2 Grid1 cols & Controls
'Vars 50-69 Level 2 Grid2 cols
'
'Vars 70-79 Level 3 Grid1 cols & Controls (future use)
'Vars 80-99 Level 3 Grid2 cols (future use)
'----------------------------------------------------------------------------------------------------------
'Storage for custom fields on LEVEL 0
'----------------------------------------------------------------------------------------------------------
'Storage for custom fields on LEVEL 1
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 10, "1", 50 'Grid1: Footer
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 11, "2", 15 'Grid1: GUID
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 12, "2", 15 'Grid1: Anzahl
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 13, "1", 255 'Grid1: Wert
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 18, "31", 4 'SQL Spalten aus v021
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 19, "2", 3 'Checkbox ob Ident und Chargenartikel berücksichtigt werden sollen
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 20, "1", 50 'Grid2: Footer
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 21, "2", 3 'Grid2: Aktiv
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 22, "2", 3 'Grid2: Hauptartikelflag
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 23, "2", 3 'Grid2: Ausprägungsartikelflag
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 24, "2", 3 'Grid2: Identartikelflag
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 25, "2", 3 'Grid2: Chargenartikelflag
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 26, "1", 25 'Grid2: Hauptartikelnummer
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 27, "1", 25 'Grid2: Artikelnummer
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 28, "1", 255 'Grid2: Artikelbezeichnung
'----------------------------------------------------------------------------------------------------------
'Storage for custom fields on LEVEL 2
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 40, "1", 50 'Grid1: Footer
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 41, "2", 15 'Grid1: GUID
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 42, "2", 15 'Grid1: Anzahl
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 43, "1", 255 'Grid1: Wert
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 48, "31", 4 'SQL Spalten aus v050
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 49, "2", 3 'Checkbox ob nur Kundenkonten berücksichtigt werden sollen
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 50, "1", 50 'Grid2: Footer
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 51, "2", 3 'Grid2: Aktiv
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 52, "2", 3 'Grid2: Kundeflag
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 53, "2", 3 'Grid2: Lieferantflag
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 54, "2", 3 'Grid2: Kunde (Interessent) flag
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 55, "2", 3 'Grid2: Lieferant (Interessent) flag
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 56, "1", 25 'Grid2: FAKT Kontonummer
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 57, "1", 25 'Grid2: FIBU Kontonummer
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 58, "1", 25 'Grid2: Kontonummer
CWLCurrentWindow.ActiveWindow.Vars.CreateVar 495, 59, "1", 255 'Grid2: Kontobeschreibung
'----------------------------------------------------------------------------------------------------------
End Sub
'Create Var
'Type Bedeutung
'1 Textvariable (Länge wählbar)
'2 Zahl ohne Nachkommastellen (Integer)
'4 Zahl mit Nachkommastellen (Double)
'6 Datum mit Zeit

View File

@@ -0,0 +1,457 @@
' SetDuplicateChecker_ComboBoxControls
' ----------------------------------------------------------------------------
' Diese Funktion liefert Werte, um Auswahlboxen zu füllen.
' Parameter 1 (CTRLType)= Name oder Typ des Controls welches gefüllt werden soll.
'
' ----------------------------------------------------------------------------
' Copyright (c) 2021 by Digital Data GmbH
'
' Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
' Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
' ----------------------------------------------------------------------------
' Creation Date / Author: 01.11.2021 / MK
' Version Date / Editor: 01.11.2021 / MK
' Version Number: 1.0.0.0
Function SetDuplicateChecker_ComboBoxControls(CMBType)
If (CMBType = "ProductComparisonField") Then
ProductComparisonField = "C069:Ablaufdatum;" &_
"C006:allg.Einkaufspreis;" &_
"C007:allg.Verkaufspreis;" &_
"C114:Alternative Artikelnummer 1;" &_
"C115:Alternative Artikelnummer 2;" &_
"C200:Anzeigenummer;" &_
"C005:Artikelgruppe;" &_
"C002:Artikelnummer;" &_
"C079:Artikeltyp;" &_
"C078:Artikeluntergruppe;" &_
"C095:Ausgabe unterdrücken;" &_
"C110:Auspr.1 bis;" &_
"C131:Auspr.1 Sortierung;" &_
"C109:Auspr.1 von;" &_
"C112:Auspr.2 bis;" &_
"C132:Auspr.2 Sortierung;" &_
"C111:Auspr.2 von;" &_
"C139:Auspr.gruppe1;" &_
"C140:Auspr.gruppe2;" &_
"C066:Ausprägung 1;" &_
"C067:Ausprägung 2;" &_
"C014:Ausprägungsflag;" &_
"C177:Ausprägungstyp;" &_
"C152:Automatisches Ersetzen;" &_
"C135:Basis f. Rohertrag;" &_
"C172:Benutzer der Anlage;" &_
"C169:Benutzer der letzten Änderung;" &_
"C167:Bestandskonto;" &_
"C060:Bestelldatum;" &_
"C059:Bestellmenge;" &_
"C125:Betrag Bezugskosten;" &_
"C003:Bezeichnung;" &_
"C102:Bezugskosten;" &_
"C184:Breite;" &_
"C098:Bruttofaktor;" &_
"C025:Charge-/Identflag;" &_
"C068:Charge-/Identnummer;" &_
"C004:Colli Einkauf;" &_
"C070:Colli Verkauf;" &_
"C071:Datum d. Erstanlage;" &_
"C072:Datum d. letzten Änderung;" &_
"C104:Datum Inventur;" &_
"C170:Datum letzte Produktion;" &_
"C022:Datum letzter Ausgang;" &_
"C021:Datum letzter Eingang;" &_
"C075:EAN-Code;" &_
"C156:Einkauf;" &_
"C031:Einstandspreis;" &_
"C176:Ende Liefersperre;" &_
"C028:Erlöskonto;" &_
"C166:Erlöskonto;" &_
"C123:Ersatzartikelnummer;" &_
"C153:Ersatzartikelverwendung;" &_
"C039:EXIM durchgeführte Änderungen;" &_
"C142:Fall-Id;" &_
"C130:Flag f.HSL;" &_
"C116:Flag Freigabekontrolle;" &_
"C141:Flag für Bestandsbuchung;" &_
"C147:Flag Losgröße Verkauf;" &_
"C077:Formelnummer;" &_
"C033:gewährte Rabatte;" &_
"C063:Gewicht;" &_
"C076:Grafikfile;" &_
"C235:GUID;" &_
"C011:Hauptartikelnummer;" &_
"C161:Herstelldatum;" &_
"C150:Hersteller;" &_
"C185:Höhe;" &_
"C038:Inaktiv;" &_
"C034:Inventur;" &_
"C036:Kennzeichen;" &_
"C117:KN8-Nummer;" &_
"C234:KN8-Nummer EK;" &_
"C165:Konto;" &_
"C105:Kostenträger;" &_
"C019:Kundenbestellungen;" &_
"C017:Lager Mindestbestand;" &_
"C018:Lager Sollbestand;" &_
"C091:Lagerartikelnummer;" &_
"C136:Lagerbewertung;" &_
"C231:Lagerortformel EK;" &_
"C232:Lagerortformel VK;" &_
"C178:Lagerortstruktur;" &_
"C001:Lagerplatz;" &_
"C183:Länge;" &_
"C073:Langtext1;" &_
"C074:Langtext2;" &_
"C029:Laufende Chargennummer;" &_
"C133:letzter Einkaufspreis;" &_
"C093:Lieferantenartikelnummer;" &_
"C054:Lieferantenbestellungen;" &_
"C101:Liefersperre;" &_
"C164:Losgröße Charge;" &_
"C027:Losgröße Einkauf;" &_
"C146:Losgröße Verkauf;" &_
"C155:Makro Einkauf;" &_
"C037:Makro VK;" &_
"C097:Mehrfachausprägungen;" &_
"C119:Menge 2 Abgang;" &_
"C121:Menge 2 Inventur;" &_
"C163:Menge 2 kommissioniert;" &_
"C126:Menge 2 Preisfindung Einkauf;" &_
"C124:Menge 2 Preisfindung Verkauf;" &_
"C120:Menge 2 Produktion;" &_
"C128:Menge 2 Rückstand Einkauf;" &_
"C151:Menge 2 Rückstand Produktion;" &_
"C127:Menge 2 Rückstand Verkauf;" &_
"C118:Menge 2 Zugang;" &_
"C009:Menge Abgang;" &_
"C162:Menge kommissioniert;" &_
"C044:Menge Produktion;" &_
"C108:Menge Reservierung;" &_
"C008:Menge Zugang;" &_
"C144:MESOPRIM Lager;" &_
"C143:MESOPRIM Preis;" &_
"C145:MESOPRIM Texte;" &_
"C134:niedrigster Einkaufspreis;" &_
"C080:Notiz1;" &_
"C081:Notiz2;" &_
"C082:Notiz3;" &_
"C083:Notiz4;" &_
"C084:Notiz5;" &_
"C085:Notiz6;" &_
"C086:Notiz7;" &_
"C087:Notiz8;" &_
"C088:Notiz9;" &_
"C089:Notiz10;" &_
"C173:Plankostenart;" &_
"C090:Preisartikelnummer;" &_
"C158:Produktion - Optimale Menge;" &_
"C100:Produktionsflag;" &_
"C157:Produktionsmindestmenge;" &_
"C035:Provisionscode;" &_
"C171:Puffertage Einkauf;" &_
"C040:Rabattspalte;" &_
"C064:Raumgewicht;" &_
"C026:Rohertrag/Jahr;" &_
"C099:Schlussrechnungskonto;" &_
"C233:Selektion über Lagerort-Zuordnung;" &_
"C149:Serviceprojekt;" &_
"C154:Sollbestand;" &_
"C174:Sperre Menge2 Einkauf;" &_
"C175:Sperre Menge2 Verkauf;" &_
"C159:Standardausprägung 1;" &_
"C160:Standardausprägung 2;" &_
"C113:Standardpositionsebene;" &_
"C032:Statistikkennzeichen;" &_
"C030:Steuerzeile;" &_
"C092:Textartikelnummer;" &_
"C122:Textkennzeichen;" &_
"C103:TPL-Nummer;" &_
"C148:Umrechnungsfaktor Menge2;" &_
"C024:Umsatz/Jahr;" &_
"C000:Umverpackung;" &_
"C138:Ursprungsland;" &_
"C137:Ursprungsregion;" &_
"C062:USt-KZ;" &_
"C096:Variantenvorschlag;" &_
"C180:verf. Lagerortmenge;" &_
"C181:verf. Lagerortmenge2;" &_
"C046:Verkaufspreis1;" &_
"C047:Verkaufspreis2;" &_
"C048:Verkaufspreis3;" &_
"C049:Verkaufspreis4;" &_
"C050:Verkaufspreis5;" &_
"C051:Verkaufspreis6;" &_
"C052:Verkaufspreis7;" &_
"C053:Verkaufspreis8;" &_
"C107:Verknüpfung mit Artikellagereinstellungen;" &_
"C015:Verknüpfung mit Artikellagerwerten;" &_
"C010:Verknüpfung mit Artikelpreisen;" &_
"C016:Verknüpfung mit Artikeltexten;" &_
"C020:Verwendung Auspr.1;" &_
"C023:Verwendung Auspr.2;" &_
"C182:Volumen;" &_
"C168:Wareneinsatzkonto;" &_
"C013:Wert Abgang;" &_
"C042:Wert Produktion;" &_
"C012:Wert Zugang;" &_
"C179:Zuordnung für Erpel;" &_
"C201:Zusatzfeld 1;" &_
"C202:Zusatzfeld 2;" &_
"C203:Zusatzfeld 3;" &_
"C204:Zusatzfeld 4;" &_
"C205:Zusatzfeld 5;" &_
"C206:Zusatzfeld 6;" &_
"C207:Zusatzfeld 7;" &_
"C208:Zusatzfeld 8;" &_
"C209:Zusatzfeld 9;" &_
"C210:Zusatzfeld 10;" &_
"C211:Zusatzfeld 11;" &_
"C212:Zusatzfeld 12;" &_
"C213:Zusatzfeld 13;" &_
"C214:Zusatzfeld 14;" &_
"C215:Zusatzfeld 15;" &_
"C216:Zusatzfeld 16;" &_
"C217:Zusatzfeld 17;" &_
"C218:Zusatzfeld 18;" &_
"C219:Zusatzfeld 19;" &_
"C220:Zusatzfeld 20;" &_
"C221:Zusatzfeld 21;" &_
"C222:Zusatzfeld 22;" &_
"C223:Zusatzfeld 23;" &_
"C224:Zusatzfeld 24;" &_
"C225:Zusatzfeld 25;" &_
"C226:Zusatzfeld 26;" &_
"C227:Zusatzfeld 27;" &_
"C228:Zusatzfeld 28;" &_
"C229:Zusatzfeld 29;" &_
"C230:Zusatzfeld 30;" &_
"C106:Zusatzfelder;" &_
"C129:Zusatzleiste;" &_
"C094:Zwischensumme;"
SetDuplicateChecker_ComboBoxControls = ProductComparisonField
ElseIf (CMBType = "AccountComparisonField") Then
AccountComparisonField = "C124:1099-Kategorie;" &_
"C126:2nd TIN Notice;" &_
"C170:Ablaufdatum Mahnsperre;" &_
"C241:Abodienst;" &_
"C162:Abzugsart;" &_
"C049:Anrede;" &_
"C148:Auspr.1;" &_
"C149:Auspr.2;" &_
"C106:AuswerteString;" &_
"C076:BankNr.;" &_
"C144:bebuchbar bis;" &_
"C077:Belegart;" &_
"C121:Belegkopftext 1;" &_
"C132:Belegkopftext 2;" &_
"C133:Belegkopftext 3;" &_
"C134:Belegkopftext 4;" &_
"C109:Belegkopie AB;" &_
"C108:Belegkopie AG;" &_
"C111:Belegkopie FA;" &_
"C110:Belegkopie LS;" &_
"C254:Benutzer der Anlage;" &_
"C253:Benutzer der letzten Änderung;" &_
"C184:BestPrice;" &_
"C232:Betreibervorwahl Mobiltelefonnummer;" &_
"C237:BIC;" &_
"C090:Bilddatei;" &_
"C007:BKZ 1;" &_
"C008:BKZ 1 Wechselkonto;" &_
"C173:BKZ 2;" &_
"C174:BKZ 2 Wechselkonto;" &_
"C175:BKZ 3;" &_
"C176:BKZ 3 Wechselkonto;" &_
"C075:BLZ;" &_
"C009:BWA1;" &_
"C114:BWA2;" &_
"C115:BWA3;" &_
"C165:Codice fiscale / LSV+ Identifikationsnummer;" &_
"C166:Datum Abgleich;" &_
"C086:Datum Erstanlage;" &_
"C087:Datum letzte Änderung;" &_
"C085:Deb.-/Kred.-Konto;" &_
"C245:Dienstgeberkontonummer;" &_
"C190:Durchschnittliche Skonto-Prozent;" &_
"C189:Durchschnittliche Tage bis zur Zahlung;" &_
"C192:eBKZ 1;" &_
"C194:eBKZ 1 (intern);" &_
"C193:eBKZ 1 Wechselkonto;" &_
"C195:eBKZ 1 Wechselkonto (intern);" &_
"C196:eBKZ 2;" &_
"C198:eBKZ 2 (intern);" &_
"C197:eBKZ 2 Wechselkonto;" &_
"C199:eBKZ 2 Wechselkonto (intern);" &_
"C116:E-Mail;" &_
"C256:ERPEL-Firmen-ID;" &_
"C235:Factoring-Konto;" &_
"C172:Fall-Id;" &_
"C020:Fax;" &_
"C240:Firmenbuchnummer;" &_
"C146:Flag Freigabekontrolle;" &_
"C155:Flag OP für Sachkonto;" &_
"C188:Fremdkontonummer;" &_
"C137:Fremdwährung;" &_
"C178:Funktion;" &_
"C138:FW-Sperre;" &_
"C119:Gebiet;" &_
"C258:Geo-Key;" &_
"C143:Geschäftsart (ZM);" &_
"C248:GläubigerID;" &_
"C260:GLN;" &_
"C270:GUID;" &_
"C169:Händler;" &_
"C244:Hauptbuchkonto;" &_
"C168:IBAN - International bank account number;" &_
"C022:IDNr;" &_
"C105:Inaktiv;" &_
"C164:INPS/IRPEF-pflichtig;" &_
"C262:Insolvenz;" &_
"C004:Kennzeichen;" &_
"C117:Konsolidierungskonto;" &_
"C139:Kontentyp;" &_
"C102:KontoFaktStamm;" &_
"C103:KontoFibuStamm;" &_
"C003:Kontoname;" &_
"C084:Kontoname 2;" &_
"C002:Kontonummer;" &_
"C001:Kontonummer Adresse;" &_
"C112:Kontonummer FAKT;" &_
"C104:Kontonummer FIBU;" &_
"C011:Kostenart;" &_
"C160:Kostenstelle;" &_
"C122:Kostenträger;" &_
"C161:Kostenträger;" &_
"C072:Kundengruppe;" &_
"C069:KZ Änderung durchgef.;" &_
"C123:Land;" &_
"C074:Landeskennzeichen der Bank;" &_
"C140:Landesvorwahl;" &_
"C231:Landesvorwahl Mobiltelefonnummer;" &_
"C251:Landsvorwahl Fax;" &_
"C135:letzte Buchungsnummer;" &_
"C158:letzte Laufnummer;" &_
"C151:letzte Mahnstufe;" &_
"C153:letzter Mahnbetrag;" &_
"C152:letztes Mahndatum;" &_
"C057:Mahnkennzeichen;" &_
"C236:Mahnungssammelkonto;" &_
"C247:MandatsID;" &_
"C250:MandatsID gültig bis;" &_
"C249:MandatsID gültig von;" &_
"C171:Mindestbestellwert;" &_
"C233:Mobiltelefonnummer;" &_
"C181:Nachname;" &_
"C182:nat. Person;" &_
"C083:Notiz;" &_
"C242:Ordnungsnummer;" &_
"C052:Ort;" &_
"C141:Ortsvorwahl;" &_
"C252:Ortsvorwahl Fax;" &_
"C167:Outlook - ID;" &_
"C163:Persona fisica;" &_
"C051:Postleitzahl;" &_
"C080:Postleitzahl 2;" &_
"C066:Preisliste;" &_
"C113:Priorität;" &_
"C070:Rabattleiste1;" &_
"C071:Rabattleiste2;" &_
"C012:Raffer;" &_
"C130:Rechnungsempfänger;" &_
"C187:Rechnungsversand E-Mail-Adresse;" &_
"C062:Rohertrag/Jahr;" &_
"C136:Seite;" &_
"C239:Skontokonto (nicht steuerpflichtig);" &_
"C238:Skontokonto (steuerpflichtig);" &_
"C061:Sperrbetrag;" &_
"C059:Sperrtext;" &_
"C147:Sprache;" &_
"C097:Staat;" &_
"C261:Status;" &_
"C005:Steuerkennz.;" &_
"C067:Steuerleiste;" &_
"C006:Steuerzeile;" &_
"C050:Straße;" &_
"C082:Straße 2;" &_
"C068:Summenrabatt;" &_
"C120:Teilliefersperre;" &_
"C019:Telefon;" &_
"C150:Textkennzeichen;" &_
"C125:TIN Type;" &_
"C179:Titel;" &_
"C259:Titel nachfolgend;" &_
"C118:Tour;" &_
"C257:UID-Nummer (Subkonto);" &_
"C060:Umsatz/Jahr;" &_
"C065:Vertreter;" &_
"C191:Vertretervorlage;" &_
"C177:Vorjahreskonto;" &_
"C180:Vorname;" &_
"C058:Warnbetrag;" &_
"C063:Warntext;" &_
"C157:Wunschstapel;" &_
"C128:WWW-Adresse;" &_
"C183:XML-Export;" &_
"C263:XML-Export Angebot;" &_
"C264:XML-Export Auftrag;" &_
"C265:XML-Export Lieferschein;" &_
"C266:XML-Exportvorlage Angebot;" &_
"C267:XML-Exportvorlage Auftrag;" &_
"C269:XML-Exportvorlage Faktura;" &_
"C268:XML-Exportvorlage Lieferschein;" &_
"C073:Zahlungskennzeichen;" &_
"C107:Zahlungskondition FAKT;" &_
"C100:Zahlungskondition FIBU;" &_
"C156:Zahlungsmitteilung laufende Nr.;" &_
"C234:Zahlungssammelkonto;" &_
"C053:zu Handen;" &_
"C201:Zusatzfeld 1;" &_
"C202:Zusatzfeld 2;" &_
"C203:Zusatzfeld 3;" &_
"C204:Zusatzfeld 4;" &_
"C205:Zusatzfeld 5;" &_
"C206:Zusatzfeld 6;" &_
"C207:Zusatzfeld 7;" &_
"C208:Zusatzfeld 8;" &_
"C209:Zusatzfeld 9;" &_
"C210:Zusatzfeld 10;" &_
"C211:Zusatzfeld 11;" &_
"C212:Zusatzfeld 12;" &_
"C213:Zusatzfeld 13;" &_
"C214:Zusatzfeld 14;" &_
"C215:Zusatzfeld 15;" &_
"C216:Zusatzfeld 16;" &_
"C217:Zusatzfeld 17;" &_
"C218:Zusatzfeld 18;" &_
"C219:Zusatzfeld 19;" &_
"C220:Zusatzfeld 20;" &_
"C221:Zusatzfeld 21;" &_
"C222:Zusatzfeld 22;" &_
"C223:Zusatzfeld 23;" &_
"C224:Zusatzfeld 24;" &_
"C225:Zusatzfeld 25;" &_
"C226:Zusatzfeld 26;" &_
"C227:Zusatzfeld 27;" &_
"C228:Zusatzfeld 28;" &_
"C229:Zusatzfeld 29;" &_
"C230:Zusatzfeld 30;" &_
"C127:Zusatzfelder;" &_
"C159:Zusatzleiste;"
SetDuplicateChecker_ComboBoxControls = AccountComparisonField
Else
SetDuplicateChecker_ComboBoxControls = "<ERROR>"
End if
End Function

View File

@@ -0,0 +1,587 @@
' SetDuplicateChecker_TableContent
' ----------------------------------------------------------------------------
' Diese Subroutine füllt eine Tabelle (Grid) mit Daten
' Parameter 1 (LEVEL) = Das aktuelle Showlevel übergeben.
' Parameter 2 (GRID) = Falls mehrere Grids auf einem Level vorkommen, kann über diesen Parameter nochmals unterscheiden werden.
'
' ----------------------------------------------------------------------------
' Copyright (c) 2021 by Digital Data GmbH
'
' Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
' Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
' ----------------------------------------------------------------------------
' Creation Date / Author: 01.11.2021 / MK
' Version Date / Editor: 01.11.2021 / MK
' Version Number: 1.0.0.0
Sub SetDuplicateChecker_TableContent(LEVEL,GRID)
If (LEVEL = 1) or (LEVEL = "1") Then
If (GRID = LEVEL1_GRID1_ID) Then
IF (LEVEL1_CMB_ProductComparisonField.contents <> Empty) and (LEVEL1_CMB_ProductComparisonField.contents <> "") and (LEVEL1_CMB_ProductComparisonField.contents <> " ") Then
LEVEL1_Grid1.Clear
LEVEL1_Grid1.InitUserGrid
LEVEL1_Grid1.Header
LEVEL1_Grid1.Refresh
SQLQuery_ProductComparison = SQLQuery_ProductComparison_Template
SQLQuery_ProductComparison = Replace(SQLQuery_ProductComparison,"%Field/Attribute%",LEVEL1_CMB_ProductComparisonField.contents)
'If Checkbox is - checked - get all Product types
IF (LEN(LEVEL1_CHK_ProductIdentAndCharge.screencontents) > 0) then
IF (LEVEL1_CHK_ProductIdentAndCharge.screencontents = 1) Then
SQLQuery_ProductComparison = Replace(SQLQuery_ProductComparison,"%TypeConstraint1%","0,1,2")
SQLQuery_ProductComparison = Replace(SQLQuery_ProductComparison,"%TypeConstraint2%","0,1,2,4")
Else
SQLQuery_ProductComparison = Replace(SQLQuery_ProductComparison,"%TypeConstraint1%","0")
SQLQuery_ProductComparison = Replace(SQLQuery_ProductComparison,"%TypeConstraint2%","2")
End if
Else
SQLQuery_ProductComparison = Replace(SQLQuery_ProductComparison,"%TypeConstraint1%","0")
SQLQuery_ProductComparison = Replace(SQLQuery_ProductComparison,"%TypeConstraint2%","2")
End if
'Remove linebreaks (final)
SQLQuery_ProductComparison=Replace(SQLQuery_ProductComparison,vbCr,"")
SQLQuery_ProductComparison=Replace(SQLQuery_ProductComparison,vbLf,"")
'Start query for left grid
Set SQLResult_ProductComparison = Conn.Select(SQLQuery_ProductComparison)
If (SQLResult_ProductComparison.RowCount) > 0 Then
LEVEL1_Grid1.IsRedraw = False
LEVEL1_GRID1_GUID = 0
LoopCounter = 0
'Fill left Frame / Table
If (SQLResult_ProductComparison.RowCount > 0) Then
Do
LEVEL1_GRID1_GUID = LEVEL1_GRID1_GUID+1
CWLCurrentWindow.ActiveWindow.Vars.Value(495,11) = clng(LEVEL1_GRID1_GUID)
CWLCurrentWindow.ActiveWindow.Vars.Value(495,12) = clng(SQLResult_ProductComparison.value(0))
CWLCurrentWindow.ActiveWindow.Vars.Value(495,13) = General.Convert(cstr(SQLResult_ProductComparison.value(1)),2) 'Always convert because of "Notizfelder 1 - 10"
'This construct was bulid to even compare rtf fields
'Preserve in redim is important to save old data
LoopCounter = LoopCounter + 1
ReDim Preserve ProductComparison(ubound(ProductComparison)+1)
ProductComparison(LoopCounter) = SQLResult_ProductComparison.value(1)
'Replace inverted comma and line breaks
ProductComparison(LoopCounter) = Replace(ProductComparison(LoopCounter),"'","")
ProductComparison(LoopCounter) = Replace(ProductComparison(LoopCounter),vbCr,"")
ProductComparison(LoopCounter) = Replace(ProductComparison(LoopCounter),vbLf,"")
If (DEBUG_ON = True) Or (DebugMode = "Enabled") Then
msgbox ProductComparison(LoopCounter),vbInformation, DEBUG_TITLE & " - LoopCounter: " & LoopCounter
End if
LEVEL1_Grid1.AddLine()
'Trick it, because rowcount wont work
If (SQLResult_ProductComparison.NextRecord = False) Then
Exit Do
End If
Loop
End If
'Show count down below the table
IF (LEVEL1_Grid1.LineCount = 1) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,10) = (Cstr(LEVEL1_Grid1.LineCount) & " Duplikatsgruppe gefunden")
Else
CWLCurrentWindow.ActiveWindow.Vars.Value(495,10) = (Cstr(LEVEL1_Grid1.LineCount) & " Duplikatsgruppen gefunden")
End if
LEVEL1_GRID1.SetFooterColumn LEVEL1_GRID1_COLUMN_FIELD_OR_ATTRIBUTE,"T21,Z10,L30,H10,Zeilenzähler","l","V",0,495,10,true
LEVEL1_GRID1.Footer
LEVEL1_Grid1.IsRedraw = True
'Set focus for the fist call, so ribbon buttons will work well (eg. NEW)
MacroCommands.MSetFieldFocus MAIN_WINDOW_ID,LEVEL1_GRID1_ID
Else
LEVEL1_Grid1.IsRedraw = False
LEVEL1_Grid1.Clear
LEVEL1_Grid1.InitUserGrid
LEVEL1_Grid1.Header
CWLCurrentWindow.ActiveWindow.Vars.Value(495,10) = "Keine Duplikate gefunden"
LEVEL1_GRID1.SetFooterColumn LEVEL1_GRID1_COLUMN_FIELD_OR_ATTRIBUTE,"T21,Z10,L30,H10,Zeilenzähler","l","V",0,495,10,true
LEVEL1_GRID1.Footer
LEVEL1_Grid1.IsRedraw = True
End If
Else
LEVEL1_Grid1.IsRedraw = False
LEVEL1_Grid1.Clear
LEVEL1_Grid1.InitUserGrid
LEVEL1_Grid1.Header
CWLCurrentWindow.ActiveWindow.Vars.Value(495,10) = "Keine Duplikate gefunden"
LEVEL1_GRID1.SetFooterColumn LEVEL1_GRID1_COLUMN_FIELD_OR_ATTRIBUTE,"T21,Z10,L30,H10,Zeilenzähler","l","V",0,495,10,true
LEVEL1_GRID1.Footer
LEVEL1_Grid1.IsRedraw = True
End If
'------------------------------------------------------------------------------------------------------------------------------------------------------------------
ElseIf (GRID = LEVEL1_GRID2_ID) Then
LEVEL1_Grid2.Clear
LEVEL1_Grid2.InitUserGrid
LEVEL1_Grid2.Header
LEVEL1_Grid2.Refresh
SQLQuery_ProductInfo = SQLQuery_ProductInfo_Template
SQLQuery_ProductInfo = Replace(SQLQuery_ProductInfo,"%Field/Attribute%",LEVEL1_CMB_ProductComparisonField.contents)
SQLQuery_ProductInfo = Replace(SQLQuery_ProductInfo,"%Fieldvalue/Attributevalue%",ProductComparison(LEVEL1_GRID1_CURRENT_GUID))
If (DEBUG_ON = True) Or (DebugMode = "Enabled") Then
MsgBox ProductComparison(LEVEL1_GRID1_CURRENT_GUID),vbInformation,DEBUG_TITLE & " - ROW: " & LEVEL1_GRID1_CURRENT_GUID
End if
'If Checkbox is - checked - get all Product types
IF (LEN(LEVEL1_CHK_ProductIdentAndCharge.screencontents) > 0) then
IF (LEVEL1_CHK_ProductIdentAndCharge.screencontents = 1) Then
SQLQuery_ProductInfo = Replace(SQLQuery_ProductInfo,"%TypeConstraint1%","0,1,2")
SQLQuery_ProductInfo = Replace(SQLQuery_ProductInfo,"%TypeConstraint2%","0,1,2,4")
Else
SQLQuery_ProductInfo = Replace(SQLQuery_ProductInfo,"%TypeConstraint1%","0")
SQLQuery_ProductInfo = Replace(SQLQuery_ProductInfo,"%TypeConstraint2%","2")
End if
Else
SQLQuery_ProductInfo = Replace(SQLQuery_ProductInfo,"%TypeConstraint1%","0")
SQLQuery_ProductInfo = Replace(SQLQuery_ProductInfo,"%TypeConstraint2%","2")
End if
SQLQuery_ProductInfo=Replace(SQLQuery_ProductInfo,vbCr,"")
SQLQuery_ProductInfo=Replace(SQLQuery_ProductInfo,vbLf,"")
If (DEBUG_ON = True) Or (DebugMode = "Enabled") Then
MsgBox SQLQuery_ProductInfo,vbInformation,DEBUG_TITLE & " - " & SQLQuery_ProductInfo
End if
'Start query for right grid
Set SQLResult_ProductInfo = Conn.Select(SQLQuery_ProductInfo)
If (SQLResult_ProductInfo.RowCount) > 0 Then
LEVEL1_Grid2.IsRedraw = False
'Fill left Frame / Table
If (SQLResult_ProductInfo.RowCount > 0) Then
Do
'Inactive / Active flag
If (LEN(SQLResult_ProductInfo.value(45)) > 0) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,21) = 0
Else
CWLCurrentWindow.ActiveWindow.Vars.Value(495,21) = 1
End if
'--------------------------------------------------------
ChargeIdentflag = (SQLResult_ProductInfo.value(42)) 'Charge-/Identflag c025 in v021
ShapeTypeFlag = (SQLResult_ProductInfo.value(39)) 'Ausprägungsflag c014 in v021
'Determ type of product. Ident, main, charge or shape of it
''Haupartikel mit Ausprägung (mit Chargennummern)
If (ChargeIdentflag = 0) and (ShapeTypeFlag = 1) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,22) = 1 'Hauptartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,23) = 1 'Ausprägungsartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,24) = 0 'Identartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,25) = 1 'Chargenartikelflag
''Ausprägung mit Chargennummer
ElseIf (ChargeIdentflag = 0) and (ShapeTypeFlag = 2) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,22) = 0 'Hauptartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,23) = 1 'Ausprägungsartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,24) = 0 'Identartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,25) = 1 'Chargenartikelflag
''Haupartikel mit Ausprägung (mit Identnummer)
ElseIf (ChargeIdentflag = 1) and (ShapeTypeFlag = 1) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,22) = 1 'Hauptartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,23) = 1 'Ausprägungsartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,24) = 1 'Identartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,25) = 0 'Chargenartikelflag
''Ausprägung mit Identnummer
ElseIf (ChargeIdentflag = 1) and (ShapeTypeFlag = 2) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,22) = 0 'Hauptartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,23) = 1 'Ausprägungsartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,24) = 1 'Identartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,25) = 0 'Chargenartikelflag
''Haupartikel ohne Ausprägung
ElseIf (ChargeIdentflag = 2) and (ShapeTypeFlag = 0) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,22) = 1 'Hauptartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,23) = 0 'Ausprägungsartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,24) = 0 'Identartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,25) = 0 'Chargenartikelflag
''Haupartikel mit Ausprägung (ohne Chargenverwaltung)
ElseIf (ChargeIdentflag = 2) and (ShapeTypeFlag = 1) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,22) = 1 'Hauptartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,23) = 1 'Ausprägungsartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,24) = 0 'Identartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,25) = 0 'Chargenartikelflag
''Ausprägung (ohne Chargenverwaltung)
ElseIf (ChargeIdentflag = 2) and (ShapeTypeFlag = 2) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,22) = 0 'Hauptartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,23) = 1 'Ausprägungsartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,24) = 0 'Identartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,25) = 0 'Chargenartikelflag
''unknown / not used!
ElseIf (ChargeIdentflag = 3) Then
''Haupartikel mit Ausprägung (mit FIFO)
ElseIf (ChargeIdentflag = 4) and (ShapeTypeFlag = 1) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,22) = 1 'Hauptartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,23) = 1 'Ausprägungsartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,24) = 0 'Identartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,25) = 0 'Chargenartikelflag
''Ausprägung (mit FIFO)
ElseIf (ChargeIdentflag = 4) and (ShapeTypeFlag = 2) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,22) = 0 'Hauptartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,23) = 1 'Ausprägungsartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,24) = 0 'Identartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,25) = 0 'Chargenartikelflag
''Should not happen...
Else
CWLCurrentWindow.ActiveWindow.Vars.Value(495,22) = 0 'Hauptartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,23) = 0 'Ausprägungsartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,24) = 0 'Identartikelflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,25) = 0 'Chargenartikelflag
End if
'--------------------------------------------------------
CWLCurrentWindow.ActiveWindow.Vars.Value(495,26) = (cstr(SQLResult_ProductInfo.value(38))) 'Hauptartikelnummer
CWLCurrentWindow.ActiveWindow.Vars.Value(495,27) = (cstr(SQLResult_ProductInfo.value(36))) 'Artikelnummer
CWLCurrentWindow.ActiveWindow.Vars.Value(495,28) = (cstr(SQLResult_ProductInfo.value(37))) 'Artikelbezeichnung
LEVEL1_Grid2.AddLine()
'Trick it, because rowcount wont work
If (SQLResult_ProductInfo.NextRecord = False) Then
Exit Do
End If
Loop
End If
'Show count down below the table
IF (LEVEL1_Grid2.LineCount = 1) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,20) = (Cstr(LEVEL1_Grid2.LineCount) & " Artikel wird angezeigt")
Else
CWLCurrentWindow.ActiveWindow.Vars.Value(495,20) = (Cstr(LEVEL1_Grid2.LineCount) & " Artikel werden angezeigt")
End if
LEVEL1_Grid2.SetFooterColumn LEVEL1_GRID2_COLUMN_PRODUCT_DESCRIPTION,"T21,Z10,L30,H10,Zeilenzähler","l","V",0,495,20,true
LEVEL1_Grid2.Footer
LEVEL1_Grid2.IsRedraw = True
'Set DrilDown to Line 0, to set it for the column
'50 = Personenkonten, 21 = Artikel
LEVEL1_Grid2.SetDrillDown 0, LEVEL1_GRID2_COLUMN_MAIN_PRODUCT_NUMBER, 21
LEVEL1_Grid2.SetDrillDown 0, LEVEL1_GRID2_COLUMN_PRODUCT_NUMBER, 21
Else
LEVEL1_Grid2.IsRedraw = False
LEVEL1_Grid2.Clear
LEVEL1_Grid2.InitUserGrid
LEVEL1_Grid2.Header
CWLCurrentWindow.ActiveWindow.Vars.Value(495,20) = "Keine Artikel gefunden"
LEVEL1_Grid2.SetFooterColumn LEVEL1_GRID2_COLUMN_PRODUCT_DESCRIPTION,"T21,Z10,L30,H10,Zeilenzähler","l","V",0,495,20,true
LEVEL1_Grid2.Footer
LEVEL1_Grid2.IsRedraw = True
End If
End If
'------------------------------------------------------------------------------------------------------------------------------------------------------------------
ElseIf (LEVEL = 2) or (LEVEL = "2") Then
If (GRID = LEVEL2_Grid1_ID) Then
IF (LEVEL2_CMB_AccountComparisonField.contents <> Empty) and (LEVEL2_CMB_AccountComparisonField.contents <> "") and (LEVEL2_CMB_AccountComparisonField.contents <> " ") Then
LEVEL2_Grid1.Clear
LEVEL2_Grid1.InitUserGrid
LEVEL2_Grid1.Header
LEVEL2_Grid1.Refresh
SQLQuery_AccountComparison = SQLQuery_AccountComparison_Template
SQLQuery_AccountComparison = Replace(SQLQuery_AccountComparison,"%Field/Attribute%",LEVEL2_CMB_AccountComparisonField.contents)
'If Checkbox is - checked - get all Product types
IF (LEN(LEVEL2_CHK_AccountNotOnlyCustomers.ScreenContents) > 0) then
IF (LEVEL2_CHK_AccountNotOnlyCustomers.ScreenContents = 1) Then
SQLQuery_AccountComparison = Replace(SQLQuery_AccountComparison,"%TypeConstraint%","2,3,4,5")
Else
SQLQuery_AccountComparison = Replace(SQLQuery_AccountComparison,"%TypeConstraint%","2")
End if
Else
SQLQuery_AccountComparison = Replace(SQLQuery_AccountComparison,"%TypeConstraint%","2")
End if
'Remove linebreaks
SQLResult_AccountComparison=Replace(SQLResult_AccountComparison,vbCr,"")
SQLResult_AccountComparison=Replace(SQLResult_AccountComparison,vbLf,"")
'Start query for left grid
Set SQLResult_AccountComparison = Conn.Select(SQLQuery_AccountComparison)
If (SQLResult_AccountComparison.RowCount) > 0 Then
LEVEL2_Grid1.IsRedraw = False
LEVEL2_GRID1_GUID = 0
LoopCounter = 0
'Fill left Frame / Table
If (SQLResult_AccountComparison.RowCount > 0) Then
Do
LEVEL2_GRID1_GUID = LEVEL2_GRID1_GUID+1
CWLCurrentWindow.ActiveWindow.Vars.Value(495,41) = clng(LEVEL2_GRID1_GUID)
CWLCurrentWindow.ActiveWindow.Vars.Value(495,42) = clng(SQLResult_AccountComparison.value(0))
CWLCurrentWindow.ActiveWindow.Vars.Value(495,43) = General.Convert(cstr(SQLResult_AccountComparison.value(1)),2)
'This construct was bulid to even compare rtf fields
'Preserve in redim is important to save old data
LoopCounter = LoopCounter + 1
ReDim Preserve AccountComparison(ubound(AccountComparison)+1)
AccountComparison(LoopCounter) = SQLResult_AccountComparison.value(1)
'Replace inverted comma and line breaks
AccountComparison(LoopCounter) = Replace(AccountComparison(LoopCounter),"'","")
AccountComparison(LoopCounter) = Replace(AccountComparison(LoopCounter),vbCr,"")
AccountComparison(LoopCounter) = Replace(AccountComparison(LoopCounter),vbLf,"")
If (DEBUG_ON = True) Or (DebugMode = "Enabled") Then
msgbox AccountComparison(LoopCounter),vbInformation, DEBUG_TITLE & " - LoopCounter: " & LoopCounter
End if
LEVEL2_Grid1.AddLine()
'Trick it, because rowcount wont work
If (SQLResult_AccountComparison.NextRecord = False) Then
Exit Do
End If
Loop
End If
'Show count down below the table
IF (LEVEL2_Grid1.LineCount = 1) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,40) = (Cstr(LEVEL2_Grid1.LineCount) & " Duplikatsgruppe gefunden")
Else
CWLCurrentWindow.ActiveWindow.Vars.Value(495,40) = (Cstr(LEVEL2_Grid1.LineCount) & " Duplikatsgruppen gefunden")
End if
LEVEL2_GRID1.SetFooterColumn LEVEL2_GRID1_COLUMN_FIELD_OR_ATTRIBUTE,"T21,Z10,L30,H10,Zeilenzähler","l","V",0,495,40,true
LEVEL2_GRID1.Footer
LEVEL2_Grid1.IsRedraw = True
'Set focus for the fist call, so ribbon buttons will work well (eg. NEW)
MacroCommands.MSetFieldFocus MAIN_WINDOW_ID,LEVEL2_Grid1_ID
Else
LEVEL2_Grid1.IsRedraw = False
LEVEL2_Grid1.Clear
LEVEL2_Grid1.InitUserGrid
LEVEL2_Grid1.Header
CWLCurrentWindow.ActiveWindow.Vars.Value(495,40) = "Keine Duplikate gefunden"
LEVEL2_GRID1.SetFooterColumn LEVEL2_GRID1_COLUMN_FIELD_OR_ATTRIBUTE,"T21,Z10,L30,H10,Zeilenzähler","l","V",0,495,40,true
LEVEL2_GRID1.Footer
LEVEL2_Grid1.IsRedraw = True
End if
Else
LEVEL2_Grid1.IsRedraw = False
LEVEL2_Grid1.Clear
LEVEL2_Grid1.InitUserGrid
LEVEL2_Grid1.Header
CWLCurrentWindow.ActiveWindow.Vars.Value(495,40) = "Keine Duplikate gefunden"
LEVEL2_GRID1.SetFooterColumn LEVEL2_GRID1_COLUMN_FIELD_OR_ATTRIBUTE,"T21,Z10,L30,H10,Zeilenzähler","l","V",0,495,40,true
LEVEL2_GRID1.Footer
LEVEL2_Grid1.IsRedraw = True
End If
'------------------------------------------------------------------------------------------------------------------------------------------------------------------
ElseIf (GRID = LEVEL2_Grid2_ID) Then
LEVEL2_Grid2.Clear
LEVEL2_Grid2.InitUserGrid
LEVEL2_Grid2.Header
LEVEL2_Grid2.Refresh
SQLQuery_AccountInfo = SQLQuery_AccountInfo_Template
SQLQuery_AccountInfo = Replace(SQLQuery_AccountInfo,"%Field/Attribute%",LEVEL2_CMB_AccountComparisonField.contents)
SQLQuery_AccountInfo = Replace(SQLQuery_AccountInfo,"%Fieldvalue/Attributevalue%",AccountComparison(LEVEL2_GRID1_CURRENT_GUID))
If (DEBUG_ON = True) Or (DebugMode = "Enabled") Then
MsgBox AccountComparison(LEVEL2_GRID1_CURRENT_GUID),vbInformation,DEBUG_TITLE & " - ROW: " & LEVEL2_GRID1_CURRENT_GUID
End if
'If Checkbox is - checked - get all Product types
IF (LEN(LEVEL2_CHK_AccountNotOnlyCustomers.screencontents) > 0) then
IF (LEVEL2_CHK_AccountNotOnlyCustomers.screencontents = 1) Then
SQLQuery_AccountInfo = Replace(SQLQuery_AccountInfo,"%TypeConstraint%","2,3,4,5")
Else
SQLQuery_AccountInfo = Replace(SQLQuery_AccountInfo,"%TypeConstraint%","2")
End if
Else
SQLQuery_AccountInfo = Replace(SQLQuery_AccountInfo,"%TypeConstraint%","2")
End if
SQLQuery_AccountInfo=Replace(SQLQuery_AccountInfo,vbCr,"")
SQLQuery_AccountInfo=Replace(SQLQuery_AccountInfo,vbLf,"")
If (DEBUG_ON = True) Or (DebugMode = "Enabled") Then
MsgBox SQLQuery_AccountInfo,vbInformation,DEBUG_TITLE & " - " & SQLQuery_AccountInfo
End if
'Start query for right grid
Set SQLResult_AccountInfo = Conn.Select(SQLQuery_AccountInfo)
If (SQLResult_AccountInfo.RowCount) > 0 Then
LEVEL2_Grid2.IsRedraw = False
'Fill left Frame / Table
If (SQLResult_AccountInfo.RowCount > 0) Then
Do
'Inactive / Active flag
If (LEN(SQLResult_AccountInfo.value(52)) > 0) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,51) = 0
Else
CWLCurrentWindow.ActiveWindow.Vars.Value(495,51) = 1
End if
'--------------------------------------------------------
AccountFlag = cint(SQLResult_AccountInfo.value(3)) 'Charge-/Identflag c025 in v021
'Determ type of account
''Kundenkonto
If (AccountFlag = 2) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,52) = 1 'Kundeflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,53) = 0 'Lieferantflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,54) = 0 'Kunde (Interessent) flag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,55) = 0 'Lieferant (Interessent) flag
''Lieferant
ElseIf (AccountFlag = 3) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,52) = 0 'Kundeflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,53) = 1 'Lieferantflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,54) = 0 'Kunde (Interessent) flag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,55) = 0 'Lieferant (Interessent) flag
''Kunde (Interessent)
ElseIf (AccountFlag = 4) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,52) = 0 'Kundeflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,53) = 0 'Lieferantflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,54) = 1 'Kunde (Interessent) flag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,55) = 0 'Lieferant (Interessent) flag
''Lieferant (Interessent)
ElseIf (AccountFlag = 5) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,52) = 0 'Kundeflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,53) = 0 'Lieferantflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,54) = 0 'Kunde (Interessent) flag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,55) = 1 'Lieferant (Interessent) flag
''Should not happen...
Else
CWLCurrentWindow.ActiveWindow.Vars.Value(495,52) = 0 'Kundeflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,53) = 0 'Lieferantflag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,54) = 0 'Kunde (Interessent) flag
CWLCurrentWindow.ActiveWindow.Vars.Value(495,55) = 0 'Lieferant (Interessent) flag
End if
'--------------------------------------------------------
CWLCurrentWindow.ActiveWindow.Vars.Value(495,56) = (cstr(SQLResult_AccountInfo.value(49))) 'FAKT Kontonummer
CWLCurrentWindow.ActiveWindow.Vars.Value(495,57) = (cstr(SQLResult_AccountInfo.value(50))) 'FIBU Kontonummer
CWLCurrentWindow.ActiveWindow.Vars.Value(495,58) = (cstr(SQLResult_AccountInfo.value(1))) 'Kontonummer
CWLCurrentWindow.ActiveWindow.Vars.Value(495,59) = (cstr(SQLResult_AccountInfo.value(2))) 'Kontobeschreibung
LEVEL2_Grid2.AddLine()
'Trick it, because rowcount wont work
If (SQLResult_AccountInfo.NextRecord = False) Then
Exit Do
End If
Loop
End If
'Show count down below the table
IF (LEVEL2_Grid2.LineCount = 1) Then
CWLCurrentWindow.ActiveWindow.Vars.Value(495,50) = (Cstr(LEVEL2_Grid2.LineCount) & " Konto wird angezeigt")
Else
CWLCurrentWindow.ActiveWindow.Vars.Value(495,50) = (Cstr(LEVEL2_Grid2.LineCount) & " Konten werden angezeigt")
End if
LEVEL2_Grid2.SetFooterColumn LEVEL2_GRID2_COLUMN_ACCOUNT_DESCRIPTION,"T21,Z10,L30,H10,Zeilenzähler","l","V",0,495,50,true
LEVEL2_Grid2.Footer
LEVEL2_Grid2.IsRedraw = True
'Set DrilDown to Line 0, to set it for the column
'50 = Personenkonten, 21 = Artikel
LEVEL2_Grid2.SetDrillDown 0, LEVEL2_GRID2_COLUMN_FAKTSUBACCOUNTNR, 50
LEVEL2_Grid2.SetDrillDown 0, LEVEL2_GRID2_COLUMN_FIBUSUBACCOUNTNR, 50
LEVEL2_Grid2.SetDrillDown 0, LEVEL2_GRID2_COLUMN_ACCOUNT_NUMBER, 50
Else
LEVEL2_Grid2.IsRedraw = False
LEVEL2_Grid2.Clear
LEVEL2_Grid2.InitUserGrid
LEVEL2_Grid2.Header
CWLCurrentWindow.ActiveWindow.Vars.Value(495,50) = "Keine Konten gefunden"
LEVEL2_Grid2.SetFooterColumn LEVEL2_GRID2_COLUMN_ACCOUNT_DESCRIPTION,"T21,Z10,L30,H10,Zeilenzähler","l","V",0,495,50,true
LEVEL2_Grid2.Footer
LEVEL2_Grid2.IsRedraw = True
End If
End If
End if
End Sub

View File

@@ -0,0 +1,129 @@
' SetDuplicateChecker_TableLayout
' ----------------------------------------------------------------------------
' Diese Subroutine bereitet das Layout / die Spalten einer Tabelle (Grid) vor.
' Parameter 1 (LEVEL) = Das aktuelle Showlevel übergeben.
' Parameter 2 (GRID) = Falls mehrere Grids auf einem Level vorkommen, kann über diesen Parameter nochmals unterscheiden werden.
'
' ----------------------------------------------------------------------------
' Copyright (c) 2021 by Digital Data GmbH
'
' Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
' Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
' ----------------------------------------------------------------------------
' Creation Date / Author: 01.11.2021 / MK
' Version Date / Editor: 01.11.2021 / MK
' Version Number: 1.0.0.0
Sub SetDuplicateChecker_TableLayout(LEVEL,GRID,LAYOUT)
If (LEVEL = 1) or (LEVEL = "1") Then
If (GRID = LEVEL1_GRID1_ID) Then
LEVEL1_GRID1_COLUMN_GUID = LEVEL1_Grid1.AddColumn("GUID", "T23,GUID", "1","V",0,495,11,0, SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL1_GRID1_COLUMN_COUNT = LEVEL1_Grid1.AddColumn("Anzahl", "T23,Anzahl", "1","V",0,495,12,6, SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL1_GRID1_COLUMN_FIELD_OR_ATTRIBUTE = LEVEL1_Grid1.AddColumn("Duplizierter Wert", "T21,Duplizierter Wert", "1","V",0,495,13,29,SORTFLAG+scrtflag+sizeflag+hideflag)
'Set Footer in col of LEVEL1_GRID1_COLUMN_FIELD_OR_ATTRIBUTE
LEVEL1_GRID1.SetFooterColumn LEVEL1_GRID1_COLUMN_FIELD_OR_ATTRIBUTE,"<Zeilenzähler>","l","V",0,495,10
ElseIf (GRID = LEVEL1_GRID2_ID) Then
IF (LAYOUT = "Initial") Then
LEVEL1_GRID2_COLUMN_ACTIVE = LEVEL1_Grid2.AddColumn("Aktiv", "T17,Aktiv", "l","V",0,495,21, 5,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL1_GRID2_COLUMN_MAIN_PRODUCT = LEVEL1_Grid2.AddColumn("Hauptartikel", "T17,Hauptartikel", "l","V",0,495,22, 0,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL1_GRID2_COLUMN_SHAPE_PRODUCT = LEVEL1_Grid2.AddColumn("Ausprägungsartikel", "T17,Ausprägungsartikel", "l","V",0,495,23, 0,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL1_GRID2_COLUMN_IDENT_PRODUCT = LEVEL1_Grid2.AddColumn("Identartikel", "T17,Identartikel", "l","V",0,495,24, 0,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL1_GRID2_COLUMN_CHARGE_PRODUCT = LEVEL1_Grid2.AddColumn("Chargenartikel", "T17,Chargenartikel", "l","V",0,495,25, 0,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL1_GRID2_COLUMN_MAIN_PRODUCT_NUMBER = LEVEL1_Grid2.AddColumn("Hauptartikelnummer", "T21,Hauptartikelnummer", "1","V",0,495,26, 0,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL1_GRID2_COLUMN_PRODUCT_NUMBER = LEVEL1_Grid2.AddColumn("Artikelnummer", "T21,Artikelnummer", "1","V",0,495,27,15,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL1_GRID2_COLUMN_PRODUCT_DESCRIPTION = LEVEL1_Grid2.AddColumn("Artikelbezeichnung", "T21,Beschreibung", "1","V",0,495,28,80,SORTFLAG+scrtflag+sizeflag+hideflag)
ElseIf (LAYOUT = "Extended") Then
LEVEL1_Grid2.SetColumnWidth LEVEL1_GRID2_COLUMN_MAIN_PRODUCT, 5
LEVEL1_Grid2.SetColumnWidth LEVEL1_GRID2_COLUMN_SHAPE_PRODUCT, 5
LEVEL1_Grid2.SetColumnWidth LEVEL1_GRID2_COLUMN_IDENT_PRODUCT, 5
LEVEL1_Grid2.SetColumnWidth LEVEL1_GRID2_COLUMN_CHARGE_PRODUCT, 5
LEVEL1_Grid2.SetColumnWidth LEVEL1_GRID2_COLUMN_MAIN_PRODUCT_NUMBER, 15
LEVEL1_Grid2.SetColumnWidth LEVEL1_GRID2_COLUMN_PRODUCT_DESCRIPTION, 45
LEVEL1_GRID2_Layout = "Small"
ElseIf (LAYOUT = "Small") Then
LEVEL1_Grid2.SetColumnWidth LEVEL1_GRID2_COLUMN_MAIN_PRODUCT, 0
LEVEL1_Grid2.SetColumnWidth LEVEL1_GRID2_COLUMN_SHAPE_PRODUCT, 0
LEVEL1_Grid2.SetColumnWidth LEVEL1_GRID2_COLUMN_IDENT_PRODUCT, 0
LEVEL1_Grid2.SetColumnWidth LEVEL1_GRID2_COLUMN_CHARGE_PRODUCT, 0
LEVEL1_Grid2.SetColumnWidth LEVEL1_GRID2_COLUMN_MAIN_PRODUCT_NUMBER, 0
LEVEL1_Grid2.SetColumnWidth LEVEL1_GRID2_COLUMN_PRODUCT_DESCRIPTION, 80
LEVEL1_GRID2_Layout = "Extended"
End IF
'Set Footer in col of LEVEL1_GRID2_COLUMN_PRODUCT_DESCRIPTION
LEVEL1_Grid2.SetFooterColumn LEVEL1_GRID2_COLUMN_PRODUCT_DESCRIPTION,"<Zeilenzähler>","l","V",0,495,20
End If
'------------------------------------------------------------------------------------------------------------------------------------------------------------------
ElseIf (LEVEL = 2) or (LEVEL = "2") Then
If (GRID = LEVEL2_GRID1_ID) Then
LEVEL2_GRID1_COLUMN_GUID = LEVEL2_Grid1.AddColumn("GUID", "T23,GUID", "1","V",0,495,41,0,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL2_GRID1_COLUMN_COUNT = LEVEL2_Grid1.AddColumn("Anzahl", "T23,Anzahl", "1","V",0,495,42,6,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL2_GRID1_COLUMN_FIELD_OR_ATTRIBUTE = LEVEL2_Grid1.AddColumn("Duplizierter Wert", "T21,Duplizierter Wert", "1","V",0,495,43,29,SORTFLAG+scrtflag+sizeflag+hideflag)
'Set Footer in col of LEVEL2_GRID1_COLUMN_FIELD_OR_ATTRIBUTE
LEVEL2_GRID1.SetFooterColumn LEVEL2_GRID1_COLUMN_FIELD_OR_ATTRIBUTE,"<Zeilenzähler>","l","V",0,495,40
ElseIf (GRID = LEVEL2_GRID2_ID) Then
IF (LAYOUT = "Initial") Then
LEVEL2_GRID2_COLUMN_ACTIVE = LEVEL2_Grid2.AddColumn("Aktiv", "T17,Aktiv", "l","V",0,495,51, 5,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL2_GRID2_COLUMN_CUSTOMER = LEVEL2_Grid2.AddColumn("Kunde", "T17,Kunde", "l","V",0,495,52, 0,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL2_GRID2_COLUMN_VENDOR = LEVEL2_Grid2.AddColumn("Lieferant", "T17,Lieferant", "l","V",0,495,53, 0,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL2_GRID2_COLUMN_ADVICE_CUSTOMER = LEVEL2_Grid2.AddColumn("Kunde (Interessent)", "T17,Kunde (Interessent)", "l","V",0,495,54, 0,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL2_GRID2_COLUMN_ADVICE_VENDOR = LEVEL2_Grid2.AddColumn("Lieferant (Interessent)", "T17,Lieferant (Interessent)", "l","V",0,495,55, 0,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL2_GRID2_COLUMN_FAKTSUBACCOUNTNR = LEVEL2_Grid2.AddColumn("FAKT Kontonummer", "T21,FAKT Kontonummer", "1","V",0,495,56,15,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL2_GRID2_COLUMN_FIBUSUBACCOUNTNR = LEVEL2_Grid2.AddColumn("FIBU Kontonummer", "T21,FIBU Kontonummer", "1","V",0,495,57,15,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL2_GRID2_COLUMN_ACCOUNT_NUMBER = LEVEL2_Grid2.AddColumn("Kontonummer", "T21,Kontonummer", "1","V",0,495,58,15,SORTFLAG+scrtflag+sizeflag+hideflag)
LEVEL2_GRID2_COLUMN_ACCOUNT_DESCRIPTION = LEVEL2_Grid2.AddColumn("Kontobeschreibung", "T21,Kontobeschreibung", "1","V",0,495,59,50,SORTFLAG+scrtflag+sizeflag+hideflag)
ElseIf (LAYOUT = "Extended") Then
LEVEL2_Grid2.SetColumnWidth LEVEL2_GRID2_COLUMN_CUSTOMER, 5
LEVEL2_Grid2.SetColumnWidth LEVEL2_GRID2_COLUMN_VENDOR, 5
LEVEL2_Grid2.SetColumnWidth LEVEL2_GRID2_COLUMN_ADVICE_CUSTOMER, 5
LEVEL2_Grid2.SetColumnWidth LEVEL2_GRID2_COLUMN_ADVICE_VENDOR, 5
LEVEL2_Grid2.SetColumnWidth LEVEL2_GRID2_COLUMN_ACCOUNT_DESCRIPTION, 30
LEVEL2_GRID2_Layout = "Small"
ElseIf (LAYOUT = "Small") Then
LEVEL2_Grid2.SetColumnWidth LEVEL2_GRID2_COLUMN_CUSTOMER, 0
LEVEL2_Grid2.SetColumnWidth LEVEL2_GRID2_COLUMN_VENDOR, 0
LEVEL2_Grid2.SetColumnWidth LEVEL2_GRID2_COLUMN_ADVICE_CUSTOMER, 0
LEVEL2_Grid2.SetColumnWidth LEVEL2_GRID2_COLUMN_ADVICE_VENDOR, 0
LEVEL2_Grid2.SetColumnWidth LEVEL2_GRID2_COLUMN_ACCOUNT_DESCRIPTION, 50
LEVEL2_GRID2_Layout = "Extended"
End IF
'Set Footer in col of LEVEL2_GRID2_COLUMN_ACCOUNT_DESCRIPTION
LEVEL2_Grid2.SetFooterColumn LEVEL2_GRID2_COLUMN_ACCOUNT_DESCRIPTION,"<Zeilenzähler>","l","V",0,495,50
End If
End if
End Sub

View File

@@ -0,0 +1,40 @@
' ShowDuplicateChecker_Level
' ----------------------------------------------------------------------------
' Diese Subroutine aktiviert unterschiedliche Showlevel.
' Parameter 1 (LEVEL) = Das zu setzende Showlevel übergeben.
'
' ----------------------------------------------------------------------------
' Copyright (c) 2021 by Digital Data GmbH
'
' Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
' Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
' ----------------------------------------------------------------------------
' Creation Date / Author: 01.11.2021 / MK
' Version Date / Editor: 01.11.2021 / MK
' Version Number: 1.0.0.0
Sub ShowDuplicateChecker_Level(LEVEL)
If (LEVEL = 1) or (LEVEL = "1") Then
CWLCurrentWindow.ActiveWindow.SetShowLevel 1,1,True
CWLCurrentWindow.ActiveWindow.SetShowLevel 2,2,False
CURRENT_LEVEL = 1
'Set focus, so ribbon buttons will work well (eg. NEW)
'MacroCommands.MSetFieldFocus MAIN_WINDOW_ID,LEVEL1_GRID1_ID
ElseIf (LEVEL = 2) or (LEVEL = "2") Then
CWLCurrentWindow.ActiveWindow.SetShowLevel 2,2,True
CWLCurrentWindow.ActiveWindow.SetShowLevel 1,1,False
CURRENT_LEVEL = 2
'Set focus, so ribbon buttons will work well (eg. NEW)
'MacroCommands.MSetFieldFocus MAIN_WINDOW_ID,LEVEL2_GRID1_ID
End if
End Sub

View File

@@ -0,0 +1,139 @@
' SwitchDuplicateChecker_TableContent
' ----------------------------------------------------------------------------
' Diese Subroutine läd Daten beim Zeilenwechel im Grid und zeigt diese ggf. an.
' Parameter 1 (LEVEL) = Das aktuelle Showlevel übergeben.
' Parameter 2 (GRID) = Falls mehrere Grids auf einem Level vorkommen, kann über diesen Parameter nochmals unterscheiden werden.
' Parameter 3 (UPDATE) = Falls vor dem Wechsel eine Prüfung auf geänderte Daten durchgeführt werden soll.
'
' ----------------------------------------------------------------------------
' Copyright (c) 2021 by Digital Data GmbH
'
' Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
' Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
' ----------------------------------------------------------------------------
' Creation Date / Author: 01.11.2021 / MK
' Version Date / Editor: 01.11.2021 / MK
' Version Number: 1.0.0.0
Sub SwitchDuplicateChecker_TableContent(LEVEL,GRID,UPDATE)
'Set global var to prevent focus change -> "rumflackern"
PREVENT_FOCUS_CHANGE = True
If (LEVEL = 1) or (LEVEL = "1") Then
If (GRID = LEVEL1_GRID1_ID) Then
LEVEL1_GRID1.GetCurrentCell CURRENT_ROW, CURRENT_COLUMN
LEVEL1_GRID1SelectedLines = LEVEL1_GRID1.SelectedLines
If isarray (LEVEL1_GRID1SelectedLines) Then
If Ubound(LEVEL1_GRID1SelectedLines) = 0 Then
LEVEL1_GRID1_CURRENT_ROW = LEVEL1_GRID1SelectedLines(0)
LEVEL1_GRID1_CURRENT_GUID = LEVEL1_GRID1.GetCellValue(CURRENT_ROW,LEVEL1_GRID1_COLUMN_GUID)
LEVEL1_GRID1_CURRENT_COUNT = LEVEL1_GRID1.GetCellValue(CURRENT_ROW,LEVEL1_GRID1_COLUMN_COUNT)
LEVEL1_GRID1_CURRENT_FIELD_OR_ATTRIBUTE = LEVEL1_GRID1.GetCellValue(CURRENT_ROW,LEVEL1_GRID1_COLUMN_FIELD_OR_ATTRIBUTE)
If (DEBUG_ON = True) Or (DebugMode = "Enabled") Then
msgbox "CURRENT_ROW: " & LEVEL1_GRID1_CURRENT_ROW & vbCrlf & _
"CURRENT_COUNT: " & LEVEL1_GRID1_CURRENT_COUNT & vbCrlf & _
"CURRENT_FIELD_OR_ATTRIBUTE: " & LEVEL1_GRID1_CURRENT_FIELD_OR_ATTRIBUTE & vbCrlf & _
"",vbOkayonly+vbInformation, DEBUG_TITLE & "SwitchDuplicateChecker_TableContent"
End If
If (LEVEL1_GRID1_CURRENT_COUNT > 0) Then
'Okay then fill right grid
SetDuplicateChecker_TableContent CURRENT_LEVEL,LEVEL1_GRID2_ID
End If
Else
'Important in this case, to set these vars to 0 at first
LEVEL1_GRID1_CURRENT_ROW = 0
LEVEL1_GRID1_CURRENT_COUNT = 0
LEVEL1_GRID1_CURRENT_FIELD_OR_ATTRIBUTE = 0
'Clear child grid
LEVEL1_Grid2.IsRedraw = False
LEVEL1_Grid2.Clear
LEVEL1_Grid2.InitUserGrid
LEVEL1_Grid2.Header
CWLCurrentWindow.ActiveWindow.Vars.Value(495,20) = ""
LEVEL1_Grid2.SetFooterColumn LEVEL1_GRID2_COLUMN_PRODUCT_DESCRIPTION,"T21,Z10,L30,H10,Zeilenzähler","l","V",0,495,20,true
LEVEL1_Grid2.Footer
LEVEL1_Grid2.IsRedraw = True
End If
End If
End If
'--------------------------------------------------------------------------------------------------------------------------------------------
ElseIf (LEVEL = 2) or (LEVEL = "2") Then
If (GRID = LEVEL2_GRID1_ID) Then
LEVEL2_GRID1.GetCurrentCell CURRENT_ROW, CURRENT_COLUMN
LEVEL2_GRID1SelectedLines = LEVEL2_GRID1.SelectedLines
If isarray (LEVEL2_GRID1SelectedLines) Then
If Ubound(LEVEL2_GRID1SelectedLines) = 0 Then
LEVEL2_GRID1_CURRENT_ROW = LEVEL2_GRID1SelectedLines(0)
LEVEL2_GRID1_CURRENT_GUID = LEVEL2_GRID1.GetCellValue(CURRENT_ROW,LEVEL1_GRID1_COLUMN_GUID)
LEVEL2_GRID1_CURRENT_COUNT = LEVEL2_GRID1.GetCellValue(CURRENT_ROW,LEVEL2_GRID1_COLUMN_COUNT)
LEVEL2_GRID1_CURRENT_FIELD_OR_ATTRIBUTE = LEVEL2_GRID1.GetCellValue(CURRENT_ROW,LEVEL2_GRID1_COLUMN_FIELD_OR_ATTRIBUTE)
If (DEBUG_ON = True) Or (DebugMode = "Enabled") Then
msgbox "CURRENT_ROW: " & LEVEL2_GRID1_CURRENT_ROW & vbCrlf & _
"CURRENT_COUNT: " & LEVEL2_GRID1_CURRENT_COUNT & vbCrlf & _
"CURRENT_FIELD_OR_ATTRIBUTE: " & LEVEL2_GRID1_CURRENT_FIELD_OR_ATTRIBUTE & vbCrlf & _
"",vbOkayonly+vbInformation, DEBUG_TITLE & "SwitchDuplicateChecker_TableContent"
End If
If (LEVEL2_GRID1_CURRENT_COUNT > 0) Then
'Okay then fill right grid
SetDuplicateChecker_TableContent CURRENT_LEVEL,LEVEL2_GRID2_ID
End If
Else
'Important in this case, to set these vars to 0 at first
LEVEL2_GRID1_CURRENT_ROW = 0
LEVEL2_GRID1_CURRENT_COUNT = 0
LEVEL2_GRID1_CURRENT_FIELD_OR_ATTRIBUTE = 0
'Clear child grid
LEVEL2_Grid2.IsRedraw = False
LEVEL2_Grid2.Clear
LEVEL2_Grid2.InitUserGrid
LEVEL2_Grid2.Header
CWLCurrentWindow.ActiveWindow.Vars.Value(495,50) = ""
LEVEL2_Grid2.SetFooterColumn LEVEL2_GRID2_COLUMN_ACCOUNT_DESCRIPTION,"T21,Z10,L30,H10,Zeilenzähler","l","V",0,495,50,true
LEVEL2_Grid2.Footer
LEVEL2_Grid2.IsRedraw = True
End If
End If
End If
End if
PREVENT_FOCUS_CHANGE = False
End Sub