REFLEX in Zahlen: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
(Interessante Zahlen zu REFLEX)
(FunFacts - Interessante Zahlen zu REFLEX)
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Interessante Zahlen zu REFLEX ==
+
== FunFacts - Interessante Zahlen zu REFLEX ==
  
 
{| class="wikitable" style="text-align: left;width: 80%;background-color: white;"
 
{| class="wikitable" style="text-align: left;width: 80%;background-color: white;"
Zeile 7: Zeile 7:
  
 
|- valign="top" halign="center"
 
|- valign="top" halign="center"
|[[File:Plus_blau_24.bmp|center]]
+
|[[File:RxInteressantes_01MillZeilen.png|center]]
 
|style="text-align:right;"|<big>'''2,5 Millionen Zeilen'''</big>
 
|style="text-align:right;"|<big>'''2,5 Millionen Zeilen'''</big>
 
|Quellcode bilden [[REFLEX]]! Dazu kommen noch ca. '''3 Millionen''' Zeilen für die Fenster-Definitionen, also die Programmbefehle, die die Optik von Fenstern und Dialogen bestimmt.
 
|Quellcode bilden [[REFLEX]]! Dazu kommen noch ca. '''3 Millionen''' Zeilen für die Fenster-Definitionen, also die Programmbefehle, die die Optik von Fenstern und Dialogen bestimmt.
 
+
[[Datei:RxInteressantes_13Code.png]]
 
|- valign="top"
 
|- valign="top"
|[[File:Plus_blau_24.bmp|center]]
+
|[[File:RxInteressantes_02Seiten.png|center]]
 
|style="text-align:right;"|<big>'''50.000 Seiten'''</big>
 
|style="text-align:right;"|<big>'''50.000 Seiten'''</big>
 
|wären das ausgedruckt!
 
|wären das ausgedruckt!
Zeile 20: Zeile 20:
  
 
|- valign="top"
 
|- valign="top"
|[[File:Plus_blau_24.bmp|center]]
+
|[[File:RxInteressantes_03StapelHoch.png|center]]
 
|style="text-align:right;"|<big>'''5,5 m hoch'''</big>
 
|style="text-align:right;"|<big>'''5,5 m hoch'''</big>
 
|wäre der ausgedruckte Stapel: Wenn ein Blatt Papier 0,1 mm dick ist, bedeutet das einen Stapel von 2.500 mm oder 2,5 m hoher Stapel.
 
|wäre der ausgedruckte Stapel: Wenn ein Blatt Papier 0,1 mm dick ist, bedeutet das einen Stapel von 2.500 mm oder 2,5 m hoher Stapel.
Zeile 29: Zeile 29:
  
 
|- valign="top"
 
|- valign="top"
|[[File:Plus_blau_24.bmp|center]]
+
|[[File:RxInteressantes_04Fenster.png|center]]
 
|style="text-align:right;"|<big>'''2.038 Fenster'''</big>
 
|style="text-align:right;"|<big>'''2.038 Fenster'''</big>
 
|und Dialoge gibt es in REFLEX!
 
|und Dialoge gibt es in REFLEX!
Zeile 39: Zeile 39:
  
 
|- valign="top"
 
|- valign="top"
|[[File:Plus_blau_24.bmp|center]]
+
|[[File:RxInteressantes_12if.png|center]]
|style="text-align:right;"|<big>'''5520 mal "if"'''</big>
+
|style="text-align:right;"|<big>'''83.523 mal "if"'''</big>
|-Befehle stehen allein in der Auftragsverwaltung.
+
|Anweisungen stehen im Source-Code.
 +
 
 +
if sSearch  > ´´ then
 +
if FrmMain.bMandantenTransfer then
 +
if (Key=VK_ESCAPE) then
 +
if DatVon > DatBis then
  
 
|- valign="top"
 
|- valign="top"
|[[File:Plus_blau_24.bmp|center]]
+
|[[File:RxInteressantes_12if.png|center]]
 +
|style="text-align:right;"|<big>'''5.520 mal "if"'''</big>
 +
|Anweisungen stehen allein in der Auftragsverwaltung.
 +
 
 +
|- valign="top"
 +
|[[File:RxInteressantes_05Bezeichnungen.png|center]]
 
|style="text-align:right;"|<big>'''55.628 Bezeichnungen'''</big>
 
|style="text-align:right;"|<big>'''55.628 Bezeichnungen'''</big>
 
|werden in REFLEX in den Eingabemasken verwendet, also z.B. "Auftr.Nr.:"
 
|werden in REFLEX in den Eingabemasken verwendet, also z.B. "Auftr.Nr.:"
Zeile 50: Zeile 60:
  
 
|- valign="top"
 
|- valign="top"
|[[File:Plus_blau_24.bmp|center]]
+
|[[File:RxInteressantes_06Einstellungen.png|center]]
 
|style="text-align:right;"|<big>'''350 Einstellungen'''</big>
 
|style="text-align:right;"|<big>'''350 Einstellungen'''</big>
 
|gibt es in den Programm-Parametern (Stand Anfang 2021), mit denen das Programm an die Anforderungen der Firmen angepasst werden kann.  
 
|gibt es in den Programm-Parametern (Stand Anfang 2021), mit denen das Programm an die Anforderungen der Firmen angepasst werden kann.  
  
 
;Beispiele:
 
;Beispiele:
* Nummernkreise für Auftrags-, Rechnungs, Inventarnummern usw. Verschiedene Auftrags- Rechnungsnummernkreise einrichten
+
 
* Ordner-Strukturen für Dokumente
+
* Module
* Dokumente verstecken für Benutzer/innen mit NUR-LESEN-Recht
+
: Festlegungen für die Fahrzeug-Dispo oder den JobKalender
* Signaturen und Texte für automatische Mails und Erinnerungen
+
: Online-Entfernungsmessung benutzen (Entfernung übers Internet messen, falls nicht in Entfernungstabelle enthalten)
* Festlegungen für die Fahrzeug-Dispo oder den JobKalender
+
: Heimat-Adresse für die Routen-Berechnung festlegen
* Termin-Qualifikationen, -Arten und -Gruppen
+
 
* Bei Freigabe einer Bestellung ein E-Mail senden
+
*Nummern
* Drucken verbieten, wenn kein Memo-Text im Auftrag vorhanden ist
+
: '''Nummernkreise''' für Auftrags-, Rechnungs, Inventarnummern usw. Verschiedene Auftrags- Rechnungsnummernkreise einrichten
* Behandlung von Unterdeckungen in der Auftragsverwaltung: Ignorieren, Anzeigen, Reaktion verlangen
+
: '''Artikelnummern''' vom Programm automatisch fortlaufend, numerisch vergeben, oder anhand Artikel-Gruppen, oder gar nicht
* Im Dispo-Check den virtuellen Bestand aus Fertigungsaufträgen berücksichtigen
+
 
* Im Dispo-Check auch Miet-Verkaufs-Aufträge berücksichtigen
+
*Dokumente
* In der Dispo der Transport-Logistik vergangen Aufträge berücksichtigen
+
: '''Ordner-Strukturen''' für Dokumente
* Angebote beim DispoCheck berücksichtigen
+
: Dokumente '''verstecken''' für Benutzer/innen mit NUR-LESEN-Recht
* Bei vollständiger Ausgabe Erinnerung an Bearbeiter, dass Rechnung geschrieben werden kann
+
 
* Online-Entfernungsmessung benutzen (Entfernung übers Internet messen, falls nicht in Entfernungstabelle enthalten)
+
*Automatische E-Mails und Erinnerungen
* Heimat-Adresse für die Routen-Berechnung festlegen
+
: '''Signaturen und Texte''' für automatische Mails und Erinnerungen
* Auftrags-Absage-Begründungen
+
: Bei '''Freigabe einer Bestellung''' ein E-Mail senden
* Einstellungen für die Elektronische (digitale) Signatur per SignaturePads
+
: Bei '''vollständiger Ausgabe''' Erinnerung an Bearbeiter, dass Rechnung geschrieben werden kann
* Bei Erfassen einer Eingangsrechnung Erinnerung an Auftragsbearbeiter erzeugen
+
: Bei '''Erfassen einer Eingangsrechnung''' Erinnerung an Auftragsbearbeiter erzeugen
* Auto-EMail an Auftragsbearbeiter, wenn Packliste nicht gedruckt werden konnte, weil offene Rechnungen da sind
+
: Auto-EMail an Auftragsbearbeiter, wenn Packliste '''nicht gedruckt''' werden konnte, weil offene Rechnungen da sind
* Festlegen, dass verspätete Erinnerungen für Personen einer <b>bestimmten Gruppe</b> an eine <b>andere Person</b> weitergeleitet werden, wenn diese nicht innerhalb einer gewissen Zeit <b>bestätigt</b> wurden
+
: '''E-Mail-Adressen''' für Mails an das '''Lager''', den '''Vertrieb''' usw.
* Anzahl Tage für das AutoAuftrag-Kulanz-System
+
: E-Mail-Adresse für die '''Bestell-Kontrolle/Freigabe'''
* Auftrag: Mengeneingabe auf Artikel-Verpackungseinheit aufrunden
+
: EMail-Adresse für Benachrichtigung bei '''Mindestbestand''' einer bestimmten OBERGRUPPE
* Bei der Lager-Ausgabe das Feld "Verladen" oder "Kontrolliert" oder "Aus Lager genommen" als Pflichtfeld festlegen
+
 
* Mindest-Fracht-Betrag festlegen, Kein Fracht ab Netto-Auftragswert
+
*Termine
* Zonen für Einsatzgebiete
+
:'''Termin-Qualifikationen''', -'''Arten''' und -'''Gruppen'''
* Fremdmenge in Auftrag aus Bestellung übernehmen
+
 
* Kreditlimit berechnen, Auftrag "AUFT" drucken/mailen ggf. verhindern
+
*Auftragsverwaltung
* Auch ungeprüfte Kontakte können "AUFT" erhalten
+
: '''Drucken verbieten''', wenn kein Memo-Text im Auftrag vorhanden ist
* Automatisch Garantiedatum bei Lieferschein-Druck einsetzen
+
: Behandlung von '''Unterdeckungen''' in der Auftragsverwaltung: Ignorieren, Anzeigen, Reaktion verlangen
* Zubehörartikel im Auftrag zu einer Position zusammenfassen
+
: Im '''Dispo-Check''' den '''virtuellen Bestand''' aus Fertigungsaufträgen berücksichtigen
* Artikelstamm, Eingabe EK-Preis Abweichung (in Prozent) überwachen
+
: Im '''Dispo-Check''' auch '''Miet-Verkaufs-Aufträge''' berücksichtigen
* Bei Miet-Aufträgen Termin-Zwang! (Zumindest ein Termin muss angelegt werden)
+
: '''Angebote''' beim DispoCheck berücksichtigen?
* Transport-Genehmigung Zeitraum
+
: Auftrags-Absage-'''Begründungen'''
* Dispo-Prüfung mit Vergangenheit
+
: Mengeneingabe auf Artikel-Verpackungseinheit '''aufrunden'''
* Zeiterfassung auch für andere Personen zulassen
+
: Aufträge "In Bearbeitung" für andere Bearbeiter '''sperren'''
* Aufträge "In Bearbeitung" für andere Bearbeiter sperren
+
: '''Zeitraum für die Miet-Berechnung''' aus dem Dispo-Zeitraum oder VA-Zeitraum
* Eingabe der UStID-Nummer überwachen (EU)
+
: '''Kreditlimit''' berechnen, Auftrag "AUFT" drucken/mailen ggf. verhindern
* Eingabe Kundennummer: Datev-Kontenrahmen verwenden
+
: Auch '''ungeprüfte''' Kontakte können "AUFT" erhalten
* Standard-Artikel für Fertigungsstückliste
+
: '''Mindest-Fracht-Betrag''' festlegen, Kein Fracht ab Netto-Auftragswert
* Standard-Rabatt aus Lieferantenstamm in Bestellung verwenden
+
: '''Zubehörartikel''' im Auftrag zu einer Position '''zusammenfassen'''
* Artikelnummern vom Programm automatisch fortlaufend, numerisch vergeben, oder anhand Artikel-Gruppen, oder gar nicht
+
: Bei Miet-Aufträgen '''Termin-Zwang'''! (Zumindest ein Termin muss angelegt werden)
* Artikel-Kostenstelle zum Pflichtfeld machen
+
: Automatische Mail an das Lager beim '''Ändern eines Auftrags-Status''' auf AUFTR
* Artikel-Eigentümer zum Pflichtfeld machen, Eigentümer-Auswahlliste für Artikel
+
: Automatische Mail an den Auftragsbearbeiter*in beim '''Ändern eines Auftrags''', bei der '''Lagerausgabe''' usw.
* Digitale Dokumentenarchivierung (z.B. ELO) verwenden
+
: Auto-E-Mail bei Statuts AUFTR für Filialen im '''MultiLager'''
* Anpassungen an ein DMS
+
: Bei '''Änderungen von Liefer-/Rückholdaten''' eines '''fixierten''' Auftrags ein E-Mail an das Lager/die Logistik senden
* Selbstkosten-Berechnung eines Artikels im Auftrag (Mietauftrag), Berechnungstage, Dispo- oder VA-Daten
+
: '''Änderung Auftragsstatus''' ANG --> AUFT oder AUFT --> STO Mail an die Personal-Disposition senden
* Projektleiter im Auftragskopf zum Pflichtfeld machen
+
: Bei '''Ändern des Auftrags-Status''' von ANG auf AUFTR für spezielle Kunden ein E-Mail senden
* Auftrag: Artikel-Verpackungseinheit mit Reservemenge füllen/aufrunden
+
: '''Selbstkosten-Berechnung''' eines Artikels im Auftrag (Mietauftrag), Berechnungstage, Dispo- oder VA-Daten
* Faktura: Warnung bei Druck einer Rechnung mit Positionen ohne Betrag
+
: '''Projektleiter''' im Auftragskopf zum '''Pflichtfeld''' machen
* Verhalten bei Zubehör-Ausgabe
+
: '''Artikel-Verpackungseinheit''' mit '''Reservemenge''' füllen/aufrunden
* Behandlung von verkauften Artikeln
+
: Bei Arbeitszeitartikeln im Auftrag eine '''Zeitraum-Angabe''' zulassen
* Schweizer Rundung auf 5 Rp. verwenden
+
: '''Fremdleistungsblatt''' (Fremdmengen werden vom Programm beim Dispo-Check erzeugt) oder '''Auftragsbestellungen''' verwenden?
* Bei Arbeitszeitartikeln im Auftrag eine Zeitraumangabe zulassen
+
 
* Fremdleistungsblatt (Fremdmengen werden vom Programm beim Dispo-Check erzeugt) oder Auftragsbestellungen verwenden
+
*Dispo
* E-Mail-Adressen für Mails an das Lager, den Vertrieb usw.
+
: In der Dispo der Transport-Logistik '''vergangene Aufträge berücksichtigen'''
* E-Mail-Adresse für die Bestell-Kontrolle/Freigabe
+
: Dispo-Prüfung '''mit Vergangenheit'''
* EMail-Adresse für Benachrichtigung bei Mindestbestand einer bestimmten OBERGRUPPE
+
 
* Automatische Mail an das Lager beim Ändern eines Auftrags-Status auf AUFTR
+
*Artikel-Stammdaten
* Automatische Mail an den Auftragsbearbeiter*in beim Ändern eines Auftrags, bei der Lagerausgabe usw.
+
: '''Artikel-Kostenstelle''' zum Pflichtfeld machen
* Auto-E-Mail bei Statuts AUFTR für Filialen im MultiLager
+
: '''Artikel-Eigentümer''' zum Pflichtfeld machen, Eigentümer-Auswahlliste für Artikel
* Bei Änderungen von Liefer-/Rückholdaten eines fixierten Auftrags ein E-Mail an das Lager/die Logistik senden
+
: '''Standard-Artikel''' für Fertigungsstückliste
* Änderung Auftragsstatus ANG --> AUFT oder AUFT --> STO Mail an die Personal-Disposition senden
+
: Artikelstamm, '''Eingabe EK-Preis''' Abweichung (in Prozent) überwachen
* Bei Ändern des Auftrags-Status von ANG auf AUFTR für spezielle Kunden ein E-Mail senden
+
: '''Kunden-/Artikelpreise''' verwenden?
* MultiLager-System aktivieren
+
 
* Standard-Sprache (D/E/F/I...) festlegen
+
*Kontakt-Stammdaten
* Zeitraum für die Miet-Berechnung aus dem Dispo-Zeitraum oder VA-Zeitraum
+
: Eingabe Kundennummer: '''Datev-Kontenrahmen''' verwenden
* Kunden-/Artikelpreise verwenden?
+
: Eingabe der '''UStID-Nummer überwachen''' (EU)
 +
 
 +
* Bestellungen
 +
: '''Standard-Rabatt''' aus Lieferantenstamm in Bestellung verwenden
 +
: '''Fremdmenge''' in Auftrag aus Bestellung übernehmen
 +
 
 +
* Lager
 +
: Bei der Lager-Ausgabe das Feld "Verladen" oder "Kontrolliert" oder "Aus Lager genommen" als '''Pflichtfeld''' festlegen
 +
: Automatisch '''Garantiedatum''' bei Lieferschein-Druck einsetzen
 +
: Verhalten bei '''Zubehör-Ausgabe'''
 +
: Behandlung von '''verkauften''' Artikeln
 +
: '''MultiLager'''-System aktivieren
 +
 
 +
* Faktura
 +
: Warnung bei Druck einer Rechnung mit Positionen '''ohne Betrag'''
 +
: '''Schweizer Rundung''' auf 5 Rp. verwenden
 +
 
 +
* Sonstiges
 +
: Einstellungen für die '''Elektronische (digitale) Signatur''' per SignaturePads
 +
: Festlegen, dass '''verspätete Erinnerungen''' für Personen einer <b>bestimmten Gruppe</b> an eine <b>andere Person</b> weitergeleitet werden, wenn diese nicht innerhalb einer gewissen Zeit <b>bestätigt</b> wurden
 +
: Anzahl Tage für das '''AutoAuftrag-Kulanz-System'''
 +
: '''Zonen''' für Einsatzgebiete
 +
: Transport-'''Genehmigung''' Zeitraum
 +
: '''Zeiterfassung''' auch für andere Personen zulassen
 +
: '''Digitale Dokumentenarchivierung''' (z.B. ELO) verwenden
 +
: Anpassungen an ein '''DMS'''
 +
: '''Standard-Sprache''' (D/E/F/I...) festlegen
  
 
u.v.a.m.
 
u.v.a.m.
  
 
|- valign="top"
 
|- valign="top"
|[[File:Plus_blau_24.bmp|center]]
+
|[[File:RxInteressantes_007KundenSpez.png|center]]
 
|style="text-align:right;"|<big>'''2.455 Stellen'''</big>
 
|style="text-align:right;"|<big>'''2.455 Stellen'''</big>
 
|im Programm sind mit Kunden-spezifische Anpassungen versehen, die das Verhalten des Programms steuern.
 
|im Programm sind mit Kunden-spezifische Anpassungen versehen, die das Verhalten des Programms steuern.
Zeile 139: Zeile 175:
  
 
|- valign="top"
 
|- valign="top"
|[[File:Plus_blau_24.bmp|center]]
+
|[[File:RxInteressantes_08Module.png|center]]
 
|style="text-align:right;"|<big>'''40 spezifische Module'''</big>
 
|style="text-align:right;"|<big>'''40 spezifische Module'''</big>
 
|mit speziellen Aufgaben gibt es in REFLEX:
 
|mit speziellen Aufgaben gibt es in REFLEX:
  
* GevitasFormPrint: Drucken, mailen, exportieren von Formularen, wie z.B. Angebot, AUftrag, Rechnung, Gutschrift, Bestellung, Werkstatt-Auftrag usw.
+
; GevitasFormPrint
* GevitasLabelPrint: Drucken von Etiketten mir barcode, QR-Code usw.
+
: Drucken, mailen, exportieren von Formularen, wie z.B. Angebot, AUftrag, Rechnung, Gutschrift, Bestellung, Werkstatt-Auftrag usw.
* GevitasListPrint: Drucken von Listen
+
; GevitasLabelPrint
* GevitasLizDir: Software-Lizenz-Directory-Management
+
: Drucken von Etiketten mir barcode, QR-Code usw.
* RxDispo: Grafische Anzeige der Artikel-Dispo
+
; GevitasListPrint
* RxAdmin: Administration von REFLEX, Benutzerverwaltung, Programm-Parameter usw.
+
: Drucken von Listen
* RxCRM: CRM-System
+
; GevitasLizDir
* RxCRMInfo: Situationsbezogenes Anzeigen von Kunden-/Auftrags-Daten
+
: Software-Lizenz-Directory-Management
* TerminManager (RxTermin) und JobKalender (JobKalender) für die Personal-/Ressourcen-Planung
+
; RxDispo
* RxFahrzeugDispo: Fahrzeug-Dispo für die Planung von Fahrzeugen, Fahrern, Transporte
+
: Grafische Anzeige der Artikel-Dispo
* Dokumenten-Manager
+
; RxAdmin
* Outlook-Synchronisation
+
: Administration von REFLEX, Benutzerverwaltung, Programm-Parameter usw.
* Inventur-Aufnahme und -Auswertung
+
; RxCRM
* InfoCenter für Auswertungen von Umsätzen, Einsätzen, Auslastungen, Statistik usw.
+
: CRM-System
* Elektronisches, digitales Signieren von Dokumenten mit Unterschriften-Pads
+
; RxCRMInfo
* Automatisches Senden von E-Mails
+
: Situationsbezogenes Anzeigen von Kunden-/Auftrags-Daten
* REFLEX-Checker (RxChecker): Datenbank-Tool
+
; TerminManager (RxTermin) und JobKalender (JobKalender)  
* GevCarnet: Erzeugen und drucken von Carnet's
+
: für die Personal-/Ressourcen-Planung
* GevitasCopyScan: Kopiert gescannte Dokumente automatisch in die Dokumenten-Ordner und erzeugt Verknüpfungen dazu in der Datenbank.
+
; RxFahrzeugDispo
* GevitasDS: Datenschutz-Tool
+
: Fahrzeug-Dispo für die Planung von Fahrzeugen, Fahrern, Transporte
* GevitasMobileBHT (GxMobileBHT): Einlesen von mobilen Barcode-/QR-Code-Scannern
+
; Dokumenten-Manager
* GevitasPicView (GxPicView): ANzeigen von Mini-Bildern für Artikel, situationsbezogen
+
: Verwalten, Verknüpfen von Dokumenten aus Dateien oder Outlook&copy;-Mails
* Reisekosten: Reisekosten-Abrechnungen erfassen und drucken
+
; RxOlSync
* REXIM: Export und Import von Buchhaltungsdaten
+
: Outlook-Synchronisation
* RxArtikelKonformErkl: Artikel-Konformitäts-Erklärungen
+
; RxInventur
* RxCopyAuftr: Übernahme- oder Zusatz-Aufträge erzeugen
+
: Inventur-Aufnahme und -Auswertung
* RxManStarter: Starter-App für das MultiMandant-System
+
; InfoCenter
* RxMultiMandant: Erzeugen und Verwalten von Transfer-Aufträgen von/zur Filiale (Mandant) zur/von Zentrale
+
: für Auswertungen von Umsätzen, Einsätzen, Auslastungen, Statistik usw.
* RxMissImp: MissionImpossible-Aufträge erzeugen
+
; Elektronisches, digitales Signieren  
* RxOrderMemo: Memos für Aufträge drucken/exportieren
+
: von Dokumenten mit Unterschriften-Pads
* RxOrderReport: Spezielle Auswertungen, bezogen auf einen Auftrag
+
; RxAutoMail
* RxStockLog: Verwaltung eines Hochregal-Lagers, Stapler-Fahrten usw. (RxStockLog, RxStockDashboard, RxStockFremdMat usw.)
+
: Automatisches Senden von E-Mails
* RxStockLogFA: App für Stapler, Werkstatt, Entladen usw.
+
; REFLEX-Checker (RxChecker)
* RxTourLog: Touren-Logistik für Transporte, Fahrzeuge, Fahrer
+
: Datenbank-Tool
* RxLangManTool: Steuern und Verwalten von Sprachdateien für die Übersetzungen der Programme in alle möglichen Sprachen
+
; GevCarnet:
* SapExImport: Export/Import von/zu SAP
+
: Erzeugen und drucken von Carnet's
* TPS: TestProtocollSystem zum Imporieren/speichern/verwalten von Prüfprotkollen verschiedensten Hersteller von Prüfsystemem
+
; GevitasCopyScan
* GevitasMapSupport: Einbinden von GoogleMaps, Ermitteln von Entfernungen
+
: Kopiert gescannte Dokumente automatisch in die Dokumenten-Ordner und erzeugt Verknüpfungen dazu in der Datenbank.
* Ms2MySQL: Konverter MS-SQL-Datenbank zu mySQL
+
; GevitasDS
* WebService: Abgleich von Dokumenten mit einer Web-Site, z.B. Artikel-Katalog-Bilder
+
: Datenschutz-Tool
 +
; GevitasMobileBHT (GxMobileBHT)
 +
: Einlesen von mobilen Barcode-/QR-Code-Scannern
 +
; GevitasPicView (GxPicView)
 +
: Anzeigen von Mini-Bildern für Artikel, situationsbezogen
 +
; Reisekosten
 +
: Reisekosten-Abrechnungen erfassen und drucken
 +
; REXIM
 +
: Export und Import von Buchhaltungsdaten
 +
; RxArtikelKonformErkl
 +
: Artikel-Konformitäts-Erklärungen
 +
; RxCopyAuftr
 +
: Übernahme- oder Zusatz-Aufträge erzeugen
 +
; RxManStarter
 +
: Starter-App für das MultiMandant-System
 +
; RxMultiMandant
 +
: Erzeugen und Verwalten von Transfer-Aufträgen von/zur Filiale (Mandant) zur/von Zentrale
 +
; RxMissImp
 +
: MissionImpossible-Aufträge erzeugen
 +
; RxOrderMemo
 +
: Memos für Aufträge drucken/exportieren
 +
; RxOrderReport
 +
: Spezielle Auswertungen, bezogen auf einen Auftrag
 +
; RxStockLog
 +
: Verwaltung eines Hochregal-Lagers, Stapler-Fahrten usw. (RxStockLog, RxStockDashboard, RxStockFremdMat usw.)
 +
; RxStockLogFA
 +
: App für Stapler, Werkstatt, Entladen usw.
 +
; RxTourLog
 +
: Touren-Logistik für Transporte, Fahrzeuge, Fahrer
 +
; RxLangManTool
 +
: Steuern und Verwalten von Sprachdateien für die Übersetzungen der Programme in alle möglichen Sprachen
 +
; SapExImport
 +
: Export/Import von/zu SAP
 +
; TPS
 +
: TestProtocollSystem zum Imporieren/speichern/verwalten von Prüfprotkollen verschiedensten Hersteller von Prüfsystemem
 +
; GevitasMapSupport
 +
: Einbinden von GoogleMaps, Ermitteln von Entfernungen
 +
; Ms2MySQL
 +
: Konverter MS-SQL-Datenbank zu mySQL
 +
; WebService
 +
: Abgleich von Dokumenten mit einer Web-Site, z.B. Artikel-Katalog-Bilder
 +
 
  
 +
|- valign="top"
 +
|[[File:RxInteressantes_08Module.png|center]]
 +
|style="text-align:right;"|<big>'''Die größte SQL-Abfrage'''</big>
 +
|ist diese:
 +
 +
select 1 as Satzart,
 +
( select count(*) from MAUFPO where AuftrNr=MAUFKO.AUFTRNR and MIAuftrDispo_ID > 0 ) as AnzMIProbLoesungen,
 +
MAUFKO.AUFTRNR,MAUFKO.STATUSNR,MAUFKO.STATUSTEXT,MAUFKO.TransportStatus,
 +
MAUFKO.TransportProjektNr, MAUFKO.TransportProjektNr_B,
 +
MAUFKO.ADRNR,MAUFKO.ADRKURZNAME, MAUFKO.ADRESSE, MAUFKO.ADRANSPR_ID_STRING,
 +
MAUFKO.LANDKENNZ,MAUFKO.PLZ,MAUFKO.ORT,MAUFKO.LAND,MAUFKO.VERANSTNAME,
 +
MAUFKO.VERANSTVONDAT as TransportDatum,MAUFKO.VERANSTVONZEIT as TransportZeit,MAUFKO.VERANSTVONTEXT as TransportText,
 +
MAUFKO.BEARBEITER,MAUFKO.DATUMVON,MAUFKO.ZEITVON,MAUFKO.DATUMBIS,MAUFKO.ZEITBIS,
 +
MAUFKO.LogistikKennz_L1, MAUFKO.LogistikKennz_L2, MAUFKO.LogistikKennz_T1, MAUFKO.LogistikKennz_T2,
 +
MAUFKO.LogistikKennzR_L1, MAUFKO.LogistikKennzR_L2, MAUFKO.LogistikKennzR_T1, MAUFKO.LogistikKennzR_T2,
 +
0 as BESTKO_KennzMieteKauf,
 +
MAUFLIAN.TransportZonen_ID,TransportZonen.Zone as Zone,
 +
MAUFLIAN.TransportKennz,
 +
MAUFLIAN.ORT as AktionsOrt,MAUFLIAN.PLZ as AktionsPlz,MAUFLIAN.LANDKENNZ as AktionsLandKennz,MAUFLIAN.STR as AktionsStr,
 +
MAUFLIAN.Adresse AktionsAdresse,
 +
MAUFLIAN.TransportKennz1,
 +
Entfernungen.EntfernungKm,
 +
(
 +
select sum( AktZuladung ) from TRAPOPROJEKTLADEEINHEIT
 +
where auftrnr = MAUFKO.AUFTRNR and MAUFKO.StatusNr <> 1
 +
) as DispoGewicht,
 +
(
 +
select sum( AktVolumen ) from TRAPOPROJEKTLADEEINHEIT
 +
where auftrnr = MAUFKO.AUFTRNR and MAUFKO.StatusNr <> 1
 +
) as DispoVolumen,
 +
(
 +
select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE + P.RESERVEMENGE  ) ) from MAUFPO P
 +
left outer join MART A on A.artnr=P.artnr
 +
where auftrnr = MAUFKO.AUFTRNR
 +
) as Gewicht,
 +
