Neuerungen in combit CRM Version 11.003

Nachfolgend finden Sie alle wichtigen Hinweise, aktuellen Freigaben und Unterstützungen sowie neue Features und Verbesserungen zur neuen Version 11.003 von combit CRM.

Wichtige Hinweise

[Feature] Bei einem Serien-eMailing (‚Ausgeben > Serien-eMail‘ oder per SDK via RecordSet.SendBulkMail) wird nun eine Datensatzauswahldatei (.tag) für einen manuellen Filter erzeugt, die alle Datensätze AUSSCHLIESST, an die eine Mail „erfolgreich“* abgesendet wurde.

Dadurch kann bei einer Unterbrechung des Mailings jederzeit nachträglich das Mailing wieder aufgenommen werden, indem der urspr. Empfängerfilter erstellt wird und anschließend mit dieser Datensatzauswahl kombiniert wird, wodurch die bereits beschickten Datensätze aus dem urspr. Filter AUSGESCHLOSSEN werden. Im Falle eines Serienmailings über die SDK Methode RecordSet.SendBulkMail kann der Name (inkl. Pfad) der .tag Datei als optionaler zusätzlicher Parameter angegeben werden. Geschieht dies nicht oder wird das Mailing per ‚Ausgeben > Serien-eMail‘ durchgeführt, lautet der Name der .tag Datei standardmäßig ‚%TEMP%\MailsSentTo.tag‘. Jedes ausgeführte Serienmailing überschreibt die .tag Datei.

*) „erfolgreich“ heißt lediglich, dass die eMail-Adresse nicht schon von vorneherein als ungültig erkannt wurde oder nicht bereits bei der Einlieferung der eMail eine Ablehnung durch den Mailserver erfolgte. Ob die eMail-Adresse wirklich existiert oder ob die eMail zugestellt wurde, kann darüber NICHT geschlussfolgert werden!

Aktuelle Freigaben und neue Unterstützungen

[Feature] Freigabe für Windows 11 Version 21H2

[Feature] Freigabe für Windows 10 Version 21H2

[Feature] Freigabe für Windows Server 2022 Version 21H2
image

[Feature] Freigabe für Microsoft Office 2021
image

[Feature] Freigabe für PostgreSQL 14
image

Features und Verbesserungen

Administration

[Verbesserung] In den Stammdaten der Benutzerverwaltung werden nun etwaige angehängte Leerzeichen vor dem Speichern automatisch entfernt.

[Verbesserung] Unterstützung von Session-spezifischen TEMP-Ordnern in RemoteDesktop-Umgebungen, wenn diese durch Windows aber u.U. noch gar nicht erstellt wurden.

[Verbesserung] Benutzerverwaltung: bei neu eingegebenen Benutzernamen oder Gruppennamen werden nun automatisch führende und angehängte Leerzeichen entfernt.

[Feature] Die Länderkürzel im Länderkonfigurationsdialog werden jetzt ansichtenübergreifend für das gesamte Projekt gespeichert und verwendet, anstatt wie bisher nur für eine Ansicht.

[Verbesserung] Beim Schließen des Sortierkriterien-Dialoges wird nun geprüft, ob ein Sortierkriterium evtl. aus einem nicht (mehr) vorhanden Feld besteht. Anwender:innen können den Dialog erst verlassen, wenn diese Fehler korrigiert wurden, da anderenfalls u.U. erforderliche Indizes nicht erstellt werden können, und dadurch ggf. auch neu hinzugefügte Sortierkriterien im Anschluss fehlen werden.

[Verbesserung] Performance-Verbesserung: Die interne Tabelle „cmbt_manflttags“, in der Datensatzauswahlen von manuellen Filtern und Datensatzmehrfachauswahldialogen während einer Programm-Sitzung gespeichert werden, wird nun beim Schließen des Projektes und bei ‚Projekt Reorganisieren‘ automatisch aufgeräumt (leergelöscht), sofern der aktuelle Benutzer der einzige Benutzer in dieser Projekt-Datenbank ist. Dort können im Lauf der Zeit sonst unter Umständen eine für die zukünftige Performance von Manuellen-Filtern und Datensatzmehrfachauswahldialogen relevante Anzahl von „verwaisten“ Datensätzen zusammenkommen, zum Beispiel wenn in einem Script per DialogSelectRecordMultiple eine umfangreiche Datensatzauswahl erfolgt, aber anschließend das Script abbricht (z.B. durch einen Syntaxfehler während der Entwicklungs- oder Testphase eines Scripts).

Dokumentenverwaltung

[Verbesserung] Bei der Ablage von Dokumenten/eMails werden nun die Dokumenteninformationsfelder „Titel“, „Thema“, „Verfasser“, „Benutzer“, „Schlüsselworte“, „Kommentar“ nötigenfalls automatisch auf die Länge der verknüpften Datenbankfelder gekürzt, um eine Fehlermeldung des Datenbankservers wg. zu langer Feldinhalte, die abgeschnitten werden würden, zu verhindern („String or binary data would be truncated“). Der gekürzte Inhalt endet dann auf „…“.

Eingabemaske

