GDI Business-Line Versionsinformationen
Überblick über alle veröffentlichten Versionen ab 2023
Loading...
4.0.3
15
MAR 24
XRechnung: Anpassungen für das aktuelle Format 3.0

Ab Version 4.0.3 unterstützt die Bline beim Export von XRechnungen das Format 3.0. Hierzu wurde die Auswahlbox für das Format im Kundenstamm erweitert und die Übergabe entsprechend modifiziert. U.a. wird bei XRechnung 3.0 die Übergabe der Mailadressen von Verkäufer (BT-34) und Käufer (BT-49) als Pflichtangabe gefordert. Hierfür werden in der Bline die Mailadressen aus dem Filialstamm und aus dem Beleg herangezogen.

Story
Belegbearbeitung: Steuerung der Preisfindung bei Kundenumbuchung

Seit BLine Version 3.13.3 erscheint beim Umbuchen eines VK- Beleges auf einen anderen Kunden ein neuer Dialog (siehe die dortige Versionsinfo).
Bei gewählter Option “NEIN - Umbuchen und Preise beibehalten” waren bislang nur Positionen vor Veränderung sicher geschützt, bei denen für einen der beteiligten Kunden AdressArtikel-Preise gegeben waren. Ohne AdressArtikel-Beteiligung konnte es trotzdem zu Preis-Rabatt-Änderungen im Beleg kommen, wenn zwischenzeitlich andere Preise/Rabatte für den Artikel im Bereich der Standard-Preislisten- und Rabattdefinitionen eingepflegt wurden. Dies wurde korrigiert.

Bug
Druckdialog: Keine automatische Skontierung bei Erfassung einer Zahlung

Im Druckdialog wurde ein Button “Beleg ausgleichen” eingebaut, welcher dazu dient, bei einer Barzahlung den Zahlbetrag und den Skontobetrag automatisch zu befüllen.

Story
UPSKDNR fehlt, wenn aus einer CRM-Maske heraus ein Beleg angelegt wird

Bei einer Beleganlage aus dem CRM (Adress-Stamm) heraus oder auch per GDI-Basic-Funktion BelegADD wurde das Datenfeld UPSKdNr im Belegkopf nicht mit dem Wert aus dem Kundenstammsatz gefüllt. Dies wurde ergänzt.

Bug
Notiz in Dokumentenverwaltung bearbeiten: Änderungsbediener wird nicht gesetzt

Bei einem Vorgang wird jetzt der Änderungsbediener und das Änderungsdatum auch geschrieben, wenn man in der Dokuverwaltung bei aktivierter Detailansicht im “Detailkopf” die Notiz verändert. Bisher wurde dies nur bei einer Bearbeitung der Notiz im geöffneten Vorgang gesetzt.

Bug
Projektverwaltung: Drag&Drop von E-Mails in den Vorgangsgrid funktioniert nicht

Analog zur Übernahme in den Vorgangsgrid eines Beleges wurde jetzt die Übernahme einer E-Mail per Drag & Drop in den Vorgangsgrid des geöffneten Projektstammes ermöglicht. Dabei wird der E-Mail die Projektnummer und falls vorhanden auch die AdressID des Projektstammes zugeordnet. Eine bereits anderweitig eingelesene E-Mail kann - ebenfalls wie bisher beim Beleg - aber nicht ein zusätzliches Mal per Drag & Drop übernommen werden.

Bug
Mailversand per SMTP als Batch

Bei einem EMail-Mahnungsversand per SMTP wurden bei allen Mails eines Batches dieselbe MessageID gesetzt. Dies wurde geändert, da es zu Problemen führen kann, sofern ein Empfänger im Zuge dieses Mailversandes mehr als eine Mail erhält.

Bug
Feldlänge für Rabattgruppe unterschiedlich definiert

Die Feldlänge für die Rabattgruppe war in den betreffenden Datentabellen unterschiedlich groß definiert. Dies wurde nun einheitlich auf 20 Zeichen gesetzt.

Bug
Lizenz aktualisieren