(
 +
select sum( A.BRUTTOGEWICHT * (P.AKTAUSGMENGE - P.BISHRUECKMENGE ) ) from MAUFPO P
 +
left outer join MART A on A.artnr=P.artnr
 +
where auftrnr = MAUFKO.AUFTRNR
 +
) as AusgabeGewicht,
 +
(
 +
select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE + P.RESERVEMENGE ) ) from MAUFPO P
 +
left outer join MART A on A.artnr=P.artnr
 +
where auftrnr = MAUFKO.AUFTRNR
 +
) as Volumen,
 +
(
 +
select sum( A.VERP_VOLUMEN * (P.AKTAUSGMENGE - P.BISHRUECKMENGE ) ) from MAUFPO P
 +
left outer join MART A on A.artnr=P.artnr
 +
where auftrnr = MAUFKO.AUFTRNR
 +
) as AusgabeVolumen
 +
FROM MAUFKO MAUFKO
 +
left outer join MAUFLIAN MAUFLIAN on MAUFLIAN.AUFTRNR=MAUFKO.AUFTRNR
 +
left outer join ENTFERNUNGEN Entfernungen on Entfernungen.Plz=MAUFLIAN.PLZ and Entfernungen.Ort=MAUFLIAN.ORT
 +
left outer join TRANSPORTZONEN TransportZonen on TransportZonen.ID=MAUFLIAN.TransportZonen_ID
 +
