OLE-Automation: Unterschied zwischen den Versionen
(Funktionen GetObjectSelected, GetConnectioString) |
|||
(6 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 30: | Zeile 30: | ||
IA.Login "administrator", "passwort" | IA.Login "administrator", "passwort" | ||
' Suchewort abfragen | ' Suchewort abfragen | ||
− | Suche = inputbox("Bitte Kundennamen eingeben:","InfoAgent Kundensuche") | + | Suche = inputbox("Bitte Kundennamen eingeben:", |
+ | "InfoAgent Kundensuche") | ||
' Kundensuche durchführen | ' Kundensuche durchführen | ||
Result = IA.DoKdSearch (Suche) | Result = IA.DoKdSearch (Suche) | ||
Zeile 42: | Zeile 43: | ||
{{Vorlage:Procedure | {{Vorlage:Procedure | ||
− | |Name= | + | |Name=function CallIn (long) |
− | |Beschreibung= | + | |Beschreibung=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. | ||
+ | |Syntax=long CallIn (Number: WideString) | ||
+ | |Parameter=*Number: eingehende Rufnummer | ||
+ | |Rückgabewerte= | ||
+ | *1: Darstellung des Anrufs wurde ausgeführt | ||
+ | |||
+ | *-1: Kein Arbeitsbereich aktiv | ||
}} | }} | ||
{{Vorlage:Procedure | {{Vorlage:Procedure | ||
Zeile 61: | Zeile 70: | ||
{{Vorlage:Procedure | {{Vorlage:Procedure | ||
|Name=procedure Login | |Name=procedure Login | ||
− | |Beschreibung=Falls Ihr Programm | + | |Beschreibung=Falls Ihr Programm einen bereits laufenden InfoAgent vorfindet, kann es im Kontext des bereits angemeldeten Anwenders arbeiten. |
− | Falls Ihr Programm jedoch | + | 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. | 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. | ||
|Syntax=Login (User, PW: WideString) | |Syntax=Login (User, PW: WideString) | ||
Zeile 79: | Zeile 88: | ||
{{Vorlage:Procedure | {{Vorlage:Procedure | ||
|Name=function SelectView | |Name=function SelectView | ||
− | |Beschreibung=Über die Funktion SelectView können Sie bestimmen welche Arbeitsoberfläche sichtbar sein soll. Weiterhin können Sie damit abfragen, welche gerade | + | |Beschreibung=Über die Funktion SelectView können Sie bestimmen welche Arbeitsoberfläche sichtbar sein soll. Weiterhin können Sie damit abfragen, welche |
+ | |||
+ | gerade sichtbar ist. | ||
|Syntax=long SelectView (mode: long) | |Syntax=long SelectView (mode: long) | ||
|Parameter=*Mode | |Parameter=*Mode | ||
Zeile 120: | Zeile 131: | ||
*Bei Parameter Mode = -1 | *Bei Parameter Mode = -1 | ||
**0..499: Aktive Arbeitsoberfläche | **0..499: Aktive Arbeitsoberfläche | ||
+ | }} | ||
+ | {{Vorlage:Procedure | ||
+ | |Name=procedure StayOnTop | ||
+ | |Beschreibung=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. | ||
}} | }} | ||
{{Vorlage:Procedure | {{Vorlage:Procedure | ||
Zeile 126: | Zeile 141: | ||
|Rückgabewerte=*InfoAgent Versionsnummer | |Rückgabewerte=*InfoAgent Versionsnummer | ||
}} | }} | ||
+ | {{Vorlage:Procedure | ||
+ | |Name=function GetObjectSelected (WideString) | ||
+ | |Beschreibung=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. | ||
+ | |Syntax=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 | ||
+ | }} | ||
+ | {{Vorlage:Procedure | ||
+ | |Name=function GetConnectionString (WideString) | ||
+ | |Beschreibung=Gibt den ConnectionString für die aktuelle Verbindung zur InfoAgent-Datenbank zurück | ||
+ | Voraussetzung ist, dass man in InfoAgent eingeloggt ist. | ||
+ | |||
+ | |Syntax=WideString GetConnectionString (Passwort: WideString) | ||
+ | |Parameter=*Passwort: muss bei der Buchholz Software GmbH beantragt werden | ||
+ | |Rückgabewerte=*ConnectionString | ||
+ | *ERR: kein gültiges Passwort | ||
+ | }} | ||
+ | |||
+ | == Siehe auch == | ||
+ | * [[OLE-Schnittstelle]] | ||
− | [[Kategorie:InfoAgent]] | + | [[Kategorie:InfoAgent]] |
+ | [[Kategorie:Schnittstellen]] |
Aktuelle Version vom 22. Dezember 2011, 10:18 Uhr
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:
- 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.
- 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
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
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