Im Menüpunkt “? | Info” gibt es jetzt auf der Kartei “Lizenz” zusätzlich einen Button “Lizenz aktualisieren”. Über diesen Button lässt sich - sofern eine Lizenz-Änderung/-Erweiterung bei GDI vorgenommen wurde - ohne Abfrage des Passwortes die Lizenz aktualisieren (vorausgesetzt das Passwort wurde nicht verändert). D.h. nur ein “echter” Lizenzwechsel, also der Wechsel auf eine andere Programmnummer oder das Einspielen einer temporären Lizenz erfordert den Abruf der Lizenz über den Button “Lizenz wechseln” durch Angabe von Programmnummer und zugehörigem Passwort.

Story
4.0.2
09
FEB 24
Neue Lizenzverwaltung

Zur Bline 4.0.2 wurden einige Verbesserungen und Korrekturen bzgl. der neuen Lizenzverwaltung vorgenommen. Diese sind im wesentlichen:

  • Im Lizenz-Abrufdialog und im Menüpunkt “? | Info” auf der Karteikarte “Lizenz” wurden Hilfe-Buttons ergänzt. Hierüber kann eine Online-Hilfe-Seite aufgerufen werden.
  • Bei Problemen mit dem automatischen Abruf der Lizenz bei Programmstart erscheint jetzt ein Benachrichtigungsfenster mit Hinweisen zur Problemlösung. Wie bisher ist ein Weiterarbeiten mit der Bline für 14 Tage auch ohne erfolgreichen Lizenzabruf möglich.
  • Die Ausführung von allgemeinem GDI-Basic wie Nummernkreis-Basic erforderte bisher das Modul “Design-Paket”, dies wurde korrigiert.
Story
Beleganlage über CM_Adressen und Nummerkreisbasic bei abweichender Standardfiliale

Bei einer Beleganlage aus dem AdrStamm heraus wurde bislang ein bei der betreffenden Belegart hinterlegtes, den Belegkopf betreffendes Nummerkreisbasic (z.B. :Laden.Kunden) nicht ausgeführt, sofern der Bediener eine Standardfiliale <> 0 hatte

Bug
GDI-Basic: Neue Funktion ExecSQLVariantSession

In Ergänzung zur bekannten Funktion ExecSQLVariant gibt es jetzt eine Funktion ExecSQLVariantSession, welche aufgrund des zusätzlichen Parameters “Sessionname” Datenzugriffe auf externe Firebird-Datenbanken ermöglicht. Sie ist analog zu ExecSQLVariant aufgebaut, aufgrund der je nach SQL-Statement variablen Parameteranzahl wurde der SessionName-Parameter als erster Parameter eingeführt.

Syntax: 
Ergebnis := ExecSQLVariantSession(SessionName,SQLText,Parameterliste,Wert1,...,WertN);
Story
GDI-Basic: Neue Funktion GetSessionList

Über die Funktion GetSessionList können die fest angelegten als auch temporäre Firebird-Sessions ausgelesen werden, inaktiv gestellte Sessions werden dabei überlesen. Als Rückgabewert erhält man einen String, der für jede Session eine Zeile in der Syntax <Sessionname>=<Databasename> umfasst. Hinweis: Es findet keine Prüfung statt, ob die Sessions einen erfolgreichen Datenbank-Connect ermöglichen. Bei Bedarf kann dies über eine zusätzliche Prüfung mit der Funktion IsFireBirdSessionValid erfolgen.

s := GetSessionList('');
show(s);
Bug
GDI-Basic: Neue Funktion SetTempFirebirdSession

Über die neue Funktion SetTempFirebirdSession lassen sich temporäre Sessions für den Zugriff auf Firebird-Datenbanken anlegen. Temporäre Sessions sind (im Gegensatz zu den fest angelegten Sessions) nur in der eigenen Programm-Sitzung und bis zum nächsten Mandantenwechsel (Logout) verfügbar.

Syntax:
Res := SetTempFirebirdSession(SessionName, DatabaseName, DBUserName, DBPassword, DBCharSet, SQLDialect, LibraryName);
Parameter: Bis auf SQLDialect (Integer) sind alle Parameter vom Typ String
Rückgabewert: Boolean

Die Funktionsfähigkeit einer angelegten Session (Rückgabewert true) kann und sollte mit der Funktion IsFirebirdSessionValid überprüft werden.

Bug
GDI-Basic: Problem beim Befehl WPToChar

Die Basic-Funktion WPToChar entfernte unter bestimmten Voraussetzungen die HTML-Tags im übergebenen Text nicht korrekt. Dies trat dann auf, wenn der Text zwischen zwei HTML-Tags eine Länge von 465 Zeichen überschritt.