[Verbesserung] Beim Anlegen eines neuen Datensatzes konnte es unter Umständen zu einem Absturz kommen, wenn eine formatierte Notiz vorhanden war.

[Verbesserung] Benutzerdefinierte Länderkürzel können jetzt in Folgeverknüpfungen verwendet werden.

[Verbesserung] Die Termin- und Aufgabencontainer haben nun auch einen „Container filtern“ Menüpunkt im Kontextmenü.

[Verbesserung] Wenn ein Container per Bearbeitbarkeitsbedingung nur lesend benutzbar sein soll, dann werden jetzt auch die entsprechenden „Neu“/„Bearbeiten“/etc. Menüpunkte aus dem Kontextmenü entfernt. Achtung: dies ersetzt keinesfalls adäquate Benutzerrechteeinstellungen, denn natürlich können Anwender:innen einfach zu Fuß über die Zielansicht die Container-Datensätze suchen und dann bearbeiten, löschen oder weitere anlegen.

Export

[Verbesserung] Die Feldliste zum Hinzufügen neuer Felder unterstützt nun Mehrfachauswahl.

[Verbesserung] Exchange-Sync: Die absolute Obergrenze für die maximale Anzahl der je Benutzer:in zu synchronisierenden Kontakte wurde von 2000 auf 8000 erhöht.

[Verbesserung] Die Feldliste zum Hinzufügen neuer Felder wird nun sowohl für die Tabellenfelder als auch für die relationalen Felder zunächst vor der Auswahl sortiert.

Filter

[Feature] Als Dubletten-Kriterium für die Echtzeit-Dublettenprüfung, den Dubletten-Filter und das Zusammenführen von Datensätzen inklusive Relationen beim gleichzeitigen Ignorieren von Duplikaten können nun auch Felder vom Typ ‚Global Eindeutige ID‘ angegeben werden. Die Vergleichsfeldlänge kann dabei nicht verkürzt werden, bei diesen GUID Feldern wird immer die komplette Länge verglichen.

[Verbesserung] Filterzeile und Filterassistent unterstützen nun eine neben dem Datum lediglich angegebene Stunde im Uhrzeitteil.

[Verbesserung] Filterassistent: Die Darstellung in der Filter-Baum-Übersicht stellt nun auch Vergleichswerte mit unvollständig eingegebenen Uhrzeitteilen entsprechend dar.

Import/Abgleich

[Verbesserung] Die automatische Feldzuordnung für den Re-Export nach Outlook wurde verbessert, so dass nun mehr Felder automatisch zugeordnet werden.

Mail

[Verbesserung] SMTP: Bei Fehlercode 421 (eigentlich „The service is unavailable due to a connection problem“ - sollte 452 sein („Too many emails sent or too many recipients: more in general, a server storage limit exceeded“)) wird nun auch ein Reconnect versucht.

[Verbesserung] Soll per Container-Rechtsklick-Kontextmenü auf ein eMail-Feld eine neue eMail über den integrierten eMail-Editor verschickt werden, so wird auch dort jetzt die etwaige hinterlegte Standard-eMail-Vorlage geladen.

[Verbesserung] eMail Autopilot: Zusätzliche Debugausgaben für Debwin hinzugefügt rund um das Starten eines konfigurierten Scriptes sowie bei aktiviertem Debugging des eMail Autopiloten als Dienst das Log unter %TEMP%\cmep08.log bereitstellen.

[Feature] EmailTools: Mit der Methode GetRecipientStatus kann der Status eines einzelnen Teilnehmers abgefragt werden.

[Verbesserung] EmailTools: Bei Sendinblue werden nun beim Hinzufügen eines Kontakts, welcher bereits auf der globalen Kontaktliste vorhanden ist, dessen Kontaktfelder automatisch aktualisiert.

Oberfläche

[Verbesserung] Das globale Projekt-Ereignis „Menübefehl verstecken“ wirkt sich nun auch auf die in der Projektnavigation dargestellten Einträge aus: WScript.Event.Data=„ZuVersteckende_MenüID1;ZuVersteckende_MenüID2;…“ für folgende Menü-IDs: 33131=Info-Zentrale, 33091=Termine & Aufgaben, 33127=Anrufe, 33526=Papierkorb (siehe auch SDK Dokumentation).

[Verbesserung] Das automatische Vorschlagen von Werten funktioniert nun auch bei Datum-Eingabefeldern.

[Verbesserung] Wird ein Codefeld gespeichert und ist dort keine einzige Code-Bezeichnung (mehr) gesetzt, dann wird das gesamte Feld auf NULL gesetzt (anstatt auf eine lange ‚00000…0000‘ Zeichenkette) Dies gilt für sowohl für das Bearbeiten eines Codefelds in der Eingabemaske als auch für die diversen SDK SetContents-COM-Methoden.

[Verbesserung] Bei Import, Export, Mailversand und Übernahme in Textverarbeitung werden Felder vom Typ ‚Papierkorb-ID‘ nicht mehr angeboten.

[Verbesserung] Eine Meldung für die Konfiguration des Papierkorbs in der Ansichtenkonfiguration verbessert.

