OLE-Automation

Aus InfoAgent Dokumentation
Wechseln zu: Navigation, Suche

InfoAgent - OLE Automation Schnittstelle

Aufbau und Anwendung der Automation Schnittstelle

InfoAgent kann ab der Version 2.7.022 erstmals über eine OLE Automation Schnittstelle angesprochen werden.

In den nächsten Versionen wird die Schnittstelle weiter ausgebaut. Zukünftig ist mehr und mehr das Steuern von InfoAgent, sowie der Datenaustausch mit anderen Anwendungen möglich.

InfoAgent starten, Anmeldung an InfoAgent

Für die InfoAgent-Fernsteuerung gibt es prinzipiell zwei unterschiedliche Szenarien:

  1. Ein Anwender arbeitet mit InfoAgent und Sie wollen durch Ihre Applikation Aktionen im Arbeitsbereich dieses Anwenders durchführen. Es wird dann kein Login benötigt, es ist bereits durch den Anwender ausgeführt worden. Sie müssen in Ihrer Applikation dann nur prüfen, ob InfoAgent bereits aktiv ist.
  2. Sie haben einen eigenständigen Prozess. In diesem Fall muss die Applikation ein Login (und am Ende ein Logout) durchführen.
Anmeldung an InfoAgent für den Fall 1
' InfoAgent erzeugen
Set IA = CreateObject("infoagent.app")
' Versionsnummer abfragen
MsgBox "Versionsnummer: "   & IA.Version
' Aktuelle Ansicht abfragen
MsgBox "Aktuelle Ansicht: " & IA.selectview (-1)
Anmeldung an InfoAgent für den Fall 2
' InfoAgent erzeugen
Set IA = CreateObject("infoagent.app")
' Login übergeben
IA.Login "administrator", "passwort"
' Suchewort abfragen
Suche  = inputbox("Bitte Kundennamen eingeben:",
  "InfoAgent Kundensuche")
' Kundensuche durchführen
Result = IA.DoKdSearch (Suche)
' Rückgabewert auswerten
if Result = 1 then
' InfoAgent in den Vordergrund bringen
  IA.StayOnTop
Else
  MsgBox "Fehler bei der Kundensuche"

function CallIn (long)

Ein eingehender Anruf kann hier an InfoAgent übergeben werden. Die übergebene Telefonnummer wird wie ein selbst festgestellter, eingehender Anruf per CAPI behandelt und über eine Meldung signalisiert. (Ab IA Version 2.8.9.0)

Voraussetzung ist, dass ein Benutzer in InfoAgent angemeldet ist.
long CallIn (Number: WideString)

Parameter

  • Number: eingehende Rufnummer

Rückgabewerte

  • 1: Darstellung des Anrufs wurde ausgeführt
  • -1: Kein Arbeitsbereich aktiv



function DoKdSearch (long)

Führt in InfoAgent eine Kundensuche durch.

Voraussetzung zum Suchen nach Kunden ist, dass die Kundentabelle die aktive Ansicht in InfoAgent ist. Zum Abfragen oder Wechseln der aktiven Ansicht in InfoAgent nutzen Sie die function SelectView.
long DoKdSearch (SuchString: WideString)

Parameter

  • SuchString: Suchwert nachdem gesucht werden soll

Rückgabewerte

  • 1: Suche wurde ausgeführt
  • -1: Kein Arbeitsbereich aktiv
  • -2: Keine Kundentabelle als aktive Ansicht vorhanden

siehe auch


procedure Login

Falls Ihr Programm einen bereits laufenden InfoAgent vorfindet, kann es im Kontext des bereits angemeldeten Anwenders arbeiten.

Falls Ihr Programm jedoch einen eigenen InfoAgent starten muss, ist es notwendig, dass Sie als erste Aktion ein Login durchführen. Im Rahmen dieses Login übergeben Sie den gewünschten Anmeldenamen und das zugehörige Passwort. Nach Beendigung der Arbeit ist dann unbedingt ein Logout mit der Procedure Logout durchzuführen, andernfalls wird das System beim nächsten Start einen möglichen Zugriffskonflikt bemängeln.
Login (User, PW: WideString)

