Verbindungen eines Mandanten
Mit diesen Funktionen erkennt ein Skript zur Laufzeit, welche Verbindungen zu einem Büro+ Mandanten eingerichtet sind. So lässt sich ein Skript schreiben, das GraphQL oder die SQL-Replikation (PostgreSQL) verwendet, wenn sie vorhanden sind, und sonst über COM arbeitet.
•MandantHasCom: prüft, ob eine Büro+ COM-Verbindung besteht
•MandantHasGraphQl: prüft, ob eine GraphQL-Verbindung besteht
•MandantHasPgSql: prüft, ob eine PostgreSQL-Verbindung besteht
•MandantComConnection: liefert den Namen der Büro+ Verbindung, „Main“ für die Hauptanbindung
•MandantGraphQlConnection: liefert den Namen der GraphQL-Verbindung
•MandantPgSqlConnection: liefert den Namen der PostgreSQL-Verbindung
Zuordnung zum Mandanten
Die Hauptanbindung und jede Büro+ Verbindung kennen ihren Mandanten selbst. PostgreSQL- und GraphQL-Verbindungen werden über das Feld „Büro+ Verbindung“ in ihren Einstellungen einem Mandanten zugeordnet. Dort wählen Sie „Main“ für die Hauptanbindung oder den Namen einer weiteren Büro+ Verbindung. Ist „Keine“ gewählt, findet keine der Funktionen die Verbindung.
Main als Name der Hauptanbindung
Überall, wo ein Verbindungsname angegeben wird, steht „Main“ für die Hauptanbindung, genauso wie ein leerer Name. Das gilt für Funktionsparameter und für Tabellenverweise, z. B. Main:Vorgang.BelegNr statt Vorgang.BelegNr. Bestehende Skripte ohne Verbindungsnamen arbeiten unverändert weiter. Verwenden Sie „Main“ deshalb nicht als Namen einer eigenen Verbindung.
Beispiel
Liest Daten über die SQL-Replikation, wenn sie für den Hauptmandanten eingerichtet ist, sonst über COM.
Declare lMandant as String
Declare lVerbindung as String
lMandant = GetBueroPlusLoginInfo("Mandant")
If MandantHasPgSql(lMandant) Then
lVerbindung = MandantPgSqlConnection(lMandant)
'Abfrage über PgSqlGetTable(lVerbindung + ":vorgang", lSql)
Else
'Abfrage über GetTable("Main:Vorgang", ...)
EndIf