Version 7.3.0
Wichtige Hinweise
Python-Upgrade
Python wurde auf Version 3.11 aktualisiert. Customisation-Skripte können daher nun auch Features aus dieser Version verwenden.
Key-Value-Felder
Datenfelder vom Typ „Text“ können nun mit speziellen Vorschlagsarten als Key-Value-Felder konfiguriert werden. Die Eigenschaft von Key-Value-Feldern ist, dass der in der Oberfläche angezeigte und der intern im Vorgang abgespeicherte Wert unterschiedlich und über die Vorschlagsquelle miteinander verknüpft sind.
Die neue Vorschlagsquelle „Benutzer“ ist ein solches Key-Value-Feld. In der Oberfläche wird eine Liste der Namen aller aktiven Benutzer zur Auswahl angezeigt. Beim Abspeichern wird jedoch die interne ID des Benutzers in der Datenbank hinterlegt. Wenn der Name des Benutzers anschließend in der Benutzer-Konfiguration geändert wird, spiegelt sich diese Änderung auch in den Vorgängen wider, da die Benutzer-ID als stabile Verknüpfung fungiert.
Verbesserte Fehlermeldung beim Löschen in der Administrations-Oberfläche
Das Verhalten des Löschens wurde in der Administrations-Oberfläche geändert. Zuvor wurde der „Löschen“-Knopf unter bestimmten Bedinungen deaktiviert (zum Beispiel, wenn sich das Archiv im produktiven Modus befand und Vorgänge enthielt). Nun ist die Schaltfläche immer aktiv. Wenn ein Datensatz nicht gelöscht werden kann, werden in einem Dialog die Gründe aufgelistet, warum das Löschen nicht möglich ist.
Verschlüsselung von Zugangsdaten in INI-Dateien
In der Datei settings.ini wurde die Datenbank-URL database in eine eigene Sektion
Database verschoben. Diese Konfiguration wird beim Upgrade automatisch migriert.
Darüber hinaus wurden sensible Konfigurationsoptionen in bestimmten Abschnitten nun verschlüsselbar gemacht. Im Abschnitt Zusätzliche Verschlüsselung der Zugangsdaten wird dazu weiterführend erläutert.
Pflichtfeld-Steuerung bei Statusübergängen
Bei Statusübergängen besteht nun die Möglichkeit, Pflichtfelder zu steuern. In der Archiv-Konfiguration der Administrator-Oberfäche wird für jedes Datenfeld eine neue Sektion „Pflichtfelder bei Statuswechsel“ zur Verfügung gestellt. Mit dieser Option kann das Verhalten beim Wechsel des Status für jedes Datenfeld festgelegt werden. Diese Einstellung bewirkt, dass der ausgewählte Status nur verlassen werden kann, wenn das entsprechende Datenfeld einen Wert enthält. Die Pflichtfeldprüfung erfolgt dabei erst beim Statuswechsel, nicht beim Bearbeiten und Speichern des Vorgangs. Bei Standardtypen ist eine Pflichtfeldprüfung pro Status möglich. Bei Untertabellen kann dies wiederum für jede Spalte in der Tabelle und für jeden Status individuell konfiguriert werden.
Im Workflow-Designer besteht außerdem die Möglichkeit, für jede Workflow-Aktion in einem regelbasierten Workflow die Option „Pflichtfeldprüfung ignorieren“ zu aktivieren. Dadurch wird die Prüfung beim Wechsel von Status A auf B unterbunden.
Verbesserungen in STAR
String-Methoden
Das Update beinhaltet eine Erweiterung der String-Variablen, die nun eine Reihe von Methoden zur Abfrage von Eigenschaften oder zur Erzeugung veränderter Strings bieten. Hier ist ein Beispiel:
s = "test"
s = s.upper()
Die Verfügbaren Methoden sind im Abschnitt String-Methoden der STAR-Dokumentation beschrieben.
Index-Operator
Der neue Index-Operator ermöglicht die Extraktion eines Elements oder einer Teilsequenz (Slice) aus einem String. Dieser Operator wird im Abschnitt Index-Operator der STAR-Dokumentation beschrieben.
Iteratoren und Funktionen
Mit for-Schleifen ist es nun möglich, über Container oder Daten zu iterieren. Die Datenreihen der
Untertabellen werden mittels table.enumerate() durchlaufen. Zusätzlich besteht die Möglichkeit,
benutzerdefinierte Funktionen in einem Skript zu erstellen.
Iteration:
for idx in _table.enumerate() do
sum = sum + _table.get(idx, 'amount')
end
Funktion:
function calculate(a, b, c=1)
return (a + b) * c
end
print(calculate(1, 2))
Rückgabe-Wert und Abbruch
In einem STAR-Skript besteht nun die Möglichkeit, an einer bestimmten Stelle im Code auszusteigen.
Hierfür wird das Schlüsselwort return verwendet. Beim Ausstiegspunkt werden alle bis dahin
durchgeführten Änderungen übernommen, und es wird keine Fehlermeldung erzeugt.
betrag = lookup("test_tabelle", "netto_betrag", fallback=null, _name = "Mitarbeiter X")
if betrag > 1000 then
return
end
Mit der Funktion abort bietet es sich an, ein STAR-Skript vorzeitig mit einer Fehlermeldung
abzubrechen. Dabei kann der optionale Parameter message verwendet werden, um eine individuelle
Fehlermeldung anzugeben. Falls kein eigener Text angegeben wird, wird standardmäßig die Fehlermeldung
„Skript wurde durch die abort-Funktion abgebrochen.“ angezeigt.
name = lookup("firmen", "firma", fallback=null, _name="Meine Firma")
if name == null then
abort("Firma konnte nicht gefunden werden.")
end
Postfacheinträge nach X Wochentagen zum Vertreter
In der Administrationsoberfläche, im Benutzerbereich unter der Sektion „Vetreter“, wurde nun die Möglichkeit hinzugefügt, Wochenenden bei der Weiterleitung zur Vertretung auszuschließen. Dadurch besteht nun die Option, Postfacheinträge entweder nach einer bestimmten Anzahl von Tagen ohne Bearbeitung oder nach einer bestimmten Anzahl von Arbeitstagen automatisch an den Vertreter weiterzuleiten. Bei der zweiten Option werden Wochenenden nicht berücksichtigt, wodurch sich die Zeit bis zur Weiterleitung ohne Bearbeitung im Vergleich zur vollen Woche verlängern kann.
Mandanten in SmartIndexing
Wenn die Mandantenfunktion in einem Archiv aktiviert ist, steht eine neue Konfigurationsoption zur Verfügung: „Mandantenspezifisches SmartIndexing“. Bei Aktivierung dieser Option wird das SmartIndexing im Archivieren-Dialog erst ausgeführt, sobald ein Mandant ausgewählt wird. Dadurch ist es möglich, das SmartIndexing unter Berücksichtigung einer Mandantenfilterung durchzuführen. Bei einem Wechsel des ausgewählten Mandanten wird das SmartIndexing erneut ausgeführt, um die Ergebnisse entsprechend für den neuen Mandanten zu aktualisieren.
Bei den beiden Eingangsrechnungsregeln „Kreditor“ und „Lieferant“ wird diese Mandantenfilterung
angewendet. Wenn in der Lieferantendatentabelle eine Spalte mit dem Kurznamen client_identifier
vorhanden ist (diese Spalte wird automatisch bei der Installation von Invoice 2.0 angelegt), liefern
diese beiden SmartIndexing-Regeln nur Ergebnisse zurück, bei denen in dieser Spalte das Kürzel des
ausgewählten Mandanten eingetragen ist. Dadurch wird gewährleistet, dass nur relevante Ergebnisse
entsprechend dem ausgewählten Mandanten zurückgegeben werden.
Mandant bei SmartIndexing im Hotfolder
Die Methode self.run_smartindexing() des ImportServices wurde um einen zusätzlichen Parameter
client vom Typ string erweitert. Dieser Parameter erwartet das Kürzel des Mandanten, um eine
mandantenspezifische Smartindexing-Funktion auf Ebene des ImportServices auszuführen.
Wenn in einer INI-Datei sowohl Smartindexing=1 als auch eine Zuweisung Client=... festgelegt
sind, wird beim Smartindexing ebenfalls auf den Mandanten geachtet.
Mehr dazu unter Zusätzliche Funktionen
Neuer SmartSafe
Der frühere SmartSafe, der eine vollständige Oberfläche enthielt, wurde durch ein neues Kommandozeilenprogramm ersetzt. Dieses Programm ermöglicht die strukturierte Synchronisierung eines oder mehrerer Archive in ein konfigurierbares Verzeichnis. Zusätzlich kann das Programm Excel-Dateien für eine übersichtliche Darstellung aller Vorgänge generieren.
Es werden sowohl die Vorgangsinformationen im JSON-Format als auch die Dokumente synchronisiert.
Mehr dazu im Kapitel SmartSafe des Handbuchs für die Administration.
Dynamische Datums-Filter
In einer Spaltensuche vom Typ „Abfrage“ bzw. in einem Filter eines gefilterten Archivs ist es nun
möglich, bei Date- und Datetime-Spalten auf einen dynamisch berechneten Zeitpunkt relativ zum
jeweils heutigen Tag zu filtern.
Der folgende Filter gibt alle Datensätze zurück, bei denen das Datum im Datenfeld _kuendbis
zwischen heute und 14 Tagen in der Zukunft liegt:
_kuendbis >= <today> AND _kuendbis <= <date:+14d>
Das allgemeine Format zwischen den spitzen Klammern sieht folgendermaßen aus:
dategefolgt von einem Doppelpunkt.+für ein Datum in der Zukunft oder-für ein Datum in der Vergangenheit.Eine Ganzzahl.
Eine Einheit:
yfür Jahremfür Monatewfür Wochendfür Tage
Beispiele:
<date:+7d>: Das Datum in 7 Tagen.<date:-1m>: Das Datum vor 1 Monat.<date:+3w>: Das Datum in 3 Wochen.<date:-2y>: Das Datum vor 2 Jahren.
Bitte beachten, dass zwischen den spitzen Klammern keine Leerzeichen erlaubt sind. Das berechnete Datum ist jeweils relativ zum heutigen Tag.
Der folgende Filter liefert alle Vorgänge zurück, die in den letzten drei Monaten archiviert worden sind:
creation_date >= <date:-3m>
Invoice 2.0
Die Business-Lösung Invoice wurde auf Version 2.0 aktualisiert. Die Änderungen führen zu
folgenden Erweiterungen und Konfigurationsmöglichkeiten:
Mandantentrennung
Verwaltung von Steuerschlüsseln
Anpassungen im Workflow
Neue Spalten für Sachkontoname und Kostenstellenname in Kontierung
Neues Feld für Export-Fehlermeldungen
Dublettenprüfung
Mit der neuen Version sind in der Archiv-Konfiguration Mandanten standardmäßig aktiviert. Das bedeutet, dass bei der Installation der App automatisch ein Platzhalter-Mandant erstellt wird und dem Administrator zugewiesen wird, falls kein aktiver Mandant vorhanden ist. Der Administrator kann dann weitere Einstellungen und Zuweisungen vornehmen. Wenn ein oder mehrere Mandanten vorhanden sind, werden die neu eingerichteten Business-Archive allen Mandanten zugeordnet.
Verschiedenes
Wertzuweisungen in der STAR-Sprache werden nun validiert.
Beim Abspeichern von Datenfeldern mit einem Vorschlagsfilter in Kombination mit der Einstellung „Nur Werte aus der Vorschlagsliste zulassen“ wird serverseitig validiert, ob der übermittelte Wert dem Vorschlagsfilter entspricht.
Der Postfach-Betreff wird nun beim Einfügen eines Vorgangs ins Postfach berechnet und Änderungen des Postfach-Betreffs in den Archiv-Einstellungen wirken sich nicht mehr auf bereits existierende Postfach-Einträge aus.
Im Formular-Editor können die Reihenfolge der Tabs durch Drag & Drop geändert werden.
In der SmartIndexing-Regel „USt-IdNr“ ist es nun möglich, eine „eigene USt-IdNr“ zu hinterlegen, damit diese beim Ausführen der SmartIndexing-Regel ignoriert werden kann.
In Bedingungen von Workflow-Übergängen kann nun auch auf Untertabellen-Werte zugegriffen werden, indem die gleiche Syntax wie in STAR-Code verwendet wird.
In Untertabellen können mehrere Werte gleichzeitig ausgewählt und gelöscht werden.
Im Formular-Editor kann das Formular mit der Tastenkombination „Strg + S“ abgespeichert werden.