where
 +
  ( MAUFKO.AUFTRNR=900003682) or
 +
  (
 +
  (
 +
  MAUFKO.VERANSTVONDAT >= '22.07.2021'
 +
  and MAUFKO.VERANSTVONDAT <= '29.07.2021'
 +
  and MAUFKO.STATUSNR in (1,2,99)
 +
  and (MAUFKO.TransportProjektNr=0 or MAUFKO.TransportProjektNr is NULL)
 +
  and MAUFKO.VERANSTVONTEXT='Veranst. von'
 +
  and (select count(*)  from TRAPOPROJEKTLADEEINHEIT where AuftrNr=MAUFKO.AUFTRNR  and MAUFKO.STATUSTEXT='AUSG') = 0
 +
  )
 +
  or
 +
  (
 +
  MAUFLIAN.TransportKennz = 1 and MAUFKO.TransportProjektNr=0 and MAUFKO.STATUSNR in (1,2,99)
 +
  and MAUFKO.DATUMVON <= '30.07.2021'
 +
  )
 +
)
 +
union
 +
select 2 as Satzart,
 +
( select count(*) from MAUFPO where AuftrNr=MAUFKO.AUFTRNR and MIAuftrDispo_ID > 0 ) as AnzMIProbLoesungen,
 +
MAUFKO.AUFTRNR,MAUFKO.STATUSNR,MAUFKO.STATUSTEXT,MAUFKO.TransportStatus,
 +
