Arbeiten mit Schnittstellen (Extensions)

Beschreibt die Handhabung von Extensions (Schnittstellen)

Schnittstellen zu externen Programmen werden in Vertec in Form von Extensions implementiert. Eine Extension ist eine Software Komponente, die meist als Python Script ausgeliefert wird und von Vertec zur Laufzeit eingebunden werden kann.

Der Vorteil des Extensions Konzepts ist, dass in der Vertec Applikation nur die generelle Unterstützung für eine bestimmte Art von Extension (z.B. Debitoren) implementiert ist. Die eigentliche programmspezifische Anbindung an eine externe Applikation ist in der Extension vorhanden und damit unabhängig vom Vertec Code. So können auch weitere Drittprogramme einfach unterstützt werden, ohne dass an der Vertec Kernstruktur etwas geändert werden muss. 

Installation

Extensions müssen in Vertec installiert werden, damit ihre Funktionalität zur Verfügung steht.

Sie sind im Ordner Einstellungen > Schnittstellen > Extensions zu finden.

Durch Doppelklick öffnet sich die Einzelmaske. Um die Schnittstelle zu installieren, klicken Sie auf den Button Installieren:

Der Button wechselt daraufhin seine Bezeichnung zu Deinstallieren. Klicken Sie darauf, wenn Sie die Schnittstelle wieder deinstallieren möchten.

Cloud Fähigkeit

Die Schnittstellen haben eine der folgenden Optionen:

  • Keine: Nicht cloudfähige Schnittstellen erscheinen nur in der Desktop App zur Auswahl und können auch nur mit der Desktop App betrieben werden.
  • Nur Cloud App: Die Schnittstelle ist in der Cloud App (und der Desktop App) verwendbar. Es handelt sich dabei um COM-Schnittstellen, die via COM Forwarding auf die Drittprogramme zugreifen.
  • Cloud und Web App: Die Schnittstelle ist in allen full-featured Apps und in geplanten Aufgaben verwendbar.
Auto Load

AutoLoad bedeutet, dass die Extension beim Start von Vertec geladen wird.

Normalerweise wird eine Extension erst geladen und initialisiert, wenn zum ersten Mal darauf zugegriffen wird. Das ist für Buchhaltungs-Schnittstellen ausreichend. Bei Telefonie-Schnittstellen, die eingehende Anfrufe behandeln sollen, geht das nicht. Diese müssen unabhängig vom ersten Zugriff beim Start der Applikation geladen werden. Dafür braucht es die Auto-Load Einstellung.

Logging

Die Logging-Checkbox schaltet den Log-Output für die entsprechende Extension ein. Die Einstellung gilt nur, solange die Applikation läuft. Der Log-Output erscheint in der Python Konsole oder im Output-Fenster des Script-Editors, falls diese geöffnet sind.

Zusätzlich erscheint der Log-Output auch im Vertec Logfile, falls in der Konfigurationsdatei Vertec.ini in der [Log]-Section die DebugCategories auf Vertec.extensions gesetzt sind.

[Log]
DebugCategories=Vertec.extensions
Reload
Startet die Extension neu bzw. lädt nach einer Code-Änderung den Code neu, ohne dass die Applikation dafür extra neu gestartet werden muss.
Defaultwerte
Setzt alle Einstellungen der Extension auf die Werte zurück, mit denen sie beim Installieren initialisiert werden.

Eingebauter Code

Der eingebaute Code kann auf dem Extension-Objekt eingesehen werden:

Schnittstelle kundenspezifisch anpassen

Schnittstellen-Script erzeugen

Um eine neue Schnittstelle zu erzeugen oder eine bestehende anzupassen, erzeugen Sie im Ordner Einstellungen > Scripts einen neuen Scripteintrag und verfassen den Schnittstellen-Code als Python Script.

Die Bezeichnung des Scripteintrags ist der Modulname. Zusammen mit dem Klassen-Namen der Extension bildet er die Extension-ID. Diese geben Sie bei der Registrierung der Schnittstelle auf dem Extension-Objekt an. Modulnamen müssen eindeutig sein. Sie "überschreiben" also nicht eine bestehende Schnittstelle, indem Sie ein Modul gleichen Namens verfassen, sondern indem Sie ein neues Modul mit neuem Namen verfassen und die Extension-Klasse aus diesem statt dem bereits bestehenden installieren.

Extension registrieren

Daraufhin erzeugen Sie im Ordner Einstellungen > Extensions eine neue Extension und füllen Sie wie folgt aus:

  • Extension-ID: Setzt sich zusammen aus dem Modulnamen (Name des Scripteintrags) und der Extension-Klasse im Code, durch Punkt getrennt, z.B.

Folgende Attribute werden durch Eigenschaften der Klasse im Code gesteuert:

  • Beschreibung: __doc__
  • Version: __version__
  • Art: __category__ (die verschiedenen Arten sehen Sie in der Liste unter Einstellungen > Extensions)
  • Cloudfähig: __cloud__ (True oder False)

Netherlands

United Kingdom