Spike
Kein GDI-Basic ausführbar ohne Design-Paket

In der Version 4.0.1.x bestand das Problem, dass ohne Design-Paket-Lizenz generell keine GDI-Basic-Programme ausführbar waren. Dies wurde korrigiert, so dass die allgemein zugänglichen GDI-Basic-Programme wie GDI-Basic in Nummernkreisen oder Mengeneinheiten auch ohne Design-Paket ausgeführt werden können. Betroffenen Kunden wurde bis zum Fix das Design-Paket lizenziert. Mit Erscheinen dieser Korrektur wird diese Lizenzerweiterung bis zum 01.03.2024 wieder zurückgesetzt. Bitte führen Sie zeitnah ein Programmupdate auf die 4.0.2.x durch, die Lizenzanpassung erfolgt automatisch beim Programmstart.

Bug
Abruf der Namenseintragsliste über TFANamenHDL funktioniert nicht mehr

In der BLine 4.0.1 war die für den Fachhandel verfügbare Funktion, die Namenseinträge der Anwender des betreffenden Fachhandelspartners abzurufen, nicht verfügbar. Diese Möglichkeit ist ab der vorliegenden Version wieder gegeben.

Bug
Mandantenwechsel, Zugriffsverletzung wenn man während der Anmeldung auf das Ribbon Band klickt

In der Vergangenheit erhielt man unter Umständen eine Zugriffsverletzung, wenn man nach der Anmeldung direkt in das Menü der Business-Line geklickt hat. Die Business-Line musste daraufhin über den Task Manager beendet werden. Dieses Problem ist nun behoben.

Spike
Terminbestätigung senden: Hinweismeldung in Speichern-Abfrage umgestalten

Bei aktivem Online-Terminplaner kann man über entsprechende Buttons eine Terminbestätigung (oder eine Ablehnung bzw. eine Abwesenheitsnotiz) für einen eingegangenen Terminplaner-Termin per E-Mail versenden. Wurde der Termin verändert erscheint jetzt bei Klick auf einen dieser Buttons eine Abfrage, ob der Termin zuvor gespeichert werden soll oder nicht. Bisher kam an dieser Stelle lediglich eine Hinweis-Meldung und man musste zunächst den Termin speichern und dann die Aktion neu angehen.

Story
4.0.1
16
JAN 24
Aufruf für alten Namenseintrag-Abruf aus dem Menü entfernen

Aus den Vorgabe-Menüs wurden die Aufrufe des alten Namenseintrag-Abrufes entfernt. Bei gespeicherten Menüs erfolgt diese Menübereinigung automatisiert bei der Versionsreorganisation. Der neue Lizenzabruf erfolgt nach der Installation der Bline 4.0 im Zuge des ersten Programmstartes bzw. bei Lizenzänderungen unter dem Menü-Punkt “? | Info” auf der Karteikarte “Lizenz”.

Story
Neue Lizenzverwaltung

Die Bline 4.0 wurde als erstes Programm der GDI-Produktpalette auf ein neues Lizenzsystem inkl. neuer Modulzusammensetzung umgestellt. Dies bringt verschiedene Änderungen mit sich. Diese sind im wesentlichen:

  • Im Menüpunkt “? | Info” gibt es eine neue Karteikarte “Lizenz”. Dort kann die aktuell im Programm eingesetzte Lizenz und die lizenzierten Programm-Module eingesehen werden
  • Auf der vorgenannten Kartei befindet sich auch ein Button “Lizenz”, über den ein Lizenzabruf bei Lizenzänderungen/Lizenzaktualisierungen möglich ist. Der Menüpunkt für den bisherigen “Namenseintrag”-Abruf ist entfallen
  • Bei einem Update von einer 3.13.x bzw. bei Neuinstallationen der 4.0 wird der Lizenzabruf beim allerersten Programmstart automatisch angestoßen. Wie bisher wird hierfür die Angabe einer ProgrammNr und eines Passwortes benötigt. Diese Daten erhalten Sie wie gewohnt im Zuge des Update- bzw. Programmkauf-Prozesses
  • Das neue Lizenzsystem ermöglicht die Verwaltung mehrerer Lizenzen unter ein und derselben Programm-Nummer. So ist es z.B. möglich, Produktiv- und Test-Lizenzen parallel zu verwalten
  • Das neue Lizenzsystem besitzt einen erweiterten Kopierschutz. Eine abgerufene Lizenz gilt nur für die Programmumgebung, in welcher der Abruf erfolgte. Wird ein Programm z.B. in ein anderes Verzeichnis umkopiert (und sei es nur um Tests durchzuführen), so erfordert dies den (erneuten) Abruf der Lizenz. Bitte beachten: Durch den Abruf einer Lizenz wird diese als “aktive” Lizenz betrachtet, andere bestehende Bline-Instanzen mit dieser Lizenz werden als inaktiv betrachtet und bleiben nur noch 14 Tage verwendbar
  • Achtung, es gibt keine mit der Installation mitgelieferte Demo-Lizenz mehr. Jeder Kunde/Fachhändler/Supporter benötigt eine eigene Lizenz
  • Die Möglichkeit des Abrufes als temporär gültige Lizenz ist möglich. Hierdurch wird die (durch einen regulären Abruf) gespeicherte Lizenz für die Laufzeit der aktuellen Programmsitzung übersteuert. Die reguläre Lizenz bleibt die “aktive” Lizenz und wird nach einem Programmneustart wieder aktiviert
  • Hinweis für Fachhändler: Die erste Release-Version unterstützt noch nicht den Abruf und Verwaltung der Kunden-Namenseinträge (TFANamenHDL)