MAUFKO.TransportProjektNr, MAUFKO.TransportProjektNr_B,
 +
MAUFKO.ADRNR,MAUFKO.ADRKURZNAME,MAUFKO.ADRESSE,MAUFKO.ADRANSPR_ID_STRING,
 +
MAUFKO.LANDKENNZ,MAUFKO.PLZ,MAUFKO.ORT,MAUFKO.LAND,MAUFKO.VERANSTNAME,
 +
MAUFKO.VERANSTBISDAT as TransportDatum,MAUFKO.VERANSTBISZEIT as TransportZeit,MAUFKO.VERANSTBISTEXT as TransportText,
 +
MAUFKO.BEARBEITER,MAUFKO.DATUMVON,MAUFKO.ZEITVON,MAUFKO.DATUMBIS,MAUFKO.ZEITBIS,
 +
MAUFKO.LogistikKennz_L1, MAUFKO.LogistikKennz_L2, MAUFKO.LogistikKennz_T1, MAUFKO.LogistikKennz_T2,
 +
MAUFKO.LogistikKennzR_L1, MAUFKO.LogistikKennzR_L2, MAUFKO.LogistikKennzR_T1, MAUFKO.LogistikKennzR_T2,
 +
0 as BESTKO_KennzMieteKauf,
 +
MAUFRUECKAN.TransportZonen_ID,TransportZonen.Zone as Zone,
 +
MAUFRUECKAN.TransportKennz,
 +
MAUFRUECKAN.ORT as AktionsOrt,MAUFRUECKAN.PLZ as AktionsPlz,MAUFRUECKAN.LANDKENNZ as AktionsLandKennz,MAUFRUECKAN.STR as AktionsStr,
 +
MAUFRUECKAN.Adresse AktionsAdresse,
 +
MAUFRUECKAN.TransportKennz1,
 +
Entfernungen.EntfernungKm,
 +
(
 +
select sum( AktZuladung_B ) from TRAPOPROJEKTLADEEINHEIT
 +
where auftrnr = MAUFKO.AUFTRNR
 +
) as DispoGewicht,
 +
(
 +
select sum( AktVolumen_B ) from TRAPOPROJEKTLADEEINHEIT
 +
where auftrnr = MAUFKO.AUFTRNR
 +
) as DispoVolumen,
 +
(
 +
select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE + P.RESERVEMENGE - P.BISHRUECKMENGE ) ) from MAUFPO P
 +
left outer join MART A on A.artnr=P.artnr
 +
where auftrnr = MAUFKO.AUFTRNR
 +
) as Gewicht,
 +
(
 +
select sum( A.BRUTTOGEWICHT * (P.AKTAUSGMENGE - P.BISHRUECKMENGE  + P.AUSGFREMDMENGE ) ) from MAUFPO P
 +
left outer join MART A on A.artnr=P.artnr
 +
where auftrnr = MAUFKO.AUFTRNR
 +
) as AusgabeGewicht,
 +
(
 +
select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE + P.RESERVEMENGE - P.BISHRUECKMENGE ) ) from MAUFPO P
 +
left outer join MART A on A.artnr=P.artnr
 +
where auftrnr = MAUFKO.AUFTRNR
 +
) as Volumen,
 +
(
 +
select sum( A.VERP_VOLUMEN * (P.AKTAUSGMENGE - P.BISHRUECKMENGE  + P.AUSGFREMDMENGE ) ) from MAUFPO P
 +
left outer join MART A on A.artnr=P.artnr
 +
where auftrnr = MAUFKO.AUFTRNR
 +
) as AusgabeVolumen
 +
FROM MAUFKO MAUFKO
 +
left outer join MAUFRUECKAN MAUFRUECKAN on MAUFRUECKAN.AUFTRNR=MAUFKO.AUFTRNR
 +
left outer join ENTFERNUNGEN Entfernungen on Entfernungen.Plz=MAUFRUECKAN.PLZ and Entfernungen.Ort=MAUFRUECKAN.ORT
 +
left outer join TRANSPORTZONEN TransportZonen on TransportZonen.ID=MAUFRUECKAN.TransportZonen_ID
 +
where
 +
  ( MAUFKO.AUFTRNR=900003682) or
 +
(
 +
  (
 +
  MAUFKO.VERANSTBISDAT >= '22.07.2021'
 +
  and MAUFKO.VERANSTBISDAT <= '29.07.2021'
 +
  and MAUFKO.STATUSNR in (1,2,99)
 +
  and (MAUFKO.TransportProjektNr_B=0 or MAUFKO.TransportProjektNr_B is NULL)
 +
  and MAUFKO.VERANSTBISTEXT='Veranst. bis'
 +
  )
 +
  or
 +
  (
 +
  MAUFRUECKAN.TransportKennz = 1 and MAUFKO.TransportProjektNr_B=0 and MAUFKO.STATUSNR in (1,2,99)
 +
  and MAUFKO.VERANSTBISDAT <= '30.07.2021'
 +
  )
 +
)
 +