[Verbesserung] Die Spaltennamen im Konfigurationsdialog der Datensatzüberwachungsbenachrichtungsliste sind jetzt nicht mehr Englisch.

[Verbesserung] Verbesserung der Darstellung von UTC-Zeiten in der Häufigkeitsstatistik, konkret in der Filterzeile bei den Feldern „Beginnt Am“ und „Endet Am“ für Termine+Aufgaben.

[Verbesserung] Die Direktsuche während des Tippens unterstützt nun auch noch unvollständige Eingaben in Datumzeitfeldern. (Ausnahme „Beginnt Am“ und „Endet Am“ für Termine+Aufgaben).

[Verbesserung] MSSQL-only: Performance-Verbesserung in den Datensatzüberwachungs- und Feldänderungsereignistriggern insbesondere bei Massenänderungen/Einfügungen/Löschungen.

[Verbesserung] MSSQL-only: Bei der Datensatzüberwachung wird nun das Verschieben eines beobachteten Datensatzes in den Papierkorb ebenso wie sein Wiederherstellen aus dem Papierkorb nicht mehr als „Änderung“ an die Beobachter gemeldet, so wie ein finales Löschen, gerade ohne aktiven Papierkorb, ebenfalls noch nie gemeldet wurde.

[Verbesserung] Performance-Verbesserung: Das Verschieben in den Papierkorb, endgültige Löschen oder Wiederherstellen vieler Datensätze auf einmal wurde deutlich beschleunigt.

[Verbesserung] Automatische Zähler wurden im Konfigurationsdialog mit einem inkorrekten Wert angezeigt, wenn der Zähler durch einen cRM-externen Mechanismus (Trigger o.ä.) geändert wurde.

SDK

[Verbesserung] Die Methoden cRM.DialogInputBox und cRM.DialogInputBoxMultiline unterstützen nun auch längere Fragetexte, die dann zu einer automatisch mehrzeiligen Darstellung des Fragetextes im Eingabedialog führen.

[Verbesserung] Das WScript.Event Objekt und seine Unterobjekte stehen nun in jedem Script zur Verfügung, also auch bei über ‚Start > Aktionen > Scripte > Ausführen‘, ‚Konfigurieren > Scripte > Ausführen‘ oder das Aktionen-Panel gestartete Scripte. Die im jeweiligen Kontext nicht verfügbaren Objekte sind dann null/nothing. WScript.Event.Project ist immer verfügbar und entspricht cRM.CurrentProject. Dies ermöglicht einen einheitlichen Script-Code unabhängig vom Ausführungskontext. Bislang lieferte selbst eine Prüfung auf „WScript.Event is nothing“ je Kontext einen Scriptfehler. Dies wird so nun vermieden. Achtung: Etwaige gesetzte WScript.Event Unterobjekte werden nicht in per ExecuteScriptBy… Aufrufe gestartete Scripte „weitergereicht“ (ausgenommen WScript.Event.Project, welches immer cRM.CurrentProject entspricht).

Übersichtsliste/Container

[Verbesserung] Ein per Filterzeile aktivierter Filter bleibt in der Übersichtsliste nun auch erhalten, wenn die Sortierung geändert wird.

Verzeichnisse

[Feature] Straßendatenbank für DE aktualisiert, Stand: Oktober 2021.

[Feature] Straßendatenbank für DE verbessert bezüglich Inseln, sorbischen & friesischen Namenszusätzen und Namenspräfixen.

Workflow

[Verbesserung] Beim Stopp+Start des Workflow Servers werden automatisch die Benutzerrechte neu aktualisiert, so dass geänderte Rechteeinstellungen für Benutzer dann wirksam werden (z.B. für die Exchange Server Adressbuchsynchronisation).

Performance

[Verbesserung] MSSQL-only: Performance-Verbesserung in den Datensatzüberwachungs- und Feldänderungsereignistriggern insbesondere bei Massenänderungen/Einfügungen/Löschungen.

[Verbesserung] Performance-Verbesserung: Die interne Tabelle „cmbt_manflttags“, in der Datensatzauswahlen von manuellen Filtern und Datensatzmehrfachauswahldialogen während einer Programm-Sitzung gespeichert werden, wird nun beim Schließen des Projektes und bei ‚Projekt Reorganisieren‘ automatisch aufgeräumt (leergelöscht), sofern der aktuelle Benutzer der einzige Benutzer in dieser Projekt-Datenbank ist. Dort können im Lauf der Zeit sonst unter Umständen eine für die zukünftige Performance von Manuellen-Filtern und Datensatzmehrfachauswahldialogen relevante Anzahl von „verwaisten“ Datensätzen zusammenkommen, zum Beispiel wenn in einem Script per DialogSelectRecordMultiple eine umfangreiche Datensatzauswahl erfolgt, aber anschließend das Script abbricht (z.B. durch einen Syntaxfehler während der Entwicklungs- oder Testphase eines Scripts).

[Verbesserung] Performance-Verbesserung: Das Verschieben in den Papierkorb, endgültige Löschen oder Wiederherstellen vieler Datensätze auf einmal wurde deutlich beschleunigt.