Story
Seriennummern-Assistent: Automatisches Speichern bei Schließen der Maske

Beim Schließen des Seriennummernassistenten bei aktiver Karteikarte “Neuanlage” wird jetzt eine Eingabe/Änderung im HerstSerNr-Feld automatisch gespeichert. Bisher musste diese zuvor mit Enter bestätigt werden oder über das Speicher-Häkchen in der Navigationsleiste gespeichert werden.

Bug
GDI-Basic, FastScript: Funktion CompareVersion ergänzen

In GDI-Basic wurde die Funktion CompareVersion ergänzt. Mit ihr lassen sich zwei Versionsnummern vergleichen, die jeweils einen wie bei GDI üblichen Aufbau besitzen (vier numerische Stellen durch Punkt getrennt) und “bestimmen”, welche Version die neuere ist. Dabei kann angegeben werden, bis zu welcher der vier Stellen der Vergleich stattfinden soll:

Syntax:
  Res := CompareVersion(V1,V2,Anz);
Parameter:
  V1,V2 : string (Angabe der zu vergleichenden Version-Nummern)
  Anz   : integer (Anzahl der signifikanten Stellen(Wertebereich 1-4, Default = 4)
Rückgabewert: integer
  0 : Versionen sind bezgl. der angegebenen Lizenzstellen gleich
  1 : V1 ist bezgl. der angegebenen Lizenzstellen GRÖSSER als V2
 -1 : V1 ist bezgl. der angegebenen Lizenzstellen KLEINER als V2
Story
GDIBasic: Neue Funktion IsFireBirdSessionValid zur Prüfung, ob über eine vorhandene Session ein Datenbank-Connect möglich ist

Es gibt eine neue GDI-Basic-Funktion “IsFireBirdSessionValid”, mit deren Hilfe man überprüfen kann, ob eine angelegte Firebird-Session einen funktionierenden Datenbank-Connect liefert. Somit lässt sich z.B. bei Datenzugriffen auf andere Firebird-Datenbanken per sTable im Vorfeld überprüfen, ob ein Zugriff überhaupt möglich ist. Die Funktion wurde erforderlich, weil die Übergabe eines über die (veraltete) Funktion CreateIBDataBase erzeugten DBNamens durch die sTable nicht unterstützt wird.

Hier Syntax und Beispiel:

// IsFirebirdSessionValid(SessionName): Integer
// SessionName: Der Name der Session. Achtung: Sessions sind Case-sensitive, daher Groß-/Kleinschreibung beachten
// Rückgabewert:
// 0= Ein Connect über die Session ist möglich
// 1= Session ist nicht vorhanden
// 2= Session ist vorhanden, aber auf inaktiv gesetzt
// 3= Session ist vorhanden, aber der Zugriff auf die DB funktioniert nichtSessionName := 'TESTSESSION';
Res := IsFirebirdSessionValid(SessionName);
Show(Res);
Spike
Bildschirmmasken-Designer per Default nur für Admin-Bedienergruppe zugänglich

Im Zuge des Updates auf die Bline 4.x erhalten bisherige Anwender, welche einen Baustein des neuen Designer-Pakets bereits in ihrer 3.13er Version besitzen die restlichen Bausteine dieses Paketes hinzu. Wer also z.B. bisher das Modul “Automatische Belegerstellung/Scripteditor” (Lizenzstelle 12.1) besaß erhält dadurch den Bildschirmdesigner dazu. Aus “Sicherheitsgründen” wird in der 4.0 das Default-Recht für den Aufruf des Bildschirmdesigners wie folgt geregelt: Die Bediener der Bedienergruppe ADMIN dürfen den Bildschirmdesigner aufrufen, Bediener anderer Gruppen dürfen den Bildschirmdesigner nicht aufrufen. Das per Default vorgegebene Recht kann über das Menü-/Rechtesystem unter “Rechte > System > Maskendesigner” individuell geändert werden.

Story
Vorganggrid: Bei gespeicherter Maske kommt eine Fehlermeldung

Wenn man die Maske TFAVorganggrid, die als Unterform in verschiedenen Masken auf der Kartei “Vorgänge” verwendet wird, designt und abgespeichert hat, kam es beim Laden der Maske zu einer Fehlermeldung “Klasse TFrameGDIMailDetails nicht gefunden”. Dies wurde behoben.

Bug
Belegreports: Entfernen der Prüfungen, ob Programmversion = 3.x ist

In den FastReport-Belegformularen gab es im Code bislang Prüfungen, ob es sich bei der eingesetzten Programmversion um eine Bline 3.x handelt. Falls nicht wurden bestimmte Aktionen nicht ausgeführt oder auch SQL-Abfragen gemäß der alten GDILine 2.x formuliert. Beim Umstieg auf die Bline 4.x sind diese Stellen zu prüfen. In der Regel können diese ersatzlos entfernt werden. Bitte beachten, dass ggfs. die bei dem Datenobjekt TA_Personal hinterlegte SQL anzupassen ist.

Story
Abbruch der Anmeldung aufgrund max. Bedieneranzahl: Gespeicherte Hauptfenstergröße geht verloren

War ein Anmelden aufgrund der Meldung “Die maximale Anzahl der Programmbediener wurde überschritten” nicht möglich, ging dabei die evtl. gespeicherte Hauptfenstergröße für den Bediener verloren. In Folge dessen startete das Programm beim nächsten erfolgreichen Login im Vollbildmodus. Dies wurde korrigiert.

Bug
3.13.5
29
NOV 23
Basic bei Belegdruck, PDF-Erzeugung: Autonummerierung funktioniert bei abweichendem PDFDatei-Namen nicht

Bei der Erzeugung eines vom GDI-Standard abweichenden PDF-Dateinamens beim Belegdruck (per Variable PDFDatei in einem BelegBefore-Nummerkreiseinsprung) erfolgt jetzt auch die automatische Dateinamenserweiterung bei wiederholten Ausdruck (“_1”, “_2”, etc.). Bislang musste diese bei Bedarf per eigener Routine nachgebildet werden.

Story
Beleg-Etikettendruck (Format >=900): Positionen mit KzDruck "M" zulassen

Beim Beleg-Etikettendruck mit einem Format >=900 wurden bislang Positionen mit dem Druckkennzeichen “M”nicht berücksichtigt. Diese können nun gedruckt werden.

Story
Intrastat: Ausschluss des Intrastatverfahrens bei EU-Sondergebieten per Drittland-Besteuerung

Das Intrastat-Verfahren ist in der Regel auf Lieferungen innerhalb der EU anzuwenden, d.h. wenn der Versender oder der Empfänger in einem anderen EU-Mitgliedsstaat ansässig ist. Dies wird in der Bline aufgrund des hinterlegten ISOA2Land-Eintrages entschieden. Es gibt jedoch EU-Sondergebiete, bei denen nicht das Intrastat-Verfahren, sondern das Zollanmeldeverfahren zum Einsatz kommt. Hierzu gehören z.B. die kanarischen Inseln, bei denen aufgrund deren Zugehörigkeit zu Spanien das ISOA2Land mit “ES” (Spanien) zu schlüsseln ist. Damit solche Belege nicht im Intrastatverfahren gemeldet werden wird ab dieser Version im Intrastat-Assistenten die Besteuerung “Drittland” als Ausschluss-Kriterium herangezogen.

Spike
Intrastat: Fehlerhafte Meldung, obwohl in der Protokoll-Übersicht ein "OK" angezeigt wird

Bei fehlerbehafteten Meldungen wurde u. U. in der Protokollübersicht trotzdem der Wert “1” (= “alles in Ordnung”) in der OK-Spalte angezeigt. Nach Rücksprache mit dem statistischen Bundesamt konnte hier die Auswertung einer weiteren Prüfstufe aktiviert werden. Nur wenn auch diese keine Fehler zurückliefert wird jetzt das “OK” angezeigt.

Spike
PDF-Erzeugung: Möglichkeit, Einfluss auf das Dateiformat (z.B. PDF/A) zu nehmen

Über die neue Systemdateneinstellung “Belegdruck > PDF-Format” (im Textmodus lautet diese PDFprinter.PDFFormat=) kann bestimmt werden, ob beim Belegdruck erzeugte PDFs ein PDF/A-Format besitzen. Gültige Werte sind 0 = kein PDF/A (Default), 1 = PDF/A-1a, 2 = PDF/A-1b, 3 = PDF/A-3b. Das PDF/A-Format wurde für die Langzeitarchivierung von Dokumenten entwickelt und regelt z.B. ob Schriften in die PDF eingebettet werden oder nicht. PDFs in Zusammenhang von E-Rechnungen (ZUGFeRD, XRechnung) werden davon unabhängig wie bisher automatisch im PDF/A-3u-Format erzeugt. Im Bereich des TReporter2 kann bei einer PDF-Ausgabe das PDF/A-Format durch Übergabe der Variable “PDFFormat” im Zusatzparameter bestimmt werden.

Story
Prüfung, dass bei SteuerBer = 3 auch ein EU-Land in ISOA2Land gegeben sein muss macht in "Spezialfall" Probleme

Bei Besteuerung “3-EG-Auslandst.” konnte bislang ein Kundenstammsatz nur gespeichert werden, wenn im Feld “ISOA2Land” ein EU-Land auswählt war. Diese Restriktion wurde entschäft, um gegegenenfalls spezielle Steuerfälle abbilden zu können. Die bisherige “Stopmeldung” erscheint nun als “Warnmeldung”. Nun kann der Kundendatensatz, sowohl im Kundenstamm, als auch über die Adressstamm-Maske (Kartei “Kunde”) gespeichert werden. Das Programm bricht nicht mehr ab, so wie es in den Vorgängerversionen der Fall war.

Spike
Sammeldruck zunächst auf Bildschirm ausgeben, dann auf Drucker --> es wird nur der letzte Beleg auf Papier gedruckt

Wurde ein Belegsammeldruck (Auswertungen > Belege > Belegdruck) zunächst z.B. zu Testzwecken als Bildschirmvorschau ausgegeben, so wurde bei der anschließenden Ausgabe auf Drucker nur der letzte Beleg ausgedruckt. Man musste die Belegsammeldruckmaske zunächst schließen und dann den Ausdruck auf Drucker vornehmen. Dies ist nun nicht mehr notwendig.

Bug
SMTP-Anbindung, E-Mail-Versand, OAuth2

In der GDI-Business-Line wird jetzt das sog. OAuth2-Authentifizierungsverfahren für den E-Mail-Versand über SMTP bei IMAP4 E-Mailkonten unterstützt. Weitergehende Informationen finden Sie in der Online-Hilfe zum Menüpunkt “Einstellungen” bzw. auch hier im Support-Bereich in Minerva. Bitte beachten Sie, dass die Unterstützung des OAuth2-Verfahrens nicht für POP3-Konten gilt und auch zukünftig nicht vorgesehen ist.

Bug
Basic bei Belegdruck, PDF-Erzeugung: Variante "Original-Dateiname in einen geänderten Pfad" funktioniert in den BeforeBeleg-Einsprüngen nicht

Wollte man über ein BeforeBeleg-Nummerkreiseinsprung beim Belegdruck (Infos siehe Minerva) durch Setzen der Variable PDFPfad den Ablageort von Beleg-PDFs ändern, so war man bislang gezwungen gleichzeitig die Variable PDFDatei zu füllen, auch wenn man die Dateinamensvergabe der PDF unverändert bei GDI-Standard belassen wollte. Dies ist nun nicht mehr erforderlich.

Story
GDI-Basic: Neue Funktion GetUniqueFileName zur Erzeugung einer eindeutigen Dateinamens

Es gibt eine neue GDI-Basic-Funktion “GetUniqueFileName”, mit deren Hilfe man einen eindeutigen, noch nicht vorhandenen Dateinamen ermitteln kann. Dieser kann z.B. für wiederkehrende Datei-Exporte hilfreich sein, wenn bestehende Dateien nicht überschrieben werden sollen.
Die Syntax dieses Befehls lautet

GetUniqueFileName(APfad, AName: String; AModus: Integer): String;
APfad:   OrdnerName, in dem die Datei mit dem eindeutigen Namen abgelegt werden soll
AName:   DateiName, an den ggf. zwecks Eindeutigkeit ein Suffix angehängt wird
AModus:  Art des Suffix
Wert   Suffix                        Beispiel
-----------------------------------------------------------------------------
 0     Numerisches Hochzählen        D:\Temp\Test_1.txt
 1     TimeStamp, Trenner "-"        D:\Temp\Test_31-10-2023-08-12-56.txt
 2     TimeStamp, Trenner "_"        D:\Temp\Test_31_10_2023_08_12_56.txt
 3     TimeStamp, Trenner ""         D:\Temp\Test_31102023081256.txt
Story
GDIBasic: Probleme mit NULL-Werten bei Debug und Clipboard-Funktion

Variablen mit dem Wert NULL führten in GDI-Basic zu einem Fehler der Art “Variante des Typs (NULL) konnte nicht in Typ (String) konvertiert werden”, sofern man die Debug-Funktion nutzte oder versuchte, den Variablen-Wert mit der Funktion Clipboard in die Windows-Zwischenablage zu nehmen. Dies wurde korrigiert.

Story
Sammel-Mailversand: Übersteuerung des Absenderkontos per Nummernkreis-Einsprung funktioniert nicht

Beim normalen Beleg-Mailversand gibt es die Möglichkeit, das zum Mailversand verwendete Mailkonto über einen Nummernkreis-Einsprung “:BeforeSendMail” festzulegen. Beim Sammel-Mailversand der Belege hatte bisher dieser Einsprung keine Funktion. Dies wurde geändert.

Story
AdressTabelle mit aktivierter Detailansicht: Detailansicht ändert sich nur bei Wechsel auf andere Hauptadresse

Hat man in der Adresstabelle die Detailansicht aktiv, werden in der oberen Maskenhälfte die Adresstabelle, in der unteren Maskenhälfte der zugehörige Adress-Stamm angezeigt. Bisher wurde dabei die Adress-Stamm-Anzeige nur bei einem Wechsel zu einer anderen Hauptadresse aktualisiert. Diese Sychronisation findet nun auch statt, wenn man oben auf einen Ansprechpartner wechselt und es erfolgt ein “locate” auf den zugehörigen Ansprechpartner-Stammsatz im unteren Maskenbereich.

Spike
Aufruf von TFPersonal (alter Personalstamm) aus den Standardmenüs nehmen

Aus der Menüdatei für das Standardmenü wurde der Aufruf des alten Personalstammes (TFPersonal) entfernt. Dieser wurde einst aufgenommen, damit Umsteiger von 2.x auf 3.x kontrollieren können, welche Maskenanpassungen sie hatten und welche Felder sie evtl. nach CM_Personal übernehmen müssten. Für Neuanwender war dieser Menüpunkt hinderlich.

Story
Cockpit.fr4 (das Cockpit im Adressstamm): Falsche Umsatzanzeige wenn Kunde gleichzeitig Lieferant ist

Beim der Konstellation “Adesse ist gleichzeitig Kunde und Lieferant” wurden bei der Lieferanten-Umsatz-Anzeige die Kundenumsätze “wiederholt”. Dies wurde korrigiert.

Bug
Terminkalender: Ganztages-Termine werden bei Datenänderung immer länger

Hat man im Terminkalender einen Ganztages-Termin angelegt, und führte für diesen Termin eine Nachbearbeitung durch, so wurde das Datum des Termin-Endes beim Speichern um einen Tag nach hinten verschoben. Dies wurde behoben.

Bug
GDI_Factur.meta: Änderung bzgl. GDI Versand vom 14.03.2023 fehlt im aktuellen Stand.

GDI Versand: Die eigentlich zur Version 3.13.2 vorgenommene Stored Procedure-Änderung zur Behebung eines Performanceproblems in GDI Versand hatte versehentlich nicht ihren Weg in die GDI_Factur.meta gefunden. Dies wurde korrigiert.

Bug
3.13.4
01
SEP 23
Bestellwesen: Sortierung im Modus "Selektion übernehmen" unzureichend

Bei der Übernahme einer Bestellvorschlagsliste in eine oder mehrere Bestellungen konnte es - vor allem bei einer größeren Anzahl von Artikeln - zu einer abweichenden Sortierung gegenüber der Sortierung im Bestellvorschlag kommen. Dies wurde behoben.

Bug
Intrastat: Statistischer Wert (z.B. bei Lohnveredelung)

In der BelegPos-Tabelle wurde das Datenfeld STATWERT (GDI_Float) ergänzt. GDI befüllt dieses Feld standardmäßig nicht, verwendet aber den Inhalt im Bereich der Intrastatmeldung zur Meldung des sog. Statistischen Wertes. Bislang wurde dieser immer dem Rechnungsbetrag (der sich aus LagerPr errechnet) gleichgesetzt. Jetzt ergibt sich der Statistische Wert aus STATWERT (sofern gefüllt), ansonsten wie bisher aus LagerPr. Das Feld kann bei Bedarf in der Belegbearbeitung in den Belegpositionsgrid aufgenommen und z.B. für Warenmeldungen im Bereich der Lohnveredelung genutzt werden.

Story
Auswahlmaske für Vorlagen/Textbausteine: Zoombuttons sind vertauscht

In der Auswahlmaske für die Vorlagen (im Editor über das Menü “Datei > Neu aus Vorlage” zu erreichen) bzw. Textbausteine (im Editor über das Menü “Einfügen >Textbaustein” zu erreichen) war die Funktion der beiden Zoom-Buttons vertauscht. Dies wurde korrigiert.

Bug
XRechnung: Erweiterung zur Angabe der genauen XRechnungsversion erforderlich

XRechnung: Über eine neue Auswahlbox im Kundenstamm (auf Kartei “E-Rechnung”) lässt sich im Falle des Ausgabetyps “XRechnung” die genaue Version des Ausgabeformates einstellen. Bisher wurde hierfür fix “2.0” verwendet und die in XML geschrieben, es sind aber nun auch die Versionen “2.1” bis “2.3” einstellbar. Hintergrund: GDI-seitig kam mit den neueren XRechnungs-Ständen nichts inhaltliches hinzu, was wir nutzen und was es in 2.0 nicht bereits gegeben hätte. Allerdings wurde beobachtet, dass mittlerweile einige Empfängervalidatoren die genaue Versionsangabe formell erwarten.

Bug
Minerva: Stored Procedure GDI_TERMINBESTAND veröffentlichen

Die seit geraumer Zeit in den Metadaten bereits mitgelieferte Stored Procedure GDI_TerminBestand zur Ermittlung von Bestandswerten (Menge und Wert) von Artikeln wurde abschließenden Tests unterzogen und nach kleineren Korrekturen (s.u.) jetzt in Minerva veröffentlicht. Perspektivisch soll die bisherige Bestandsänderungsliste durch eine auf Basis der GDI_Terminbestand beruhende Liste ersetzt werden. In Folge dessen werden Bestandsänderungen Geschäftsjahres-übergreifend auswertbar werden.

Task
Stored Procedure GDI_Terminbestand: Bei Summen über alle Filialen stimmen die Bis- und Von-Werte nicht

Stored Procedure GDI_Terminbestand: Bei filialübergreifender Auswertung (Filiale = -2) passten je nach Datenkonstellation die ermittelten Werte nicht. Dies wurde korrigiert.

Bug
Stored Procedure GDI_Terminbestand: Keine Datenausgabe, wenn zwar Anfangsinventur vorhanden, aber keine Bewegung im untersuchten Zeitraum

Stored Procedure GDI_Terminbestand und Ausgabe der Einzelbewegungen: Auch wenn keine Bewegungen in einem untersuchten Zeitraum stattfinden, erfolgt nun bei einer vorhandenen Anfangsinventur eine Datenausgabe (bei dem logischerweise Von- und Bis-Bestand identisch ist)

Bug