union
 +
select 4 as Satzart,
 +
0 as AnzMIProbLoesungen,
 +
BESTKO.BESTNR,BESTKO.STATUSNR, BESTKO.STATUSTEXT,1 as BESTKO_TransportStatus,
 +
BESTKO.TransportProjektNr, BESTKO.TransportProjektNr_B,
 +
BESTKO.ADRNR,BESTKO.ADRKURZNAME,BESTKO.ADRESSE,'' as BESTKO_ADRANSPR_ID_STRING,
 +
BESTKO.LANDKENNZ,BESTKO.PLZ,BESTKO.ORT,BESTKO.LAND,BESTKO.ZUVERANSTNAME as BESTKO_VERANSTNAME,
 +
BESTKO.DATUMVON as TransportDatum, '' as TransportZeit,BESTKO.VERSANDTEXT as TransportText,
 +
BESTKO.BEARBEITERKURZN as BEARBEITER, BESTKO.DATUMVON,BESTKO.ZEITVON,BESTKO.DATUMBIS,BESTKO.ZEITBIS,
 +
BESTKO.LogistikKennz_L1, BESTKO.LogistikKennz_L2, BESTKO. LogistikKennz_T1, BESTKO.LogistikKennz_T2,
 +
BESTKO.LogistikKennzR_L1,BESTKO.LogistikKennzR_L2,BESTKO.LogistikKennzR_T1, BESTKO.LogistikKennzR_T2,
 +
BESTKO.KennzMieteKauf as BESTKO_KennzMieteKauf,
 +
BESTLIAN.TransportZonen_ID,TransportZonen.Zone as Zone,
 +
BESTLIAN.TransportKennz,
 +
BESTLIAN.ORT as AktionsOrt,BESTLIAN.PLZ as AktionsPlz,BESTLIAN.LANDKENNZ as AktionsLandKennz,BESTLIAN.STR as AktionsStr,
 +
BESTLIAN.Adresse AktionsAdresse,
 +
BESTLIAN.TransportKennz1,
 +
Entfernungen.EntfernungKm,
 +
(
 +
select sum( AktZuladung ) from TRAPOPROJEKTLADEEINHEIT
 +
where BestNr = BESTKO.BESTNR
 +
) as DispoGewicht,
 +
(
 +
select sum( AktVolumen ) from TRAPOPROJEKTLADEEINHEIT
 +
where BestNr = BESTKO.BESTNR
 +
) as DispoVolumen,
 +
(
 +
select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P
 +
left outer join MART A on A.artnr=P.artnr
 +
where Bestnr = BESTKO.BESTNR
 +
) as Gewicht,
 +
(
 +
select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P
 +
left outer join MART A on A.artnr=P.artnr
 +
where Bestnr = BESTKO.BESTNR
 +
) as AusgabeGewicht,
 +
(
 +
select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P
 +
left outer join MART A on A.artnr=P.artnr
 +
where Bestnr = BESTKO.BESTNR
 +
) as Volumen,
 +
(
 +
select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P
 +
left outer join MART A on A.artnr=P.artnr
 +
where Bestnr = BESTKO.BESTNR
 +
) as AusgabeVolumen
 +
FROM BESTKO BESTKO
 +
join BESTLIAN BESTLIAN on BESTLIAN.BESTNR=BESTKO.BESTNR
 +
left outer join ENTFERNUNGEN Entfernungen on Entfernungen.Plz=BESTLIAN.PLZ and Entfernungen.Ort=BESTLIAN.ORT
 +
left outer join TRANSPORTZONEN TransportZonen on TransportZonen.ID=BESTLIAN.TransportZonen_ID
 +
where BESTKO.DATUMVON >= '22.07.2021'
 +
and BESTKO.DATUMVON <= '29.07.2021'
 +
and BESTKO.STATUSNR=2
 +
and BESTKO.KENNZMIETEKAUF < 3
 +
and (BESTKO.TransportProjektNr_B=0 or BESTKO.TransportProjektNr_B is NULL)
 +
and (BESTKO.TransportDurchLieferant = 0)
 +
union
 +
select 3 as Satzart,
 +
0 as AnzMIProbLoesungen,
 +
BESTKO.BESTNR,BESTKO.STATUSNR, BESTKO.STATUSTEXT,1 as BESTKO_TransportStatus,
 +
BESTKO.TransportProjektNr, BESTKO.TransportProjektNr_B,
 +
BESTKO.ADRNR,BESTKO.ADRKURZNAME,BESTKO.ADRESSE,'' as BESTKO_ADRANSPR_ID_STRING,
 +
BESTKO.LANDKENNZ,BESTKO.PLZ,BESTKO.ORT,BESTKO.LAND,BESTKO.ZUVERANSTNAME as BESTKO_VERANSTNAME,
 +
BESTKO.DATUMBIS as TransportDatum, '' as TransportZeit,
 +
BESTKO.VERSANDTEXT as TransportText,
 +
BESTKO.BEARBEITERKURZN as BEARBEITER, BESTKO.DATUMVON,BESTKO.ZEITVON,BESTKO.DATUMBIS,BESTKO.ZEITBIS,
 +
BESTKO.LogistikKennz_L1, BESTKO.LogistikKennz_L2, BESTKO. LogistikKennz_T1, BESTKO.LogistikKennz_T2,
 +
BESTKO.LogistikKennzR_L1,BESTKO.LogistikKennzR_L2,BESTKO.LogistikKennzR_T1, BESTKO.LogistikKennzR_T2,
 +
BESTKO.KennzMieteKauf as BESTKO_KennzMieteKauf,
 +
BESTRUECKAN.TransportZonen_ID,TransportZonen.Zone as Zone,
 +
BESTRUECKAN.TransportKennz,
 +
BESTRUECKAN.ORT as AktionsOrt,BESTRUECKAN.PLZ as AktionsPlz,BESTRUECKAN.LANDKENNZ as AktionsLandKennz,BESTRUECKAN.STR as AktionsStr,
 +
BESTRUECKAN.Adresse AktionsAdresse,
 +
BESTRUECKAN.TransportKennz1,
 +
Entfernungen.EntfernungKm,
 +
(
 +
select sum( AktZuladung ) from TRAPOPROJEKTLADEEINHEIT
 +
where BestNr = BESTKO.BESTNR
 +
) as DispoGewicht,
 +
(
 +
select sum( AktVolumen ) from TRAPOPROJEKTLADEEINHEIT
 +
where BestNr = BESTKO.BESTNR
 +
) as DispoVolumen,
 +
(
 +
select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P
 +
left outer join MART A on A.artnr=P.artnr
 +
where Bestnr = BESTKO.BESTNR
 +
) as Gewicht,
 +
(
 +
select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P
 +
left outer join MART A on A.artnr=P.artnr
 +
where Bestnr = BESTKO.BESTNR
 +
) as AusgabeGewicht,
 +
(
 +
select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P
 +
left outer join MART A on A.artnr=P.artnr
 +
where Bestnr = BESTKO.BESTNR
 +
) as Volumen,
 +
(
 +
select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P
 +
left outer join MART A on A.artnr=P.artnr
 +
where Bestnr = BESTKO.BESTNR
 +
) as AusgabeVolumen
 +
FROM BESTKO BESTKO
 +
join BESTRUECKAN BESTRUECKAN on BESTRUECKAN.BESTNR=BESTKO.BESTNR
 +
left outer join ENTFERNUNGEN Entfernungen on Entfernungen.Plz=BESTRUECKAN.PLZ and Entfernungen.Ort=BESTRUECKAN.ORT
 +
left outer join TRANSPORTZONEN TransportZonen on TransportZonen.ID=BESTRUECKAN.TransportZonen_ID
 +
where BESTKO.DATUMBIS >= '22.07.2021'
 +
and BESTKO.DATUMBIS <= '29.07.2021'
 +
and BESTKO.STATUSNR=2
 +
and BESTKO.KENNZMIETEKAUF < 3
 +
and (BESTKO.TransportProjektNr=0 or BESTKO.TransportProjektNr is NULL)
 +
and (BESTKO.TransportDurchLieferantR = 0)
 +
order by TransportKennz desc, MAUFKO.VERANSTVONDAT,MAUFKO.ADRKURZNAME
 +
 
|}
 
|}

Aktuelle Version vom 18. Juli 2023, 11:55 Uhr

FunFacts - Interessante Zahlen zu REFLEX

Zahl Was
RxInteressantes 01MillZeilen.png
2,5 Millionen Zeilen Quellcode bilden REFLEX! Dazu kommen noch ca. 3 Millionen Zeilen für die Fenster-Definitionen, also die Programmbefehle, die die Optik von Fenstern und Dialogen bestimmt.

RxInteressantes 13Code.png

RxInteressantes 02Seiten.png
50.000 Seiten wären das ausgedruckt!

Auf eine DIN A4-Seite passen ca. 50 Zeilen. Bei ca. 2,5 Millionen Zeilen Code wären das dann ca. 50.000 Seiten, beidseitig bedruckt ca. 25.000 Seiten.

RxInteressantes 03StapelHoch.png
5,5 m hoch wäre der ausgedruckte Stapel: Wenn ein Blatt Papier 0,1 mm dick ist, bedeutet das einen Stapel von 2.500 mm oder 2,5 m hoher Stapel.

Bei ca. 3 Millionen Zeilen Fenster-Definitions-Beschreibungen wären das dann ca. 60.000 Seiten, beidseitig bedruckt ca. 30.000 Seiten. Wenn ein Blatt Papier 0,1 mm dick ist, bedeutet das einen Stapel von 3.000 mm oder 3 m hoher Stapel. Der ganze Quellcode ausgedruckt ergäbe also einen Papierstapel von ca. 5,5 m Höhe!