Parameter

  • UserName: InfoAgent Anmeldename unter dem die Aktionen durchgeführt werden sollen.
  • Passwort: InfoAgent Zugangs-Passwort

Rückgabewerte

keine

siehe auch

Logout


procedure Logout

Meldet InfoAgent komplett ab und schließt die Anwendung. Alle offenen Fenster werden geschlossen. Nicht gespeicherte Daten werden nach Abfrage ggf. gespeichert.

Nach einem Logout dürfen Sie nicht sofort ein neues Login ausführen. Da sich das Programm dann gerade im Beenden Zustand befindet, erhalten Sie in diesem Fall eine Schutzverletzung. Sie müssen nach einem Logout eine kurze Zeit warten (1..5 Sekunden) bis das Programm völlig beendet wurde UND ein neues InfoAgent-Objekt mit CreateOleObject erzeugen (das alte ist nach dem Logout nicht mehr gültig, eine Verwendung führt zu einer Schutzverletzung).

Parameter

keine

Rückgabewerte

keine

siehe auch

Login


function SelectView

Über die Funktion SelectView können Sie bestimmen welche Arbeitsoberfläche sichtbar sein soll. Weiterhin können Sie damit abfragen, welche

gerade sichtbar ist.
long SelectView (mode: long)

Parameter

  • Mode
    • -1: Abfrage der aktuellen Arbeitsoberfläche (Wert 0..499)
    • >=0: Setzen der Arbeitsoberfläche:
Start
0: Übersicht
1: Kundentabelle
2: Vertragstabelle
3: Kalender
4: Störfalltabelle
5: Schadentabelle
6: Gesellschaftstabelle
Stammdaten
50: Mitarbeiterverwaltung
51: Kontakttabelle
Auswertung
100: Kunden
101: Vertrag
102: Kennzahlen
Provision
150: Provisionseingang
151: Verträge ohne Provision
152: Buchungslauf
153: Auszahlung
154: Auswertung
Inkasso
200: Buchungslauf
201: Rechnungen
202: Mahnlauf
203: Mahnungen
204: Auswertung
205: Konten
206: DTA

Rückgabewerte

  • Bei Parameter Mode >= 0
    • 1: Wechsel erfolgreich
    • -1: Kein Arbeitsbereich Aktiv
    • -2: Wechsel nicht erfolgreich (möglicherweise nicht genügend Rechte)
  • Bei Parameter Mode = -1
    • 0..499: Aktive Arbeitsoberfläche



procedure StayOnTop

Mit der Funktion StayOnTop können Sie InfoAgent auf dem Desktop in den Vordergrund bringen und damit für den Anwender sichtbar machen, wenn InfoAgent durch ferngesteuerte andere Applikationen zuvor verdeckt wurde. Sollte die Anwendung minimiert gewesen sein, so wird die ursprüngliche Fenstergröße wiederhergestellt.

Parameter

keine

Rückgabewerte

keine



property Version (WideString)

Diese Eigenschaft ermittelt die aktuelle Versionsnummer der InfoAgent-Anwendung.

Parameter

keine

Rückgabewerte

  • InfoAgent Versionsnummer



function GetObjectSelected (WideString)

Gibt die Guid des in einer Ansicht aktuell markierten Eintrags zurück. Voraussetzung ist,

  • dass man in InfoAgent eingeloggt ist,
  • dass die richtige Ansicht aktiv ist (Kundentabelle bzw. Vertragstabelle) und
  • dass ein Eintrag markiert ist.


WideString GetObjectSelected (Id: long)

Parameter

  • Id: Eintrag, nach dem gesucht werden soll (1=Vertrag, 6=Kunde)

Rückgabewerte

  • Guid des markierten Eintrags
  • ERR 01: keine gültige Id
  • ERR 02x: kein Eintrag markiert



function GetConnectionString (WideString)

Gibt den ConnectionString für die aktuelle Verbindung zur InfoAgent-Datenbank zurück Voraussetzung ist, dass man in InfoAgent eingeloggt ist.
WideString GetConnectionString (Passwort: WideString)

Parameter

  • Passwort: muss bei der Buchholz Software GmbH beantragt werden

Rückgabewerte

  • ConnectionString
  • ERR: kein gültiges Passwort



Siehe auch