Application & Verbindung
3.1.1 IAutoBase Interface
Basisobjekt für alle COM-Objekte.
IDL
[ uuid(37D14AB1-2E25-11D3-BA02-004005232B30), version(1.0),
helpstring("Grundlegende Dispatch-Schnittstelle für alle Objekte"),
hidden, dual, oleautomation ]
interface IAutoBase : IDispatch;
IAutoBase bildet das Basisobjekt aller verwendeten COM-Objekte. Daher kann jedes COM-Objekt der microtech Software auf IAutoBase getypecastet werden.
IAutoBase Eigenschaften
| Name | Beschreibung |
|---|---|
| Application | Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen. |
| Parent | Gibt das Parent Interface zurück. |
IAutoBase::Application Eigenschaft
Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
IDL
__property IAutoApplication** Application;
Dieses Interface kann verwendet werden, um das AutoApplication-Objekt, von dem alle Interfaces abstammen, zu erhalten.
| Parameter | Beschreibung |
|---|---|
| Value | Rückgabewert, der das Basisobjekt beinhaltet. |
IAutoBase::Parent Eigenschaft
Gibt das Parent Interface zurück.
IDL
__property IAutoBase** Parent;
Das hier erhaltene Interface kann verwendet werden, um das übergeordnete Interface zu erhalten.
| Parameter | Beschreibung |
|---|---|
| Value | Falls ein Parent-Objekt vorhanden ist, wird dessen AutoBase Interface zurückgegeben. Ansonsten ein Nil Interface. |
3.1.2 IAutoApplication Interface
Application ist das Objekt, das alle anderen Elemente erzeugt.
IDL
[ uuid(C74FB8F1-A6EF-11D2-B95E-004005232B30), version(1.0),
helpstring("Dispatch-Schnittstelle für Application-Objekt"),
dual, oleautomation ]
interface IAutoApplication : IAutoBase;
Application ist das erste und einzige Objekt, das mit CreateOleObject (Delphi) oder CreateObject (WinApi) ins Leben gerufen werden muss. Alle anderen Interfaces werden durch Funktionen von diesem erstellt.
Alle Sprachen sollten das Application-Objekt verwenden. AutoApplication ist für die interne Verwendung in Skripten vorgesehen.
Die ProgID ist: BpNT.Application
VisualBasic und verwandte Sprachen:
Set BpApp = CreateObject("BpNT.Application")
Delphi und verwandte Sprachen:
CreateOleObject('BpNT.Application');
IAutoApplication Eigenschaften
Methoden
| Name | Beschreibung |
|---|---|
| GetKundendaten | Gibt eine eindeutige Identifizierung zurück. |
| GetVersion | Gibt die Versionsnummer der microtech Programmdatei zurück. |
| Init | Initialisierung der COM-Instanz. |
| NewProtocoll | Erstellt ein Interface für Protokolleinträge. |
| SelectMand | Auswählen des gewünschten Mandanten. |
| WriteLn | Einfaches, konsolenähnliches Write Line. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Application | Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen. |
| DataSetInfos | Listet alle Metainformationen der Datenbanken auf. |
| Event | Obsolete: Events für Datenbankaktionen. |
| MandList | Gibt eine Tabelle mit den Mandanten zurück. |
| MandPfad | Gibt den Pfad zu den Mandantendaten zurück. |
| Parent | Gibt das Parent Interface zurück. |
| TempPfad | Gibt den Pfad des temporären Verzeichnisses zurück. |
IAutoApplication::Init Methode
Initialisierung der COM-Instanz.
IDL
[id(0x00000002)]
HRESULT _stdcall Init([in] BSTR ConnectionName, [in] BSTR ConnectionKey,
[in] BSTR UserName, [in] BSTR UserPass);
Der Init-Aufruf ist der erste zu tätigende Aufruf. Hier wird Firmenname, Anmeldename und Passwort übergeben.
BpApp.Init("Ihr Firmenname", "", "Ihr Anmeldename", "Ihr Passwort")
"Ihr Firmenname" entspricht dabei dem Firmennamen, der angezeigt wird, wenn Sie im Programmmenü DATEI - HILFE und danach "SUPPORT & HOTLINE" auswählen. Im nun geöffneten Fenster finden Sie unter "Ihre Kundendaten bei microtech" den Firmennamen, mit dem die Anmeldung vorzunehmen ist. Bitte beachten Sie Groß- und Kleinschreibung sowie enthaltene Leerzeichen.
Solution-Partner haben hier einen geänderten Aufruf:
BpApp.Init("Solution Partner Name", "Solution Partner Key", "Ihr Anmeldename", "Ihr Passwort")
| Parameter | Beschreibung |
|---|---|
| [in] BSTR ConnectionName | Ihr Firmenname. Solution Partner: Ihr Solution Partner Name |
| [in] BSTR ConnectionKey | Bleibt leer, z. B.: "". Solution Partner: Ihr Solution Partner Key |
| [in] BSTR UserName | Benutzername |
| [in] BSTR UserPass | Benutzerpasswort |
IAutoApplication::SelectMand Methode
Auswählen des gewünschten Mandanten.
IDL
[id(0x00000003)]
HRESULT _stdcall SelectMand([in] BSTR Nr);
Typischerweise ist die Funktion die zweite aufgerufene in einem COM-Programm. Beim Prozeduraufruf "SelectMand" ist die Nummer des gewünschten Mandanten anzugeben. Die Vorgabe bezüglich der Mandantennummern ist numerisch, allerdings kann beim Erstellen eines Mandanten auch ein alphanumerischer Wert gesetzt werden.
| Parameter | Beschreibung |
|---|---|
| [in] BSTR Nr | String-Entsprechung der Mandantennummer, z. B.: "Mandant 1" oder "1" |
IAutoApplication::MandList Eigenschaft
Gibt eine Tabelle mit den Mandanten zurück.
IDL
__property AutoDataSet** MandList;
Dieser Aufruf kann nach SelectMand verwendet werden. Es wird eine Tabelle zurückgegeben, die alle Mandanten enthält.
BpTbl := BpApp.MandList
MessageBox(BpTbl.Fields['MandNr'].AsString)
| Parameter | Beschreibung |
|---|---|
| Value | Gibt ein AutoDataSet Interface mit der Mandantentabelle zurück. |
IAutoApplication::NewProtocoll Methode
Erstellt ein Interface für Protokolleinträge.
IDL
[id(0x00000005)]
HRESULT _stdcall NewProtocoll([in] BSTR Bez, [out, retval] IAutoProtokoll** Value);
Dieser Aufruf kann nach "SelectMand" verwendet werden. Diese Funktion stellt ein Interface bereit, mit dem ein Protokoll in der microtech Software geschrieben werden kann.
Dieses Protokoll ist unter OPTIONEN - PROTOKOLLÜBERSICHT in der Software einsehbar.
| Parameter | Beschreibung |
|---|---|
| [in] BSTR Bez | Name, unter dem das Protokoll geführt wird |
| [out, retval] IAutoProtokoll** Value | Rückgabe eines AutoProtokoll Interfaces |
IAutoApplication::WriteLn Methode
Einfaches, konsolenähnliches Write Line.
IDL
[id(0x00000006)]
HRESULT _stdcall WriteLn([in] VARIANT Value);
WriteLn stellt eine einfache Methode zum Schreiben von textuellen Meldungen zur Verfügung. Es wird empfohlen, dieses Werkzeug nur in der Entwicklungsphase zu verwenden. Zur Ausgabe von Stati für Kunden empfehlen wir das AutoProtokoll oder Benutzernachrichten.
| Parameter | Beschreibung |
|---|---|
| [in] VARIANT Value | Ein String-basierter Wert, der angezeigt wird |
IAutoApplication::Event Eigenschaft
Obsolete: Events für Datenbankaktionen.
IDL
__property IAutoEvent** Event;
Dieser Aufruf sollte Events für die Datenbanken zur Verfügung stellen. Das ist technisch leider nicht umsetzbar, da die Laufzeiten durch den Transport der Events zu hoch sind. Daher ist diese Funktionalität nicht verfügbar.
IAutoApplication::DataSetInfos Eigenschaft
Listet alle Metainformationen der Datenbanken auf.
IDL
__property IAutoDataSetInfos** DataSetInfos;
Gibt eine Liste mit allen Metainformationen der DataSets zurück. Dieses Objekt stellt Beschreibungsinformationen zur Verfügung. Dieses Element ist die Basis für alle Datenbanken, die geöffnet werden.
DataSet = BpApp.DataSetInfos["Adressen"].CreateDataSet
| Parameter | Beschreibung |
|---|---|
| Value | Gibt ein Interface auf AutoDataSetInfos zurück |
IAutoApplication::MandPfad Eigenschaft
Gibt den Pfad zu den Mandantendaten zurück.
IDL
__property BSTR* MandPfad;
Dieser Aufruf kann nach "SelectMand" verwendet werden. Die Funktion gibt den Pfad zum Speicherort der Mandantendaten zurück.
| Parameter | Beschreibung |
|---|---|
| Value | Gibt einen String mit dem Pfad zu den Mandantendaten zurück |
IAutoApplication::TempPfad Eigenschaft
Gibt den Pfad des temporären Verzeichnisses zurück.
IDL
__property BSTR* TempPfad;
Dieser Aufruf kann nach "SelectMand" verwendet werden. Der Rückgabewert enthält den Pfad zu den temporären Dateien der Instanz.
| Parameter | Beschreibung |
|---|---|
| Value | Gibt einen String mit dem Pfad zum temporären Verzeichnis zurück |
IAutoApplication::GetKundendaten Methode
Gibt eine eindeutige Identifizierung zurück.
IDL
[id(0x00000001)]
HRESULT _stdcall GetKundendaten([in, out] VARIANT* aKundennummer,
[in, out] VARIANT* aFirmenname,
[in, out] VARIANT* aPostleitzahl);
Mit der Funktion "GetKundenDaten" können Sie eine eindeutige Identifizierung des Mandanten abfragen. Diese Informationen sind die Daten, die auch bei der microtech GmbH hinterlegt sind.
BpApp.GetKundendaten(KdNr, FrmN, Plz)
MessageBox(KdNr + ' ' + FrmN + ' ' + Plz)
Bitte beachten Sie: microtech nimmt diese Werte im String-Format entgegen. Daher kann eine Kundennummer durchaus Buchstaben enthalten, auch wenn dies aktuell keine gültige Kundennummer darstellt. Dasselbe gilt ebenfalls für die Postleitzahl.
| Parameter | Beschreibung |
|---|---|
| [in, out] VARIANT* aKundennummer | Kundennummer als String |
| [in, out] VARIANT* aFirmenname | Firmenname als String |
| [in, out] VARIANT* aPostleitzahl | Postleitzahl als String |
IAutoApplication::GetVersion Methode
Gibt die Versionsnummer der microtech Programmdatei zurück.
IDL
[id(0x0000000B)]
HRESULT _stdcall GetVersion([out, retval] BSTR* aResult);
Diese Funktion gibt die aktuelle Versionskennung des microtech Programms zurück. Dieser String entspricht dem, der auch im Hauptfenster der Software ersichtlich ist.
MessageBox(BpApp.GetVersion)
Bitte beachten Sie auch die Funktion "GetVersionEx".
Anmerkungen: Ab Build 3834 könnte diese Funktion andere Werte zurückgeben. Aktuell ist noch nicht vorgesehen dies zu tun, aber Sie sollten Ihre Funktionen darauf ausrichten, dass eventuell Werte mit 4 Punkten auftreten können: Bsp.: 11.0.3834.0.
| Parameter | Beschreibung |
|---|---|
| Value | Gibt einen String mit der Versionsnummer zurück |
3.1.3 IAutoApplication2 Interface
Von IAutoApplication abstammendes Interface.
IDL
[ uuid(6E436573-F918-4B32-9D0F-C66900BD9B33), version(1.0),
dual, oleautomation ]
interface IAutoApplication2 : IAutoApplication;
IAutoApplication2 Eigenschaften
Methoden
| Name | Beschreibung |
|---|---|
| GetKundendaten | Gibt eine eindeutige Identifizierung zurück. |
| GetVersion | Gibt die Versionsnummer der microtech Programmdatei zurück. |
| Init | Initialisierung der COM-Instanz. |
| NewProtocoll | Erstellt ein Interface für Protokolleinträge. |
| OpenLayoutGroup | Bereitet einen Im/Export vor. |
| PossibleLayoutGroup | Gibt die möglichen Bereiche eines Im-/Export Layouts an. |
| SelectMand | Auswählen des gewünschten Mandanten. |
| WriteLn | Einfaches, konsolenähnliches Write Line. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Application | Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen. |
| DataSetInfos | Listet alle Metainformationen der Datenbanken auf. |
| Event | Obsolete: Events für Datenbankaktionen. |
| MandList | Gibt eine Tabelle mit den Mandanten zurück. |
| MandPfad | Gibt den Pfad zu den Mandantendaten zurück. |
| Parent | Gibt das Parent Interface zurück. |
| TempPfad | Gibt den Pfad des temporären Verzeichnisses zurück. |
IAutoApplication2::OpenLayoutGroup Methode
Bereitet einen Im/Export vor.
IDL
[id(0x0000000C)]
HRESULT _stdcall OpenLayoutGroup([in] BSTR aModul, [in] BSTR aGroup,
[out, retval] AutoLayoutGroup** aResult);
Dieser Aufruf kann nach "SelectMand" verwendet werden.
Der Parameter "Group" setzt sich wie folgt zusammen:
| Element | Bedeutung |
|---|---|
| z. B.: Adr (3 Buchstaben als Kurzname einer Tabelle) | Wenn Sie das Layout gestalten, sehen Sie im Feldeditor den Kurznamen der Datenbanktabelle, z. B. Adr.AdrNr → die Tabelle ist "Adressen" |
| "Exp" oder "Imp" | Angabe, ob ein Export oder Import Layout Verwendung findet |
| "Liste" oder "Grp" | Angabe, ob ein Listenlayout oder Gruppenlayout verwendet wird. (Gruppen werden nicht empfohlen) |
Da man ein Layout nur in dem dafür vorgesehenen Programmabschnitt sinnvoll verwenden kann, sollten Sie direkt für Ihr Layout abfragen, in welche Group es passt.
Verwenden Sie hierzu die Funktion PossibleLayoutGroup('Modulkürzel', 'Datenbankname') → Kommaseparierte Liste.
WSH-Codebeispiel
Dim BpNT
Dim LayoutGroup
Dim Layout
Dim ExecLayout
Set BpNT = WScript.CreateObject("BpNT.Application")
Call BpNT.Init("Firmenname", "", "Anmeldename", "Password")
Call BpNT.SelectMand("1")
Set LayoutGroup = BpNT.OpenLayoutGroup("Au", "AdrExpListe")
Set Layout = LayoutGroup.ImportLayoutFromFile("C:\testlayout.bpl", "Mein neuer interner Name", True)
Set ExecLayout = Layout.doExport
Call ExecLayout.Execute
Set BpNT = Nothing
| Parameter | Beschreibung |
|---|---|
| [in] BSTR aModul | Kennzeichnet das Modul für den Import/Export |
| [in] BSTR aGroup | Legt die verwendete Gruppe fest |
| [out, retval] AutoLayoutGroup** aResult | Gibt ein Interface auf AutoLayoutGroup zurück |
IAutoApplication2::PossibleLayoutGroup Methode
Gibt die möglichen Bereiche eines Im-/Export Layouts an.
IDL
[propget, id(0x0000000F)]
HRESULT _stdcall PossibleLayoutGroup([in] BSTR aModul, [in] BSTR aDBName,
[out, retval] BSTR* Return);
Dieser Aufruf kann nach "SelectMand" verwendet werden. Mit der Funktion "PossibleLayoutGroup" bekommt man eine kommaseparierte Liste, die alle möglichen Positionen eines Layouts angibt.
| Modul | microtech Software Entsprechung |
|---|---|
| Au | Auftrag |
| Fi | FiBu |
| Lo | Lohn |
| Su | Support |
Als DbName wird der Name übergeben, der auch für "CreateDataSet" verwendet wird.
Der Rückgabewert setzt sich wie folgt zusammen: Die ersten zwei Buchstaben beziffern das Modul (erster Parameter der Funktion "OpenLayoutGroup"), die nächsten drei Buchstaben das Einsatzgebiet (z. B. "Adr" für Adressen), die nächsten drei Buchstaben bezeichnen Import "imp" oder Export "exp", und die Art der Verarbeitung ist der letzte Teil: "Liste" (normales Layout) oder "Gruppe" (Grp). Eine Gruppe setzt voraus, dass die anderen beteiligten Layouts schon vorhanden sind (Gruppen werden nicht empfohlen).
Pseudo-Codebeispiel
BpApp.SelectMand('mein Mandant mit dem definierten Layout');
BpTbl := BpApp.DataSetInfos('OffenePosten').CreateDataSet;
showmessage(BpApp.PossibleLayoutGroup('Au', BpTbl.Name));
Tipp
Verwenden Sie den Startparameter -ComPrintProp, um die Bezeichner eines Im/Exports in den Eigenschaftenseiten anzuzeigen. Danach können Sie bei jedem Druck und Im-/Export in den Eigenschaften auf der Einstellungsseite "Parameter" unter "Druckposition" die Werte auslesen.
| Parameter | Beschreibung |
|---|---|
| [in] BSTR aModul | Kennzeichnet das Modul für den Import/Export |
| [in] BSTR aDBName | Legt die abzufragende Datenbank fest |
| [out, retval] BSTR* Return | Eine kommaseparierte Liste mit den möglichen Im/Exporten |
3.1.4 IAutoApplication3 Interface
Von IAutoApplication2 abstammendes Interface.
IDL
[ uuid(CB238386-59B3-4EC8-B670-649CDB011756), version(1.0),
dual, oleautomation ]
interface IAutoApplication3 : IAutoApplication2;
IAutoApplication3 Eigenschaften
Methoden
| Name | Beschreibung |
|---|---|
| GetKundendaten | Gibt eine eindeutige Identifizierung zurück. |
| GetSpecialObject | Erstellt ein Interface für ein SpecialObject. |
| GetVersion | Gibt die Versionsnummer der microtech Programmdatei zurück. |
| Init | Initialisierung der COM-Instanz. |
| NewProtocoll | Erstellt ein Interface für Protokolleinträge. |
| OpenLayoutGroup | Bereitet einen Im/Export vor. |
| PossibleLayoutGroup | Gibt die möglichen Bereiche eines Im-/Export Layouts an. |
| SelectMand | Auswählen des gewünschten Mandanten. |
| WriteLn | Einfaches, konsolenähnliches Write Line. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Application | Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen. |
| DataSetInfos | Listet alle Metainformationen der Datenbanken auf. |
| Event | Obsolete: Events für Datenbankaktionen. |
| MandList | Gibt eine Tabelle mit den Mandanten zurück. |
| MandPfad | Gibt den Pfad zu den Mandantendaten zurück. |
| Parent | Gibt das Parent Interface zurück. |
| TempPfad | Gibt den Pfad des temporären Verzeichnisses zurück. |
IAutoApplication3::GetSpecialObject Methode
Erstellt ein Interface für ein SpecialObject.
IDL
[id(0x00000012), helpstring("Gibt verschiedene Spezial Objekte zurück.")]
HRESULT _stdcall GetSpecialObject([in] enum SpecialObjects ObjectName,
[out, retval] IAutoBase** SpecialObj);
Diese Funktion fordert ein SpecialObject an. Die hier gewonnenen Objekte stellen eine Erweiterung zum puren Zugriff auf Daten dar. Viele der Objekte stellen ein gewisses Maß an eigener Programmlogik zur Verfügung - zum Beispiel das Erstellen neuer Vorgänge mit Abarbeitung von Parametern oder der Zugriff auf Lager.
SpecialObject = BpApp.GetSpecialObject(soKontenAnalyse)
MySpecialObject = SpecialObject as AutoSpecialKontenAnalyse
Alternativer Aufruf (Delphi)
var
pUnk : IUnknown
BpApp.GetSpecialObject(soKontenAnalyse).QuerryInterface(IID_IAutoSpecialKontenAnalyse, pUnk)
if pUnk <> Null then
printf('Erfolg')
Wie erstellt man eine *.Bpl Datei für einen Im-/Export?
Um Im- bzw. Exporte mit der COM-Schnittstelle zu verwenden, wird ein entsprechendes Layout benötigt. Dieses Layout müssen Sie zuvor im Programm unter dem jeweiligen IMPORT bzw. EXPORT erstellen. Achten Sie beim Erstellen darauf, dass beim Abarbeiten keinerlei Eingaben erforderlich sind (ansonsten werden diese beim Ausführen abgefragt). Nachdem Sie alle Angaben abgelegt haben, können Sie per Drag and Drop das Layout auf den Desktop oder in den Explorer ziehen. Die so erstellte BPL-Datei lässt sich dann in Ihrem Projekt verwenden. Der Import als Datei sowie als Stream ist möglich.
Jede Solution-Partner-Applikation hat ihren eigenen "Namespace", mit dem die Layouts im Programm gespeichert werden. Ihre Layout-Namen können also nicht mit anderen kollidieren. Generell kann kein "User" ein Layout löschen oder ändern.
| Parameter | Beschreibung |
|---|---|
| [in] enum SpecialObjects ObjectName | Numerischer Wert, der festlegt welches SpecialObject angefordert wird |
| [out, retval] IAutoBase** SpecialObj | Rückgabewert als SpecialObject Interface. Dieses Interface muss per Typecast/QueryInterface in das korrekte Interface umgewandelt werden. |
3.1.5 IAutoApplication4 Interface
Von IAutoApplication3 abstammendes Interface.
IDL
[ uuid(9A394EA0-585A-42D0-B22A-640D33650A8B), version(1.0),
dual, oleautomation ]
interface IAutoApplication4 : IAutoApplication3;
IAutoApplication4 Eigenschaften
Methoden
| Name | Beschreibung |
|---|---|
| GetKundendaten | Gibt eine eindeutige Identifizierung zurück. |
| GetSpecialObject | Erstellt ein Interface für ein SpecialObject. |
| GetVersion | Gibt die Versionsnummer der microtech Programmdatei zurück. |
| Init | Initialisierung der COM-Instanz. |
| Konfiguration | Speicherfeld für mandantenbezogene Applikationsdaten. |
| NewProtocoll | Erstellt ein Interface für Protokolleinträge. |
| OpenLayoutGroup | Bereitet einen Im/Export vor. |
| PossibleLayoutGroup | Gibt die möglichen Bereiche eines Im-/Export Layouts an. |
| SelectMand | Auswählen des gewünschten Mandanten. |
| WriteLn | Einfaches, konsolenähnliches Write Line. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Application | Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen. |
| DataSetInfos | Listet alle Metainformationen der Datenbanken auf. |
| Event | Obsolete: Events für Datenbankaktionen. |
| MandList | Gibt eine Tabelle mit den Mandanten zurück. |
| MandPfad | Gibt den Pfad zu den Mandantendaten zurück. |
| Parent | Gibt das Parent Interface zurück. |
| TempPfad | Gibt den Pfad des temporären Verzeichnisses zurück. |
IAutoApplication4::Konfiguration Methode
Speicherfeld für mandantenbezogene Applikationsdaten.
IDL
[propget, id(0x0000000D)]
HRESULT _stdcall Konfiguration([in] BSTR Name, [out, retval] BSTR* Value);
Das Feld stellt eine Möglichkeit dar, Ihre Konfigurationen innerhalb der microtech Software abzuspeichern. Mit diesem Property kann der übergebene Wert für den angegebenen Namen gespeichert oder ausgelesen werden. Bitte beachten Sie, dass die Werte immer innerhalb Ihrer COM-Anbindung und mandantenspezifisch gespeichert werden.
BpApp.Konfiguration['Wert1'] := 'vollkommen beliebiger String';
// oder lesend:
showmessage(BpApp.Konfiguration['Wert1']);
Hinweis
Bitte halten Sie die so hinterlegte Datenmenge möglichst gering.
| Parameter | Beschreibung |
|---|---|
| [in] BSTR Name | Name der Konfigurationsdaten |
| [out, retval] BSTR* Value | Wert der Konfigurationsdaten |
3.1.6 IAutoApplication5 Interface
Von IAutoApplication4 abstammendes Interface.
IDL
[ uuid(52FEB1EB-5397-428C-9126-44718F279AEE), version(1.0),
dual, oleautomation ]
interface IAutoApplication5 : IAutoApplication4;
IAutoApplication5 Eigenschaften
Methoden
| Name | Beschreibung |
|---|---|
| BzrKonfiguration | Speicherfeld für benutzerbezogene Applikationsdaten. |
| GetKundendaten | Gibt eine eindeutige Identifizierung zurück. |
| GetSpecialObject | Erstellt ein Interface für ein SpecialObject. |
| GetVersion | Gibt die Versionsnummer der microtech Programmdatei zurück. |
| GloKonfiguration | Speicherfeld für global bezogene Applikationsdaten. |
| Init | Initialisierung der COM-Instanz. |
| Konfiguration | Speicherfeld für mandantenbezogene Applikationsdaten. |
| NewProtocoll | Erstellt ein Interface für Protokolleinträge. |
| OpenLayoutGroup | Bereitet einen Im/Export vor. |
| PossibleLayoutGroup | Gibt die möglichen Bereiche eines Im-/Export Layouts an. |
| SelectMand | Auswählen des gewünschten Mandanten. |
| WriteLn | Einfaches, konsolenähnliches Write Line. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Application | Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen. |
| DataSetInfos | Listet alle Metainformationen der Datenbanken auf. |
| Event | Obsolete: Events für Datenbankaktionen. |
| MandList | Gibt eine Tabelle mit den Mandanten zurück. |
| MandPfad | Gibt den Pfad zu den Mandantendaten zurück. |
| Parent | Gibt das Parent Interface zurück. |
| TempPfad | Gibt den Pfad des temporären Verzeichnisses zurück. |
IAutoApplication5::GloKonfiguration Methode ([in] BSTR, [out, retval] BSTR*)
Speicherfeld für global bezogene Applikationsdaten.
IDL
[propget, id(0x00000010)]
HRESULT _stdcall GloKonfiguration([in] BSTR Name, [out, retval] BSTR* Value);
Das Feld stellt eine Möglichkeit dar, Ihre Konfigurationen innerhalb der microtech Software abzuspeichern. Mit diesem Property kann der übergebene Wert für den angegebenen Namen gespeichert oder ausgelesen werden. Bitte beachten Sie, dass die Werte immer innerhalb Ihrer COM-Anbindung gespeichert werden.
BpApp.GloKonfiguration['Wert1'] := 'vollkommen beliebiger String';
// oder lesend:
showmessage(BpApp.GloKonfiguration['Wert1']);
Hinweis
Bitte halten Sie die so hinterlegte Datenmenge möglichst klein.
| Parameter | Beschreibung |
|---|---|
| [in] BSTR Name | Name der Globalen Konfiguration |
| [out, retval] BSTR* Value | Wert der Globalen Konfiguration |
IAutoApplication5::GloKonfiguration Methode ([in] BSTR, [in] BSTR)
IDL
[propput, id(0x00000010)]
HRESULT _stdcall GloKonfiguration([in] BSTR Name, [in] BSTR Value);
IAutoApplication5::BzrKonfiguration Methode
Speicherfeld für benutzerbezogene Applikationsdaten.
IDL
[propget, id(0x00000011)]
HRESULT _stdcall BzrKonfiguration([in] BSTR Name, [out, retval] BSTR* Value);
Das Feld stellt eine Möglichkeit dar, Ihre Konfigurationen innerhalb der microtech Software abzuspeichern. Mit diesem Property kann der übergebene Wert für den angegebenen Namen gespeichert oder ausgelesen werden. Bitte beachten Sie, dass die Werte immer innerhalb Ihrer COM-Anbindung und benutzerspezifisch gespeichert werden.
BpApp.BzrKonfiguration['Wert1'] := 'vollkommen beliebiger String';
// oder lesend:
showmessage(BpApp.BzrKonfiguration['Wert1']);
Hinweis
Bitte halten Sie die so hinterlegte Datenmenge möglichst gering.
| Parameter | Beschreibung |
|---|---|
| [in] BSTR Name | Name der Benutzerkonfiguration |
| [out, retval] BSTR* Value | Wert der Benutzerkonfiguration |
3.1.7 IAutoApplication6 Interface
Von IAutoApplication5 abstammendes Interface.
IDL
[ uuid(BF8AB706-A70C-4389-875C-A2177E40D2F8), version(1.0),
dual, oleautomation ]
interface IAutoApplication6 : IAutoApplication5;
IAutoApplication6 Eigenschaften
Methoden
| Name | Beschreibung |
|---|---|
| BzrKonfiguration | Speicherfeld für benutzerbezogene Applikationsdaten. |
| GetKundendaten | Gibt eine eindeutige Identifizierung zurück. |
| GetSpecialObject | Erstellt ein Interface für ein SpecialObject. |
| GetVersion | Gibt die Versionsnummer der microtech Programmdatei zurück. |
| GetVersionEx | Liefert einen Versions-String. |
| GloKonfiguration | Speicherfeld für global bezogene Applikationsdaten. |
| Init | Initialisierung der COM-Instanz. |
| Konfiguration | Speicherfeld für mandantenbezogene Applikationsdaten. |
| NewProtocoll | Erstellt ein Interface für Protokolleinträge. |
| OpenLayoutGroup | Bereitet einen Im/Export vor. |
| PossibleLayoutGroup | Gibt die möglichen Bereiche eines Im-/Export Layouts an. |
| SelectMand | Auswählen des gewünschten Mandanten. |
| WriteLn | Einfaches, konsolenähnliches Write Line. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Application | Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen. |
| DataSetInfos | Listet alle Metainformationen der Datenbanken auf. |
| Event | Obsolete: Events für Datenbankaktionen. |
| MandList | Gibt eine Tabelle mit den Mandanten zurück. |
| MandPfad | Gibt den Pfad zu den Mandantendaten zurück. |
| Parent | Gibt das Parent Interface zurück. |
| TempPfad | Gibt den Pfad des temporären Verzeichnisses zurück. |
IAutoApplication6::GetVersionEx Methode
Liefert einen Versions-String.
IDL
[id(0x0000000E)]
HRESULT _stdcall GetVersionEx([out, retval] BSTR* Result);
Diese Funktion ermöglicht die Bestimmung der Ausbaustufe einer COM-Instanz. Der zurückgelieferte String kann folgende Elemente enthalten:
- T - Terminal Version (obsolete)
- RD - Remote-Desktop
- S- Standard, P - Professional, E- Essential, C- Commercial, U- Universal (obsolete), ERP-
- Ganze Zahl bis zum "." als Revision, z. B.
11.xxx.xxx - Ganze Zahl bis zum nächsten "." als Kennzeichen innerhalb der Version, z. B. 5 für DbV2-Versionen
- Ganze Zahl bis zum Ende, die bestimmt, welche Build-Nummer vorliegt
- OPTIONAL ein weiterer Punkt, der die interne Erstellungsnummer angibt
[On4U]für eine Version mit zusätzlicher Freischaltung[Schule]für eine Schulungsversion
Der Rückgabewert kann also wie folgt aussehen: RD U-7.5.1701 oder z. B. C-8.5.1860 [Schule]
Update: Ab Version 11 fällt die Kennung "PrgVersion.5.Buildnummer" weg. Version 11 ist nur noch als DbV2-Version erhältlich. Bsp.: RD ERP-11.0.3820 oder optional RD ERP-11.0.3820.20
Anmerkungen: Ab Build 3834 könnte diese Funktion andere Werte zurückgeben. Gestalten Sie Ihre Funktionen so, dass eventuell Werte mit 4 Punkten auftreten können: Bsp.: 11.0.3834.0.
| Parameter | Beschreibung |
|---|---|
| [out, retval] BSTR* Result | Gibt einen erweiterten String mit der Versionsnummer zurück |
3.1.8 IAutoApplication7 Interface
Von IAutoApplication6 abstammendes Interface.
IDL
[ uuid(B124E8F6-77D1-4AE5-A52E-58B46352F8AB), version(1.0),
dual, oleautomation ]
interface IAutoApplication7 : IAutoApplication6;
Ab Build: 2520.
IAutoApplication7 Eigenschaften
Methoden
| Name | Beschreibung |
|---|---|
| BzrKonfiguration | Speicherfeld für benutzerbezogene Applikationsdaten. |
| FunctionCall | Ruft eine vorgegebene Funktion auf. |
| GetData | Führt eine Datenmengenoperation mit mDL aus. |
| GetKundendaten | Gibt eine eindeutige Identifizierung zurück. |
| GetSpecialObject | Erstellt ein Interface für ein SpecialObject. |
| GetVersion | Gibt die Versionsnummer der microtech Programmdatei zurück. |
| GetVersionEx | Liefert einen Versions-String. |
| GloKonfiguration | Speicherfeld für global bezogene Applikationsdaten. |
| Init | Initialisierung der COM-Instanz. |
| Konfiguration | Speicherfeld für mandantenbezogene Applikationsdaten. |
| NewProtocoll | Erstellt ein Interface für Protokolleinträge. |
| OpenLayoutGroup | Bereitet einen Im/Export vor. |
| PossibleLayoutGroup | Gibt die möglichen Bereiche eines Im-/Export Layouts an. |
| SelectMand | Auswählen des gewünschten Mandanten. |
| WriteLn | Einfaches, konsolenähnliches Write Line. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Application | Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen. |
| DataSetInfos | Listet alle Metainformationen der Datenbanken auf. |
| Event | Obsolete: Events für Datenbankaktionen. |
| MandList | Gibt eine Tabelle mit den Mandanten zurück. |
| MandPfad | Gibt den Pfad zu den Mandantendaten zurück. |
| Parent | Gibt das Parent Interface zurück. |
| TempPfad | Gibt den Pfad des temporären Verzeichnisses zurück. |
IAutoApplication7::GetData Methode
Führt eine Datenmengenoperation mit mDL aus.
IDL
[id(0x00000013)]
HRESULT _stdcall GetData([in] BSTR Definition, [out, retval] BSTR* Result);
Die Funktion führt eine Datenmengen-Abfrage aus. Die Beschreibung der gewünschten Datenmenge erfolgt mit mDL. Die mDL ist in einem gesonderten Kapitel dieser Dokumentation enthalten.
| Parameter | Beschreibung |
|---|---|
| [in] BSTR Definition | String, der nach den Regeln der mDL aufgebaut wird |
| [out, retval] BSTR* Result | Ergebnis als String |
IAutoApplication7::FunctionCall Methode
Ruft eine vorgegebene Funktion auf.
IDL
[id(0x00000014)]
HRESULT _stdcall FunctionCall([in] BSTR Params, [out, retval] BSTR* Result);
Mit "FunctionCall" können bestimmte Funktionen der microtech Software aufgerufen werden.
| Funktion | Aufruf | Beschreibung |
|---|---|---|
| FktNeu | [FktNeu]\|Vorgang | Der Parameter zu FktNeu gibt an, für welche Tabelle ein Datensatz neu erfasst werden soll. Result: Im Erfolgsfall "TRUE", ansonsten ein Leerstring. |
| FktAendern | [FktAendern]\|Adressen\|[10000] | Der Parameter zu FktAendern gibt an, für welche Tabelle ein Datensatz geändert werden soll. Im zweiten Parameter muss für den Std-Index ein korrekter Wert hinterlegt werden. Kann anhand des zweiten Parameters ein Datensatz identifiziert werden, wird dieser zum Ändern geöffnet. Result: Im Erfolgsfall "TRUE", ansonsten ein Leerstring. |
| FktEinsehen | [FktEinsehen]\|Adressen\|[10000] | Der Parameter zu FktEinsehen gibt an, für welche Tabelle ein Datensatz gezeigt werden soll. Im zweiten Parameter muss für den Std-Index ein korrekter Wert hinterlegt werden. Kann anhand des zweiten Parameters ein Datensatz identifiziert werden, wird dieser angezeigt. Result: Im Erfolgsfall "TRUE", ansonsten ein Leerstring. |
| StartPrg | [StartPrg]\|\|[3] oder [StartPrg] | Der erste Parameter zu StartPrg bleibt leer. Im zweiten kann dann die Nummer (String) des zu startenden Mandanten angegeben werden. Es wird dann, insofern keine Programmversion läuft, versucht diesen Mandanten zu starten. Result: Leerstring. |
| Recherchieren | [Recherchieren]\|Adressen\|[Adressen\|History] | Recherchieren ist aktuell nur für die Tabelle Adressen verfügbar. Daher muss der erste Parameter momentan immer "Adressen" sein. Im 2. Parameter wird angegeben, welche Bereiche für die Recherche im Fenster sichtbar sein sollen. Die maximale Ausbeute ist momentan: [History\|Adressen\|ServiceVertraege\|Projekte\|Vorgang\|OffenePosten]. Result: Alle im Suchfenster gesammelten Adressnummern als kommagetrennte Liste. |
| MandantAnmeldung | [MandantAnmeldung] | Öffnet die Anmeldemaske. Es kann nun ein Mandant ausgewählt werden. Wird die Maske mit Ok verlassen, erhält man einen String mit den Werten, andernfalls einen Leerstring. Result: Beschriftung des Mandanten#Mandantennummer\|Anmeldename\|Passwort. Hinweis: Wenn Abbrechen gewählt wird, wird eine Exception "Aborted" ausgelöst. |
Buffer := BpApp.FunctionCall("[FktEinsehen]|Adressen|[10000]");
Buffer := BpApp.FunctionCall("[MandantAnmeldung]");
| Parameter | Beschreibung |
|---|---|
| [in] BSTR Params | Mögliche Funktionsaufrufe: FktNeu, FktAendern, FktEinsehen, StartPrg, Recherchieren, MandantAnmeldung |
| [out, retval] BSTR* Result | Result: String. Je nach Funktion verschiedenste Werte |
3.1.9 IAutoApplication8 Interface
Von IAutoApplication7 abstammendes Interface.
IDL
[ uuid(46E0A7BE-85C7-4FDF-91B3-127E10D4CC23), version(1.0),
dual, oleautomation ]
interface IAutoApplication8 : IAutoApplication7;
Ab Build: 2650.
IAutoApplication8 Eigenschaften
Methoden
| Name | Beschreibung |
|---|---|
| BzrKonfiguration | Speicherfeld für benutzerbezogene Applikationsdaten. |
| FunctionCall | Ruft eine vorgegebene Funktion auf. |
| GetData | Führt eine Datenmengenoperation mit mDL aus. |
| GetKundendaten | Gibt eine eindeutige Identifizierung zurück. |
| GetSpecialObject | Erstellt ein Interface für ein SpecialObject. |
| GetVersion | Gibt die Versionsnummer der microtech Programmdatei zurück. |
| GetVersionEx | Liefert einen Versions-String. |
| GloKonfiguration | Speicherfeld für global bezogene Applikationsdaten. |
| Init | Initialisierung der COM-Instanz. |
| Konfiguration | Speicherfeld für mandantenbezogene Applikationsdaten. |
| NewProtocoll | Erstellt ein Interface für Protokolleinträge. |
| OpenLayoutGroup | Bereitet einen Im/Export vor. |
| PossibleLayoutGroup | Gibt die möglichen Bereiche eines Im-/Export Layouts an. |
| SelectMand | Auswählen des gewünschten Mandanten. |
| WriteLn | Einfaches, konsolenähnliches Write Line. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Application | Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen. |
| DataSetInfos | Listet alle Metainformationen der Datenbanken auf. |
| Event | Obsolete: Events für Datenbankaktionen. |
| MandList | Gibt eine Tabelle mit den Mandanten zurück. |
| MandPfad | Gibt den Pfad zu den Mandantendaten zurück. |
| Parent | Gibt das Parent Interface zurück. |
| RequestRetryCount | Ein Wert, der die Anzahl der Wiederholungsversuche von Datenoperationen bestimmt. |
| RequestTimeOut | Ein Wert, der die Zeit zwischen Wiederholungsversuchen von Datenoperationen bestimmt. |
| TempPfad | Gibt den Pfad des temporären Verzeichnisses zurück. |
IAutoApplication8::RequestRetryCount Eigenschaft
Ein Wert, der die Anzahl der Wiederholungsversuche von Datenoperationen bestimmt.
IDL
__property long RequestRetryCount;
RequestRetryCount kann gelesen und geschrieben werden, um die Anzahl der Wiederholungsversuche für Datenoperationen zu ermitteln oder zu setzen. Der Standardwert ist 100.
Wenn der Retry Count auf 0 gesetzt wird, wird kein Fenster angezeigt und somit einer Desktop-Applikation der Fokus nicht entzogen. Ihre Applikation muss dann selbst auf den Fehler reagieren und eventuell erneut einen Versuch zum Schreiben unternehmen.
Delphi-Codebeispiel
Program delphi;
const
Mandant = '';
Passwort = '';
Anmeldename = '';
Password = '';
var
BpApp: Variant;
Tbl: Variant;
procedure Work;
begin
BpApp := CreateOleObject('BpNT.Application');
Showmessage('RequestRetryCount ' + IntToStr(BpApp.RequestRetryCount));
Showmessage('RequestTimeOut ' + IntToStr(BpApp.RequestTimeOut));
BpApp.RequestRetryCount := 0;
BpApp.RequestTimeOut := 1; //wird so nicht übernommen, Minimalwert = 2000
Showmessage('RequestRetryCount ' + IntToStr(BpApp.RequestRetryCount));
Showmessage('RequestTimeOut ' + IntToStr(BpApp.RequestTimeOut));
BpApp.Init(Mandant, Passwort, Anmeldename, Password);
BpApp.SelectMand(Mandant);
Tbl := BpApp.DataSetInfos('Vorgang').CreateDataSet;
Tbl.StartTransaction;
try
// ... Insert work ...
Tbl.Commit;
except
Tbl.Rollback;
raise;
end;
end;
begin
try
Work;
except
Showmessage('Es ist ein Fehler aufgetreten.');
raise;
end;
Tbl := 0;
BpApp := 0;
end;
| Parameter | Beschreibung |
|---|---|
| Value | Ein Wert als Long, der die Anzahl der Wiederholungsversuche von Datenoperationen steuert |
IAutoApplication8::RequestTimeOut Eigenschaft
Ein Wert, der die Zeit zwischen Wiederholungsversuchen von Datenoperationen bestimmt.
IDL
__property long RequestTimeOut;
RequestTimeOut kann schreibend und lesend verwendet werden, um auf die Zeit zwischen erneuten Versuchen einer Datenoperation in Millisekunden zuzugreifen. 500 Millisekunden sind der kleinste Wert, 5000 Millisekunden der größte. Ein Beispiel finden Sie unter RequestRetryCount.
| Parameter | Beschreibung |
|---|---|
| Value | Ein Wert als Long, der die Zeit zwischen Wiederholungsversuchen steuert. Die Zeit wird in Millisekunden angegeben. Angaben zwischen 500 und 5000 sind möglich. |
3.1.10 IAutoApplication9 Interface
Ein von AutoApplication8 abgeleitetes Interface.
IDL
[ uuid(9E083A1A-757C-4F87-9C1E-AD233DEC4225), version(1.0),
dual, oleautomation ]
interface IAutoApplication9 : IAutoApplication8;
Ab Build: 3301.
IAutoApplication9 Eigenschaften
Methoden
| Name | Beschreibung |
|---|---|
| BzrKonfiguration | Speicherfeld für benutzerbezogene Applikationsdaten. |
| CreateDataSetFromId | Diese Funktion erstellt ein AutoDataSet aus der gegebenen ID. |
| FunctionCall | Ruft eine vorgegebene Funktion auf. |
| GetData | Führt eine Datenmengenoperation mit mDL aus. |
| GetKundendaten | Gibt eine eindeutige Identifizierung zurück. |
| GetSpecialObject | Erstellt ein Interface für ein SpecialObject. |
| GetVersion | Gibt die Versionsnummer der microtech Programmdatei zurück. |
| GetVersionEx | Liefert einen Versions-String. |
| GloKonfiguration | Speicherfeld für global bezogene Applikationsdaten. |
| Init | Initialisierung der COM-Instanz. |
| Konfiguration | Speicherfeld für mandantenbezogene Applikationsdaten. |
| NewProtocoll | Erstellt ein Interface für Protokolleinträge. |
| OpenLayoutGroup | Bereitet einen Im/Export vor. |
| PossibleLayoutGroup | Gibt die möglichen Bereiche eines Im-/Export Layouts an. |
| SelectMand | Auswählen des gewünschten Mandanten. |
| WriteLn | Einfaches, konsolenähnliches Write Line. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Application | Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen. |
| DataSetInfos | Listet alle Metainformationen der Datenbanken auf. |
| Event | Obsolete: Events für Datenbankaktionen. |
| MandList | Gibt eine Tabelle mit den Mandanten zurück. |
| MandPfad | Gibt den Pfad zu den Mandantendaten zurück. |
| Parent | Gibt das Parent Interface zurück. |
| RequestRetryCount | Ein Wert, der die Anzahl der Wiederholungsversuche von Datenoperationen bestimmt. |
| RequestTimeOut | Ein Wert, der die Zeit zwischen Wiederholungsversuchen von Datenoperationen bestimmt. |
| TempPfad | Gibt den Pfad des temporären Verzeichnisses zurück. |
IAutoApplication9::CreateDataSetFromId Methode
Diese Funktion erstellt ein AutoDataSet aus der gegebenen ID.
IDL
[id(0x0000044D)]
HRESULT _stdcall CreateDataSetFromId([in] BSTR Id, [out, retval] AutoDataSet** Result);
Mit der korrespondierenden Funktion "IDString" kann eine ID gelesen werden. Mit dieser ist es möglich, ein DataSet, das zu einem IDString gehört, zu erhalten. Wurde ein Datensatz zur ID gefunden, steht das DataSet jetzt auf dem richtigen Datensatz, ansonsten wird ein neuer Datensatz angelegt.
| Parameter | Beschreibung |
|---|---|
| [in] BSTR Id | Ein String, der die ID eines Datensatzes abbildet |
| [out, retval] AutoDataSet** Result | DataSet, das auf dem angeforderten Datensatz steht |
Siehe auch: IAutoDataSet6::IDString
3.1.11 IAutoApplication10 Interface
Von IAutoApplication9 abstammendes Interface.
IDL
[ uuid(470AE53C-A3D4-4531-8692-3F22B28A1F7A), version(1.0),
dual, oleautomation ]
interface IAutoApplication10 : IAutoApplication9;
Ab Build: 3670.
IAutoApplication10 Eigenschaften
Methoden
| Name | Beschreibung |
|---|---|
| BzrKonfiguration | Speicherfeld für benutzerbezogene Applikationsdaten. |
| CreateDataSetFromId | Diese Funktion erstellt ein AutoDataSet aus der gegebenen ID. |
| FunctionCall | Ruft eine vorgegebene Funktion auf. |
| GetData | Führt eine Datenmengenoperation mit mDL aus. |
| GetKundendaten | Gibt eine eindeutige Identifizierung zurück. |
| GetSpecialObject | Erstellt ein Interface für ein SpecialObject. |
| GetVersion | Gibt die Versionsnummer der microtech Programmdatei zurück. |
| GetVersionEx | Liefert einen Versions-String. |
| GloKonfiguration | Speicherfeld für global bezogene Applikationsdaten. |
| Init | Initialisierung der COM-Instanz. |
| Konfiguration | Speicherfeld für mandantenbezogene Applikationsdaten. |
| LogOff | LogOff schließt den geöffneten Mandanten. |
| NewProtocoll | Erstellt ein Interface für Protokolleinträge. |
| OpenLayoutGroup | Bereitet einen Im/Export vor. |
| PossibleLayoutGroup | Gibt die möglichen Bereiche eines Im-/Export Layouts an. |
| SelectMand | Auswählen des gewünschten Mandanten. |
| WriteLn | Einfaches, konsolenähnliches Write Line. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Application | Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen. |
| DataSetInfos | Listet alle Metainformationen der Datenbanken auf. |
| Event | Obsolete: Events für Datenbankaktionen. |
| ExternalUserName | Funktion, die in der Cobra-Schnittstelle verwendet wird. |
| MandList | Gibt eine Tabelle mit den Mandanten zurück. |
| MandPfad | Gibt den Pfad zu den Mandantendaten zurück. |
| Parent | Gibt das Parent Interface zurück. |
| RequestRetryCount | Ein Wert, der die Anzahl der Wiederholungsversuche von Datenoperationen bestimmt. |
| RequestTimeOut | Ein Wert, der die Zeit zwischen Wiederholungsversuchen von Datenoperationen bestimmt. |
| TempPfad | Gibt den Pfad des temporären Verzeichnisses zurück. |
IAutoApplication10::LogOff Methode
LogOff schließt den geöffneten Mandanten.
IDL
[id(0x000000C9), helpstring("AutoApplication meldet den Mandant und Benutzer ab.
Danach kann wieder Init und Select Mand aufgerufen werden.")]
HRESULT _stdcall LogOff();
Diese Funktion ist hilfreich, wenn man z. B. unter .NET nicht weiß, wann eine COM-Instanz letztendlich finalisiert wird. Die Funktion schließt die Datenbankverbindung zum Mandanten.
Codebeispiel
BpApp.Init('ConnectionName', 'ConnectionKey', 'UserName', 'UserPassword');
BpApp.SelectMand('MandantenNummer(alphanumerisch)');
// ... Do SomeThing als UserName im Mandanten ...
BpApp.LogOff;
BpApp.SelectMand('andere MandantenNummer(alphanumerisch)');
// ... Do SomeThing als UserName im anderen Mandanten ...
IAutoApplication10::ExternalUserName Eigenschaft
ExternalUserName ist eine Funktion, die in der Cobra-Schnittstelle verwendet wird.
IDL
__property BSTR ExternalUserName;
ExternalUserName ist nicht zur allgemeinen Verwendung vorgesehen. Damit wird die Zuordnung der Benutzer zwischen microtech Software und Cobra geregelt. Wir bitten Sie, von einer Verwendung abzusehen.
| Parameter | Beschreibung |
|---|---|
| Value | String, der den Cobra-Namen des COM-Benutzers zurückgibt |
3.1.12 IAutoApplication11 Interface
Von IAutoApplication10 abstammendes Interface.
IDL
[ uuid(C2154680-DC71-48AE-A4E7-3F637D5FBD15), version(1.0),
dual, oleautomation ]
interface IAutoApplication11 : IAutoApplication10;
Ab Build: 5000.
IAutoApplication11 Eigenschaften
Methoden
| Name | Beschreibung |
|---|---|
| AddActivation | AddActivation trägt Aktivierungen ein. |
| BzrKonfiguration | Speicherfeld für benutzerbezogene Applikationsdaten. |
| CreateDataSetFromId | Diese Funktion erstellt ein AutoDataSet aus der gegebenen ID. |
| FunctionCall | Ruft eine vorgegebene Funktion auf. |
| GetData | Führt eine Datenmengenoperation mit mDL aus. |
| GetKundendaten | Gibt eine eindeutige Identifizierung zurück. |
| GetSpecialObject | Erstellt ein Interface für ein SpecialObject. |
| GetVersion | Gibt die Versionsnummer der microtech Programmdatei zurück. |
| GetVersionEx | Liefert einen Versions-String. |
| GloKonfiguration | Speicherfeld für global bezogene Applikationsdaten. |
| Init | Initialisierung der COM-Instanz. |
| Konfiguration | Speicherfeld für mandantenbezogene Applikationsdaten. |
| LogOff | LogOff schließt den geöffneten Mandanten. |
| NewProtocoll | Erstellt ein Interface für Protokolleinträge. |
| OpenLayoutGroup | Bereitet einen Im/Export vor. |
| PossibleLayoutGroup | Gibt die möglichen Bereiche eines Im-/Export Layouts an. |
| SelectMand | Auswählen des gewünschten Mandanten. |
| WriteLn | Einfaches, konsolenähnliches Write Line. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Application | Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen. |
| DataSetInfos | Listet alle Metainformationen der Datenbanken auf. |
| Event | Obsolete: Events für Datenbankaktionen. |
| ExternalUserName | Funktion, die in der Cobra-Schnittstelle verwendet wird. |
| MandList | Gibt eine Tabelle mit den Mandanten zurück. |
| MandPfad | Gibt den Pfad zu den Mandantendaten zurück. |
| Parent | Gibt das Parent Interface zurück. |
| RequestRetryCount | Ein Wert, der die Anzahl der Wiederholungsversuche von Datenoperationen bestimmt. |
| RequestTimeOut | Ein Wert, der die Zeit zwischen Wiederholungsversuchen von Datenoperationen bestimmt. |
| TempPfad | Gibt den Pfad des temporären Verzeichnisses zurück. |
IAutoApplication11::AddActivation Methode
AddActivation trägt Aktivierungen ein.
IDL
[id(0x00000515)]
HRESULT _stdcall AddActivation([in] BSTR FirmenName, [in] BSTR Postleitzahl,
[in] BSTR Key, [out, retval] long* Result);
Mit AddActivation kann man beliebige Aktivierungen, die man im Aktivierungsfenster der microtech Software eingeben kann, auch per COM übertragen. Dies ist z. B. eine Möglichkeit, den endgültigen Schlüssel einer Solution-Partner-Lösung zu übergeben. Die Parameter "Firmenname" und "Postleitzahl" können nur einmalig gesetzt werden. Ansonsten müssen die beiden Werte immer mit den schon eingetragenen Werten aufgerufen werden.
Hinweis
Bitte beachten Sie, dass diese Funktion nicht beliebig oft aufgerufen werden kann. Nach einigen fehlerhaften Aufrufen kann die Funktion nur noch stark verzögert aufgerufen werden.
| Parameter | Beschreibung |
|---|---|
| [in] BSTR FirmenName | Der Name einer Firma, so wie er in der Aktivierung angegeben werden muss |
| [in] BSTR Postleitzahl | Die Postleitzahl zum Firmennamen |
| [in] BSTR Key | Der Schlüssel, z. B. aus der Cal.exe |
| [out, retval] long* Result | Statuscode |
Rückgabewerte
| Rückgabewert | Beschreibung |
|---|---|
| 0 (S_OK) | Erfolgreich ausgeführt |
| 100 | Format des Namens nicht ok (z. B. Zeichen nicht erlaubt) |
| 101 | Name zu kurz; Mindestens 5 Zeichen |
| 110 | Format der Postleitzahl nicht ok (z. B. Zeichen nicht erlaubt) |
| 111 | Postleitzahl zu kurz; Mindestens 3 Stellen |
| 120 | Firmenname und/oder Postleitzahl nicht korrekt |
| 201 | Der Schlüssel schaltet keine erweiterte Funktion frei |
| 202 | Der Schlüssel konnte nicht dekodiert werden (Zahlendreher?) |
C#-Codebeispiel
ComApp = new BpNT.Application();
try
{
try
{
ComApp.Init(aConnectionName, aConnectionKey, aUserName, aUserPass);
}
catch (Exception ex)
{
MessageBox.Show("ErrorHandling: " + ex.Message);
}
// Programm endgültig aktivieren – nicht mehrfach aufrufen!
ComApp.AddActivation("Beispiel GmbH", "00000", "Key");
}
finally
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(ComApp);
}
3.1.13 IAutoApplication12 Interface
Von IAutoApplication11 abstammendes Interface.
IDL
[ uuid(CB38731A-7B00-46AF-8BEB-894C3C54E843), dual, oleautomation ]
interface IAutoApplication12 : IAutoApplication11;
Ab Build: 5010.
IAutoApplication12 Eigenschaften
Methoden
| Name | Beschreibung |
|---|---|
| AddActivation | AddActivation trägt Aktivierungen ein. |
| BzrKonfiguration | Speicherfeld für benutzerbezogene Applikationsdaten. |
| CreateDataSetFromId | Diese Funktion erstellt ein AutoDataSet aus der gegebenen ID. |
| FunctionCall | Ruft eine vorgegebene Funktion auf. |
| GetData | Führt eine Datenmengenoperation mit mDL aus. |
| GetKundendaten | Gibt eine eindeutige Identifizierung zurück. |
| GetModifiedTableNames | Liste mit geänderten Tabellen. |
| GetSpecialObject | Erstellt ein Interface für ein SpecialObject. |
| GetVersion | Gibt die Versionsnummer der microtech Programmdatei zurück. |
| GetVersionEx | Liefert einen Versions-String. |
| GloKonfiguration | Speicherfeld für global bezogene Applikationsdaten. |
| Init | Initialisierung der COM-Instanz. |
| Konfiguration | Speicherfeld für mandantenbezogene Applikationsdaten. |
| LogOff | LogOff schließt den geöffneten Mandanten. |
| NewProtocoll | Erstellt ein Interface für Protokolleinträge. |
| OpenLayoutGroup | Bereitet einen Im/Export vor. |
| PossibleLayoutGroup | Gibt die möglichen Bereiche eines Im-/Export Layouts an. |
| SelectMand | Auswählen des gewünschten Mandanten. |
| WriteLn | Einfaches, konsolenähnliches Write Line. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Application | Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen. |
| DataSetInfos | Listet alle Metainformationen der Datenbanken auf. |
| Event | Obsolete: Events für Datenbankaktionen. |
| ExternalUserName | Funktion, die in der Cobra-Schnittstelle verwendet wird. |
| MandList | Gibt eine Tabelle mit den Mandanten zurück. |
| MandPfad | Gibt den Pfad zu den Mandantendaten zurück. |
| Parent | Gibt das Parent Interface zurück. |
| RequestRetryCount | Ein Wert, der die Anzahl der Wiederholungsversuche von Datenoperationen bestimmt. |
| RequestTimeOut | Ein Wert, der die Zeit zwischen Wiederholungsversuchen von Datenoperationen bestimmt. |
| TempPfad | Gibt den Pfad des temporären Verzeichnisses zurück. |
IAutoApplication12::GetModifiedTableNames Methode
Liste mit geänderten Tabellen.
IDL
[id(0x00000579)]
HRESULT _stdcall GetModifiedTableNames([out, retval] BSTR* Result);
Sie können mit dieser Funktion ermitteln, welche Tabellen zwischen den einzelnen Aufrufen von GetModifiedTableNames einer Änderung unterlagen. Die Funktion sollte nicht öfter als jede Sekunde aufgerufen werden. Nach dem Aufruf wird der interne Puffer geleert und die Liste der geänderten Tabellen füllt sich erneut.
| Parameter | Beschreibung |
|---|---|
| [out, retval] BSTR* Result | String, der eine kommaseparierte Liste der Datenbanknamen enthält. Diese Namen sind identisch mit den Namen, die in der Funktion DataSetInfos['TableName'].CreateDataSet verwendet werden. z. B.: "Adressen, Artikel" |
3.1.14 IAutoApplication13 Interface
Von IAutoApplication12 abstammendes Interface.
IDL
[ uuid(40A04F76-0878-47BF-9CFF-DDAA131DFCF1), dual, oleautomation ]
interface IAutoApplication13 : IAutoApplication12;
Ab Build: 5138.
IAutoApplication13 Eigenschaften
Methoden
| Name | Beschreibung |
|---|---|
| AddActivation | AddActivation trägt Aktivierungen ein. |
| BzrKonfiguration | Speicherfeld für benutzerbezogene Applikationsdaten. |
| CreateDataSetFromId | Diese Funktion erstellt ein AutoDataSet aus der gegebenen ID. |
| DeInit | DeInit meldet einen Benutzer unter COM ab. |
| FunctionCall | Ruft eine vorgegebene Funktion auf. |
| GetData | Führt eine Datenmengenoperation mit mDL aus. |
| GetKundendaten | Gibt eine eindeutige Identifizierung zurück. |
| GetModifiedTableNames | Liste mit geänderten Tabellen. |
| GetSpecialObject | Erstellt ein Interface für ein SpecialObject. |
| GetVersion | Gibt die Versionsnummer der microtech Programmdatei zurück. |
| GetVersionEx | Liefert einen Versions-String. |
| GloKonfiguration | Speicherfeld für global bezogene Applikationsdaten. |
| Init | Initialisierung der COM-Instanz. |
| Konfiguration | Speicherfeld für mandantenbezogene Applikationsdaten. |
| LogOff | LogOff schließt den geöffneten Mandanten. |
| NewProtocoll | Erstellt ein Interface für Protokolleinträge. |
| OpenLayoutGroup | Bereitet einen Im/Export vor. |
| PossibleLayoutGroup | Gibt die möglichen Bereiche eines Im-/Export Layouts an. |
| SelectMand | Auswählen des gewünschten Mandanten. |
| WriteLn | Einfaches, konsolenähnliches Write Line. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Application | Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen. |
| DataSetInfos | Listet alle Metainformationen der Datenbanken auf. |
| Event | Obsolete: Events für Datenbankaktionen. |
| ExternalUserName | Funktion, die in der Cobra-Schnittstelle verwendet wird. |
| MandList | Gibt eine Tabelle mit den Mandanten zurück. |
| MandPfad | Gibt den Pfad zu den Mandantendaten zurück. |
| Parent | Gibt das Parent Interface zurück. |
| RequestRetryCount | Ein Wert, der die Anzahl der Wiederholungsversuche von Datenoperationen bestimmt. |
| RequestTimeOut | Ein Wert, der die Zeit zwischen Wiederholungsversuchen von Datenoperationen bestimmt. |
| TempPfad | Gibt den Pfad des temporären Verzeichnisses zurück. |
IAutoApplication13::DeInit Methode
DeInit meldet einen Benutzer unter COM ab.
IDL
[id(0x000005DD)]
HRESULT _stdcall DeInit();
Der Aufruf von DeInit meldet den Benutzer, mit dem der Init-Aufruf erfolgt ist, wieder ab. Zusätzlich wird intern auch "LogOff" ausgeführt. Dadurch ist nicht nur der "Init" sondern auch der "SelectMand"-Aufruf erneut notwendig. Wenn man die nächsten Aktionen der COM-Instanz mit einem anderen Benutzer machen möchte, ist diese Funktion notwendig.
Delphi-Codebeispiel
BpApp.Init('ConnectionName', 'ConnectionKey', 'UserName', 'UserPassword');
BpApp.SelectMand('MandantenNummer(alphanumerisch)');
// ... Do SomeThing als UserName im Mandanten ...
BpApp.DeInit;
BpApp.Init('ConnectionName', 'ConnectionKey', 'UserName2', 'UserPassword2');
BpApp.SelectMand('MandantenNummer(alphanumerisch)');
// ... Do SomeThing als UserName2 im Mandanten ...
C#-Codebeispiel: Vollständiger Lebenszyklus
class Program
{
static BpNT.Application ComApp = null;
static void Main(string[] args)
{
try
{
Console.WriteLine("Application created");
ComApp = new BpNT.Application();
Console.WriteLine("init:");
init("tdroescher");
Console.ReadLine();
Console.WriteLine("login:");
login();
Console.ReadLine();
Console.WriteLine("change:");
change();
Console.ReadLine();
Console.WriteLine("logout:");
logout();
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
ComApp = null;
}
}
private static void init(string sUser)
{
Console.WriteLine("Init");
ComApp.Init("Firmenname", "", sUser, "");
}
private static void login()
{
Console.WriteLine("SelectMand 1");
ComApp.SelectMand("1");
}
private static void change()
{
Console.WriteLine("LogOff MAND.1");
ComApp.LogOff(); // Schließt den geöffneten Mandant
Console.WriteLine("SelectMand 2");
ComApp.SelectMand("2");
}
private static void logout()
{
Console.WriteLine("DeInit");
ComApp.DeInit(); // Schließt die gesamte Verbindung (inkl. LogOff())
}
}
3.1.15 IAutoApplication16 Interface
Von IAutoApplication15 abgeleitetes Interface.
IDL
[ uuid(760DB4C4-EEE7-44D2-9CE0-BAAF4B06CBD2), dual, oleautomation ]
interface IAutoApplication16 : IAutoApplication15;
Ab Build: 5909.
IAutoApplication16 Eigenschaften
Methoden
| Name | Beschreibung |
|---|---|
| GetAppProcessId | Liefert die ID des Prozesses der BpNext-Instanz zurück (PID). |
IAutoApplication16::GetAppProcessId Methode
Liefert die ID des Prozesses der BpNext-Instanz zurück (PID).
IDL
[id(0x00000709)]
HRESULT _stdcall GetAppProcessId([out, retval] unsigned long* Result);
| Parameter | Beschreibung |
|---|---|
| [out, retval] unsigned long* Result | ID des Prozesses |
3.1.16 IAutoApplication17 Interface
Von IAutoApplication16 abgeleitetes Interface.
IDL
[ uuid(309D3CC4-3D7C-48A8-B033-2283635B6BA6), dual, oleautomation ]
interface IAutoApplication17 : IAutoApplication16;
Ab Build: 5909.
IAutoApplication17 Eigenschaften
Methoden
| Name | Beschreibung |
|---|---|
| GetAppProcessId | Liefert die ID des Prozesses der BpNext-Instanz zurück (PID). |
| GetServerState | Mit dieser Funktion kann der aktuelle Status des Datenservers abgefragt werden. |
IAutoApplication17::GetServerState Methode
Mit dieser Funktion kann der aktuelle Status des Datenservers abgefragt werden.
IDL
[id(0x0000076D)]
HRESULT _stdcall GetServerState([out, retval] unsigned long* Result);
GetServerState liefert nachfolgende Werte:
| Wert | Bedeutung |
|---|---|
| 0 | Server läuft (COM-Programm kann sich anmelden) |
| 1 | Server soll beendet werden (COM-Programm soll sich abmelden bzw. kann sich nicht anmelden) |
| 2 | Server will in den Maintenance-Mode wechseln bzw. befindet sich im Maintenance-Mode (COM-Programm soll sich abmelden bzw. kann sich nicht anmelden) |
| 3 | Server ist nicht erreichbar (COM-Programm kann sich nicht anmelden) |
| 4 | Verbindung zum Server wurde getrennt (COM-Programm muss neu gestartet werden). Dieser Fall tritt ein, wenn sich das COM-Programm im Fall von 1 bzw. 2 nicht innerhalb von 5 Sekunden abmeldet. (Ab Build 5912.0016) |
| 5 | Client, über den sich das COM-Programm anmeldet, muss aktualisiert werden |
| Parameter | Beschreibung |
|---|---|
| [out, retval] unsigned long* Result | Den aktuellen Status des Datenservers |
3.1.17 IAutoApplication18 Interface
Von IAutoApplication17 abstammendes Interface.
IDL
[ uuid(978DF656-C2A1-48D7-91BA-34BF5002D7E4), dual, oleautomation ]
interface IAutoApplication18 : IAutoApplication17;
Ab Build: 6137.
IAutoApplication18 Eigenschaften
Methoden
| Name | Beschreibung |
|---|---|
| GetAppProcessId | Liefert die ID des Prozesses der BpNext-Instanz zurück (PID). |
| GetMandState | GetMandState |
| GetServerState | Mit dieser Funktion kann der aktuelle Status des Datenservers abgefragt werden. |
IAutoApplication18::GetMandState Methode
IDL
[id(0x000007D1)]
HRESULT _stdcall GetMandState([out, retval] long* Result);
Ruft man GetMandState auf, so erhält man je nach Status den Wert 0, 1 oder 2:
| Wert | Bedeutung |
|---|---|
| 0 | Alles in Ordnung, keine Aktion erforderlich |
| 1 | Das Mandantendatum hat sich seit der COM-Anmeldung geändert. Die COM-Anwendung muss sich ab- und wieder neu anmelden. |
| 2 | Eine Parameteränderung hat stattgefunden. Die COM-Anwendung muss sich am Mandant erneut anmelden, um die Änderungen zu übernehmen. |
C#-Codebeispiel
BpNT.Application bpApp = new BpNT.Application();
int mandState;
bpApp.Init("ConnName", "", "User", "Pass");
bpApp.SelectMand("1");
while (true)
{
mandState = bpApp.GetMandState();
switch (mandState)
{
case 1:
Console.WriteLine("Tageswechsel - Reconnect erforderlich");
Reconnect(); // Verbindung trennen und neu herstellen
break;
case 2:
Console.WriteLine("Parameteränderung - Reconnect erforderlich");
Reconnect(); // Verbindung trennen und neu herstellen
break;
default:
break;
}
}
| Parameter | Beschreibung |
|---|---|
| [out, retval] long* Result | Status als Integer. 0 = OK, 1 = Tageswechsel durchgeführt, 2 = Parameteränderung durchgeführt |