RxInteressantes 04Fenster.png
2.038 Fenster und Dialoge gibt es in REFLEX!
  • Als Fenster bezeichnen wir die Haupt-Programm-Teile wie Kontakt-Stammdaten, Auftragserfassung, Bestellungen usw.
Mehrere Fenster können gleichzeitig geöffnet sein.
  • Dialoge sind z.B. Artikel-Suche, Status-Ändern usw.
Dialoge müssen in der Regel mit OK oder Abbruch bestätigt werden, deshalb bezeichnet man diese auch als "modale Dialoge".
Der Programmablauf wird hier erst fortgesetzt, wenn man den Dialog schließt.
RxInteressantes 12if.png
83.523 mal "if" Anweisungen stehen im Source-Code.
if sSearch  > ´´ then
if FrmMain.bMandantenTransfer then
if (Key=VK_ESCAPE) then
if DatVon > DatBis then
RxInteressantes 12if.png
5.520 mal "if" Anweisungen stehen allein in der Auftragsverwaltung.
RxInteressantes 05Bezeichnungen.png
55.628 Bezeichnungen werden in REFLEX in den Eingabemasken verwendet, also z.B. "Auftr.Nr.:"

Dazu kommen noch es 4.274 Texte in Meldungen, Hilfstexten usw., also z.B. "Wollen Sie wirklich...?", "Bitte zuerst den Artikel auswählen" usw.

RxInteressantes 06Einstellungen.png
350 Einstellungen gibt es in den Programm-Parametern (Stand Anfang 2021), mit denen das Programm an die Anforderungen der Firmen angepasst werden kann.
Beispiele
  • Module
Festlegungen für die Fahrzeug-Dispo oder den JobKalender
Online-Entfernungsmessung benutzen (Entfernung übers Internet messen, falls nicht in Entfernungstabelle enthalten)
Heimat-Adresse für die Routen-Berechnung festlegen
  • Nummern
Nummernkreise für Auftrags-, Rechnungs, Inventarnummern usw. Verschiedene Auftrags- Rechnungsnummernkreise einrichten
Artikelnummern vom Programm automatisch fortlaufend, numerisch vergeben, oder anhand Artikel-Gruppen, oder gar nicht
  • Dokumente
Ordner-Strukturen für Dokumente
Dokumente verstecken für Benutzer/innen mit NUR-LESEN-Recht
  • Automatische E-Mails und Erinnerungen
Signaturen und Texte für automatische Mails und Erinnerungen
Bei Freigabe einer Bestellung ein E-Mail senden
Bei vollständiger Ausgabe Erinnerung an Bearbeiter, dass Rechnung geschrieben werden kann
Bei Erfassen einer Eingangsrechnung Erinnerung an Auftragsbearbeiter erzeugen
Auto-EMail an Auftragsbearbeiter, wenn Packliste nicht gedruckt werden konnte, weil offene Rechnungen da sind
E-Mail-Adressen für Mails an das Lager, den Vertrieb usw.
E-Mail-Adresse für die Bestell-Kontrolle/Freigabe
EMail-Adresse für Benachrichtigung bei Mindestbestand einer bestimmten OBERGRUPPE
  • Termine
Termin-Qualifikationen, -Arten und -Gruppen
  • Auftragsverwaltung
Drucken verbieten, wenn kein Memo-Text im Auftrag vorhanden ist
Behandlung von Unterdeckungen in der Auftragsverwaltung: Ignorieren, Anzeigen, Reaktion verlangen
Im Dispo-Check den virtuellen Bestand aus Fertigungsaufträgen berücksichtigen
Im Dispo-Check auch Miet-Verkaufs-Aufträge berücksichtigen
Angebote beim DispoCheck berücksichtigen?
Auftrags-Absage-Begründungen
Mengeneingabe auf Artikel-Verpackungseinheit aufrunden
Aufträge "In Bearbeitung" für andere Bearbeiter sperren
Zeitraum für die Miet-Berechnung aus dem Dispo-Zeitraum oder VA-Zeitraum
Kreditlimit berechnen, Auftrag "AUFT" drucken/mailen ggf. verhindern
Auch ungeprüfte Kontakte können "AUFT" erhalten
Mindest-Fracht-Betrag festlegen, Kein Fracht ab Netto-Auftragswert
Zubehörartikel im Auftrag zu einer Position zusammenfassen
Bei Miet-Aufträgen Termin-Zwang! (Zumindest ein Termin muss angelegt werden)
Automatische Mail an das Lager beim Ändern eines Auftrags-Status auf AUFTR
Automatische Mail an den Auftragsbearbeiter*in beim Ändern eines Auftrags, bei der Lagerausgabe usw.
Auto-E-Mail bei Statuts AUFTR für Filialen im MultiLager
Bei Änderungen von Liefer-/Rückholdaten eines fixierten Auftrags ein E-Mail an das Lager/die Logistik senden
Änderung Auftragsstatus ANG --> AUFT oder AUFT --> STO Mail an die Personal-Disposition senden
Bei Ändern des Auftrags-Status von ANG auf AUFTR für spezielle Kunden ein E-Mail senden
Selbstkosten-Berechnung eines Artikels im Auftrag (Mietauftrag), Berechnungstage, Dispo- oder VA-Daten
Projektleiter im Auftragskopf zum Pflichtfeld machen
Artikel-Verpackungseinheit mit Reservemenge füllen/aufrunden
Bei Arbeitszeitartikeln im Auftrag eine Zeitraum-Angabe zulassen
Fremdleistungsblatt (Fremdmengen werden vom Programm beim Dispo-Check erzeugt) oder Auftragsbestellungen verwenden?
  • Dispo
In der Dispo der Transport-Logistik vergangene Aufträge berücksichtigen
Dispo-Prüfung mit Vergangenheit
  • Artikel-Stammdaten
Artikel-Kostenstelle zum Pflichtfeld machen
Artikel-Eigentümer zum Pflichtfeld machen, Eigentümer-Auswahlliste für Artikel
Standard-Artikel für Fertigungsstückliste
Artikelstamm, Eingabe EK-Preis Abweichung (in Prozent) überwachen
Kunden-/Artikelpreise verwenden?
  • Kontakt-Stammdaten
Eingabe Kundennummer: Datev-Kontenrahmen verwenden
Eingabe der UStID-Nummer überwachen (EU)
  • Bestellungen
Standard-Rabatt aus Lieferantenstamm in Bestellung verwenden
Fremdmenge in Auftrag aus Bestellung übernehmen
  • Lager
Bei der Lager-Ausgabe das Feld "Verladen" oder "Kontrolliert" oder "Aus Lager genommen" als Pflichtfeld festlegen
Automatisch Garantiedatum bei Lieferschein-Druck einsetzen
Verhalten bei Zubehör-Ausgabe
Behandlung von verkauften Artikeln
MultiLager-System aktivieren
  • Faktura
Warnung bei Druck einer Rechnung mit Positionen ohne Betrag
Schweizer Rundung auf 5 Rp. verwenden
  • Sonstiges
Einstellungen für die Elektronische (digitale) Signatur per SignaturePads
Festlegen, dass verspätete Erinnerungen für Personen einer bestimmten Gruppe an eine andere Person weitergeleitet werden, wenn diese nicht innerhalb einer gewissen Zeit bestätigt wurden
Anzahl Tage für das AutoAuftrag-Kulanz-System
Zonen für Einsatzgebiete
Transport-Genehmigung Zeitraum
Zeiterfassung auch für andere Personen zulassen
Digitale Dokumentenarchivierung (z.B. ELO) verwenden
Anpassungen an ein DMS
Standard-Sprache (D/E/F/I...) festlegen

u.v.a.m.

RxInteressantes 007KundenSpez.png
2.455 Stellen im Programm sind mit Kunden-spezifische Anpassungen versehen, die das Verhalten des Programms steuern.
In der Spitzengruppe
Fa. N. aus D.
Fa. M. aus W.
Fa. L. aus M.
Fa. T. aus B.
Fa. P. aus E.
RxInteressantes 08Module.png
40 spezifische Module mit speziellen Aufgaben gibt es in REFLEX:
GevitasFormPrint
Drucken, mailen, exportieren von Formularen, wie z.B. Angebot, AUftrag, Rechnung, Gutschrift, Bestellung, Werkstatt-Auftrag usw.
GevitasLabelPrint
Drucken von Etiketten mir barcode, QR-Code usw.
GevitasListPrint
Drucken von Listen
GevitasLizDir
Software-Lizenz-Directory-Management
RxDispo
Grafische Anzeige der Artikel-Dispo
RxAdmin
Administration von REFLEX, Benutzerverwaltung, Programm-Parameter usw.
RxCRM
CRM-System
RxCRMInfo
Situationsbezogenes Anzeigen von Kunden-/Auftrags-Daten
TerminManager (RxTermin) und JobKalender (JobKalender)
für die Personal-/Ressourcen-Planung
RxFahrzeugDispo
Fahrzeug-Dispo für die Planung von Fahrzeugen, Fahrern, Transporte
Dokumenten-Manager
Verwalten, Verknüpfen von Dokumenten aus Dateien oder Outlook©-Mails
RxOlSync
Outlook-Synchronisation
RxInventur
Inventur-Aufnahme und -Auswertung
InfoCenter
für Auswertungen von Umsätzen, Einsätzen, Auslastungen, Statistik usw.
Elektronisches, digitales Signieren
von Dokumenten mit Unterschriften-Pads
RxAutoMail
Automatisches Senden von E-Mails
REFLEX-Checker (RxChecker)
Datenbank-Tool
GevCarnet
Erzeugen und drucken von Carnet's
GevitasCopyScan
Kopiert gescannte Dokumente automatisch in die Dokumenten-Ordner und erzeugt Verknüpfungen dazu in der Datenbank.
GevitasDS
Datenschutz-Tool
GevitasMobileBHT (GxMobileBHT)
Einlesen von mobilen Barcode-/QR-Code-Scannern
GevitasPicView (GxPicView)
Anzeigen von Mini-Bildern für Artikel, situationsbezogen
Reisekosten
Reisekosten-Abrechnungen erfassen und drucken
REXIM
Export und Import von Buchhaltungsdaten
RxArtikelKonformErkl
Artikel-Konformitäts-Erklärungen
RxCopyAuftr
Übernahme- oder Zusatz-Aufträge erzeugen
RxManStarter
Starter-App für das MultiMandant-System
RxMultiMandant
Erzeugen und Verwalten von Transfer-Aufträgen von/zur Filiale (Mandant) zur/von Zentrale
RxMissImp
MissionImpossible-Aufträge erzeugen
RxOrderMemo
Memos für Aufträge drucken/exportieren
RxOrderReport
Spezielle Auswertungen, bezogen auf einen Auftrag
RxStockLog
Verwaltung eines Hochregal-Lagers, Stapler-Fahrten usw. (RxStockLog, RxStockDashboard, RxStockFremdMat usw.)
RxStockLogFA
App für Stapler, Werkstatt, Entladen usw.
RxTourLog
Touren-Logistik für Transporte, Fahrzeuge, Fahrer
RxLangManTool
Steuern und Verwalten von Sprachdateien für die Übersetzungen der Programme in alle möglichen Sprachen
SapExImport
Export/Import von/zu SAP
TPS
TestProtocollSystem zum Imporieren/speichern/verwalten von Prüfprotkollen verschiedensten Hersteller von Prüfsystemem
GevitasMapSupport
Einbinden von GoogleMaps, Ermitteln von Entfernungen
Ms2MySQL
Konverter MS-SQL-Datenbank zu mySQL
WebService
Abgleich von Dokumenten mit einer Web-Site, z.B. Artikel-Katalog-Bilder


RxInteressantes 08Module.png
Die größte SQL-Abfrage ist diese:
select 1 as Satzart,
( select count(*) from MAUFPO where AuftrNr=MAUFKO.AUFTRNR and MIAuftrDispo_ID > 0 ) as AnzMIProbLoesungen,
MAUFKO.AUFTRNR,MAUFKO.STATUSNR,MAUFKO.STATUSTEXT,MAUFKO.TransportStatus,
MAUFKO.TransportProjektNr, MAUFKO.TransportProjektNr_B,
MAUFKO.ADRNR,MAUFKO.ADRKURZNAME, MAUFKO.ADRESSE, MAUFKO.ADRANSPR_ID_STRING,
MAUFKO.LANDKENNZ,MAUFKO.PLZ,MAUFKO.ORT,MAUFKO.LAND,MAUFKO.VERANSTNAME,
MAUFKO.VERANSTVONDAT as TransportDatum,MAUFKO.VERANSTVONZEIT as TransportZeit,MAUFKO.VERANSTVONTEXT as TransportText,
MAUFKO.BEARBEITER,MAUFKO.DATUMVON,MAUFKO.ZEITVON,MAUFKO.DATUMBIS,MAUFKO.ZEITBIS,
MAUFKO.LogistikKennz_L1, MAUFKO.LogistikKennz_L2, MAUFKO.LogistikKennz_T1, MAUFKO.LogistikKennz_T2,
MAUFKO.LogistikKennzR_L1, MAUFKO.LogistikKennzR_L2, MAUFKO.LogistikKennzR_T1, MAUFKO.LogistikKennzR_T2,
0 as BESTKO_KennzMieteKauf,
MAUFLIAN.TransportZonen_ID,TransportZonen.Zone as Zone,
MAUFLIAN.TransportKennz,
MAUFLIAN.ORT as AktionsOrt,MAUFLIAN.PLZ as AktionsPlz,MAUFLIAN.LANDKENNZ as AktionsLandKennz,MAUFLIAN.STR as AktionsStr,
MAUFLIAN.Adresse AktionsAdresse,
MAUFLIAN.TransportKennz1,
Entfernungen.EntfernungKm,
(
select sum( AktZuladung ) from TRAPOPROJEKTLADEEINHEIT
where auftrnr = MAUFKO.AUFTRNR and MAUFKO.StatusNr <> 1
) as DispoGewicht,
(
select sum( AktVolumen ) from TRAPOPROJEKTLADEEINHEIT
where auftrnr = MAUFKO.AUFTRNR and MAUFKO.StatusNr <> 1
) as DispoVolumen,
(
select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE + P.RESERVEMENGE  ) ) from MAUFPO P
left outer join MART A on A.artnr=P.artnr
where auftrnr = MAUFKO.AUFTRNR
) as Gewicht,
(
select sum( A.BRUTTOGEWICHT * (P.AKTAUSGMENGE - P.BISHRUECKMENGE ) ) from MAUFPO P
left outer join MART A on A.artnr=P.artnr
where auftrnr = MAUFKO.AUFTRNR
) as AusgabeGewicht,
(
select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE + P.RESERVEMENGE ) ) from MAUFPO P
left outer join MART A on A.artnr=P.artnr
where auftrnr = MAUFKO.AUFTRNR
) as Volumen,
(
select sum( A.VERP_VOLUMEN * (P.AKTAUSGMENGE - P.BISHRUECKMENGE ) ) from MAUFPO P
left outer join MART A on A.artnr=P.artnr
where auftrnr = MAUFKO.AUFTRNR
) as AusgabeVolumen
FROM MAUFKO MAUFKO
left outer join MAUFLIAN MAUFLIAN on MAUFLIAN.AUFTRNR=MAUFKO.AUFTRNR
left outer join ENTFERNUNGEN Entfernungen on Entfernungen.Plz=MAUFLIAN.PLZ and Entfernungen.Ort=MAUFLIAN.ORT
left outer join TRANSPORTZONEN TransportZonen on TransportZonen.ID=MAUFLIAN.TransportZonen_ID
where
 ( MAUFKO.AUFTRNR=900003682) or
 (
  (
 MAUFKO.VERANSTVONDAT >= '22.07.2021'
 and MAUFKO.VERANSTVONDAT <= '29.07.2021'
 and MAUFKO.STATUSNR in (1,2,99)
 and (MAUFKO.TransportProjektNr=0 or MAUFKO.TransportProjektNr is NULL)
 and MAUFKO.VERANSTVONTEXT='Veranst. von'
 and (select count(*)  from TRAPOPROJEKTLADEEINHEIT where AuftrNr=MAUFKO.AUFTRNR  and MAUFKO.STATUSTEXT='AUSG') = 0
 )
 or
 (
 MAUFLIAN.TransportKennz = 1 and MAUFKO.TransportProjektNr=0 and MAUFKO.STATUSNR in (1,2,99)
 and MAUFKO.DATUMVON <= '30.07.2021'
 )
)
union
select 2 as Satzart,
( select count(*) from MAUFPO where AuftrNr=MAUFKO.AUFTRNR and MIAuftrDispo_ID > 0 ) as AnzMIProbLoesungen,
MAUFKO.AUFTRNR,MAUFKO.STATUSNR,MAUFKO.STATUSTEXT,MAUFKO.TransportStatus,
MAUFKO.TransportProjektNr, MAUFKO.TransportProjektNr_B,
MAUFKO.ADRNR,MAUFKO.ADRKURZNAME,MAUFKO.ADRESSE,MAUFKO.ADRANSPR_ID_STRING,
MAUFKO.LANDKENNZ,MAUFKO.PLZ,MAUFKO.ORT,MAUFKO.LAND,MAUFKO.VERANSTNAME,
MAUFKO.VERANSTBISDAT as TransportDatum,MAUFKO.VERANSTBISZEIT as TransportZeit,MAUFKO.VERANSTBISTEXT as TransportText,
MAUFKO.BEARBEITER,MAUFKO.DATUMVON,MAUFKO.ZEITVON,MAUFKO.DATUMBIS,MAUFKO.ZEITBIS,
MAUFKO.LogistikKennz_L1, MAUFKO.LogistikKennz_L2, MAUFKO.LogistikKennz_T1, MAUFKO.LogistikKennz_T2,
MAUFKO.LogistikKennzR_L1, MAUFKO.LogistikKennzR_L2, MAUFKO.LogistikKennzR_T1, MAUFKO.LogistikKennzR_T2,
0 as BESTKO_KennzMieteKauf,
MAUFRUECKAN.TransportZonen_ID,TransportZonen.Zone as Zone,
MAUFRUECKAN.TransportKennz,
MAUFRUECKAN.ORT as AktionsOrt,MAUFRUECKAN.PLZ as AktionsPlz,MAUFRUECKAN.LANDKENNZ as AktionsLandKennz,MAUFRUECKAN.STR as AktionsStr,
MAUFRUECKAN.Adresse AktionsAdresse,
MAUFRUECKAN.TransportKennz1,
Entfernungen.EntfernungKm,
(
select sum( AktZuladung_B ) from TRAPOPROJEKTLADEEINHEIT
where auftrnr = MAUFKO.AUFTRNR
) as DispoGewicht,
(
select sum( AktVolumen_B ) from TRAPOPROJEKTLADEEINHEIT
where auftrnr = MAUFKO.AUFTRNR
) as DispoVolumen,
(
select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE + P.RESERVEMENGE - P.BISHRUECKMENGE ) ) from MAUFPO P
left outer join MART A on A.artnr=P.artnr
where auftrnr = MAUFKO.AUFTRNR
) as Gewicht,
(
select sum( A.BRUTTOGEWICHT * (P.AKTAUSGMENGE - P.BISHRUECKMENGE  + P.AUSGFREMDMENGE ) ) from MAUFPO P
left outer join MART A on A.artnr=P.artnr
where auftrnr = MAUFKO.AUFTRNR
) as AusgabeGewicht,
(
select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE + P.RESERVEMENGE - P.BISHRUECKMENGE ) ) from MAUFPO P
left outer join MART A on A.artnr=P.artnr
where auftrnr = MAUFKO.AUFTRNR
) as Volumen,
(
select sum( A.VERP_VOLUMEN * (P.AKTAUSGMENGE - P.BISHRUECKMENGE  + P.AUSGFREMDMENGE ) ) from MAUFPO P
left outer join MART A on A.artnr=P.artnr
where auftrnr = MAUFKO.AUFTRNR
) as AusgabeVolumen
FROM MAUFKO MAUFKO
left outer join MAUFRUECKAN MAUFRUECKAN on MAUFRUECKAN.AUFTRNR=MAUFKO.AUFTRNR
left outer join ENTFERNUNGEN Entfernungen on Entfernungen.Plz=MAUFRUECKAN.PLZ and Entfernungen.Ort=MAUFRUECKAN.ORT
left outer join TRANSPORTZONEN TransportZonen on TransportZonen.ID=MAUFRUECKAN.TransportZonen_ID
where
 ( MAUFKO.AUFTRNR=900003682) or
(
 (
 MAUFKO.VERANSTBISDAT >= '22.07.2021'
 and MAUFKO.VERANSTBISDAT <= '29.07.2021'
 and MAUFKO.STATUSNR in (1,2,99)
 and (MAUFKO.TransportProjektNr_B=0 or MAUFKO.TransportProjektNr_B is NULL)
 and MAUFKO.VERANSTBISTEXT='Veranst. bis'
 )
 or
 (
  MAUFRUECKAN.TransportKennz = 1 and MAUFKO.TransportProjektNr_B=0 and MAUFKO.STATUSNR in (1,2,99)
  and MAUFKO.VERANSTBISDAT <= '30.07.2021'
 )
)
union
select 4 as Satzart,
0 as AnzMIProbLoesungen,
BESTKO.BESTNR,BESTKO.STATUSNR, BESTKO.STATUSTEXT,1 as BESTKO_TransportStatus,
BESTKO.TransportProjektNr, BESTKO.TransportProjektNr_B,
BESTKO.ADRNR,BESTKO.ADRKURZNAME,BESTKO.ADRESSE, as BESTKO_ADRANSPR_ID_STRING,
BESTKO.LANDKENNZ,BESTKO.PLZ,BESTKO.ORT,BESTKO.LAND,BESTKO.ZUVERANSTNAME as BESTKO_VERANSTNAME,
BESTKO.DATUMVON as TransportDatum,  as TransportZeit,BESTKO.VERSANDTEXT as TransportText,
BESTKO.BEARBEITERKURZN as BEARBEITER, BESTKO.DATUMVON,BESTKO.ZEITVON,BESTKO.DATUMBIS,BESTKO.ZEITBIS,
BESTKO.LogistikKennz_L1, BESTKO.LogistikKennz_L2, BESTKO. LogistikKennz_T1, BESTKO.LogistikKennz_T2, 
BESTKO.LogistikKennzR_L1,BESTKO.LogistikKennzR_L2,BESTKO.LogistikKennzR_T1, BESTKO.LogistikKennzR_T2,
BESTKO.KennzMieteKauf as BESTKO_KennzMieteKauf,
BESTLIAN.TransportZonen_ID,TransportZonen.Zone as Zone,
BESTLIAN.TransportKennz,
BESTLIAN.ORT as AktionsOrt,BESTLIAN.PLZ as AktionsPlz,BESTLIAN.LANDKENNZ as AktionsLandKennz,BESTLIAN.STR as AktionsStr,
BESTLIAN.Adresse AktionsAdresse,
BESTLIAN.TransportKennz1,
Entfernungen.EntfernungKm,
(
select sum( AktZuladung ) from TRAPOPROJEKTLADEEINHEIT
where BestNr = BESTKO.BESTNR
) as DispoGewicht,
(
select sum( AktVolumen ) from TRAPOPROJEKTLADEEINHEIT
where BestNr = BESTKO.BESTNR
) as DispoVolumen,
(
select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P
left outer join MART A on A.artnr=P.artnr
where Bestnr = BESTKO.BESTNR
) as Gewicht,
(
select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P
left outer join MART A on A.artnr=P.artnr
where Bestnr = BESTKO.BESTNR
) as AusgabeGewicht,
(
select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P
left outer join MART A on A.artnr=P.artnr
where Bestnr = BESTKO.BESTNR
) as Volumen,
(
select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P
left outer join MART A on A.artnr=P.artnr
where Bestnr = BESTKO.BESTNR
) as AusgabeVolumen
FROM BESTKO BESTKO
join BESTLIAN BESTLIAN on BESTLIAN.BESTNR=BESTKO.BESTNR
left outer join ENTFERNUNGEN Entfernungen on Entfernungen.Plz=BESTLIAN.PLZ and Entfernungen.Ort=BESTLIAN.ORT
left outer join TRANSPORTZONEN TransportZonen on TransportZonen.ID=BESTLIAN.TransportZonen_ID
where BESTKO.DATUMVON >= '22.07.2021'
and BESTKO.DATUMVON <= '29.07.2021'
and BESTKO.STATUSNR=2
and BESTKO.KENNZMIETEKAUF < 3
and (BESTKO.TransportProjektNr_B=0 or BESTKO.TransportProjektNr_B is NULL)
and (BESTKO.TransportDurchLieferant = 0)
union
select 3 as Satzart,
0 as AnzMIProbLoesungen,
BESTKO.BESTNR,BESTKO.STATUSNR, BESTKO.STATUSTEXT,1 as BESTKO_TransportStatus,
BESTKO.TransportProjektNr, BESTKO.TransportProjektNr_B,
BESTKO.ADRNR,BESTKO.ADRKURZNAME,BESTKO.ADRESSE, as BESTKO_ADRANSPR_ID_STRING,
BESTKO.LANDKENNZ,BESTKO.PLZ,BESTKO.ORT,BESTKO.LAND,BESTKO.ZUVERANSTNAME as BESTKO_VERANSTNAME,
BESTKO.DATUMBIS as TransportDatum,  as TransportZeit,
BESTKO.VERSANDTEXT as TransportText,
BESTKO.BEARBEITERKURZN as BEARBEITER, BESTKO.DATUMVON,BESTKO.ZEITVON,BESTKO.DATUMBIS,BESTKO.ZEITBIS,
BESTKO.LogistikKennz_L1, BESTKO.LogistikKennz_L2, BESTKO. LogistikKennz_T1, BESTKO.LogistikKennz_T2, 
BESTKO.LogistikKennzR_L1,BESTKO.LogistikKennzR_L2,BESTKO.LogistikKennzR_T1, BESTKO.LogistikKennzR_T2,
BESTKO.KennzMieteKauf as BESTKO_KennzMieteKauf,
BESTRUECKAN.TransportZonen_ID,TransportZonen.Zone as Zone,
BESTRUECKAN.TransportKennz,
BESTRUECKAN.ORT as AktionsOrt,BESTRUECKAN.PLZ as AktionsPlz,BESTRUECKAN.LANDKENNZ as AktionsLandKennz,BESTRUECKAN.STR as AktionsStr,
BESTRUECKAN.Adresse AktionsAdresse,
BESTRUECKAN.TransportKennz1,
Entfernungen.EntfernungKm,
(
select sum( AktZuladung ) from TRAPOPROJEKTLADEEINHEIT
where BestNr = BESTKO.BESTNR
) as DispoGewicht,
(
select sum( AktVolumen ) from TRAPOPROJEKTLADEEINHEIT
where BestNr = BESTKO.BESTNR
) as DispoVolumen,
(
select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P
left outer join MART A on A.artnr=P.artnr
where Bestnr = BESTKO.BESTNR
) as Gewicht,
(
select sum( A.BRUTTOGEWICHT * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P
left outer join MART A on A.artnr=P.artnr
where Bestnr = BESTKO.BESTNR
) as AusgabeGewicht,
(
select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P
left outer join MART A on A.artnr=P.artnr
where Bestnr = BESTKO.BESTNR
) as Volumen,
(
select sum( A.VERP_VOLUMEN * (P.AUFTRMENGE - P.BISHLIEFERMENGE) ) from BESTPO P
left outer join MART A on A.artnr=P.artnr
where Bestnr = BESTKO.BESTNR
) as AusgabeVolumen
FROM BESTKO BESTKO
join BESTRUECKAN BESTRUECKAN on BESTRUECKAN.BESTNR=BESTKO.BESTNR
left outer join ENTFERNUNGEN Entfernungen on Entfernungen.Plz=BESTRUECKAN.PLZ and Entfernungen.Ort=BESTRUECKAN.ORT
left outer join TRANSPORTZONEN TransportZonen on TransportZonen.ID=BESTRUECKAN.TransportZonen_ID
where BESTKO.DATUMBIS >= '22.07.2021'
and BESTKO.DATUMBIS <= '29.07.2021'
and BESTKO.STATUSNR=2
and BESTKO.KENNZMIETEKAUF < 3
and (BESTKO.TransportProjektNr=0 or BESTKO.TransportProjektNr is NULL)
and (BESTKO.TransportDurchLieferantR = 0)
order by TransportKennz desc, MAUFKO.VERANSTVONDAT,MAUFKO.ADRKURZNAME