Zum Inhalt

NestedDataSets, Layouts & Protokoll

3.1.52 IAutoNestedDataSetInfos Interface

Enumerations Objekt für AutoNestedDataSetInfo.

IDL

[ uuid(DEED36D4-2EB5-11D3-BA03-004005232B30), version(1.0),
  helpstring("Dispatch-Schnittstelle für AutoNestedDataSetInfos-Objekt"), dual,
  oleautomation ]
interface IAutoNestedDataSetInfos : IAutoBase;

Beschreibung

3.1.52.1 IAutoNestedDataSetInfos Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoNestedDataSetInfos.

Methoden

Name Beschreibung
Item Zugriff auf AutoNestedDataSetInfo.

Eigenschaften

Name Beschreibung
_NewEnum Enumerator Kompatibilität.
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
Count Anzahl der AutoNestedDataSetInfo.
Parent Gibt das Parent Interface zurück.

3.1.52.2 IAutoNestedDataSetInfos::Count Eigenschaft

Anzahl der AutoNestedDataSetInfo.

IDL

__property long* Count;

Beschreibung

Gibt die Anzahl der Einträge an.

Parameter

Parameter Beschreibung
Value Rückgabewert: Anzahl der Elemente

3.1.52.3 IAutoNestedDataSetInfos::Item Methode

Zugriff auf AutoNestedDataSetInfo.

IDL

[propget, id(0x00000000), defaultcollelem]
HRESULT _stdcall Item([in] VARIANT Index, [out, retval] IAutoDataSetInfo** Value);

Beschreibung

Diese Funktion ermöglicht den Zugriff auf die einzelnen AutoNestedDataSetInfo Elemente.

Der Eingabeparameter Index kann einen Integer oder einen String beinhalten. Der Integer muss dem Index des Elementes in der Liste entsprechen. Der String muss dem Namen des Elements entsprechen.

Parameter

Parameter Beschreibung
[in] VARIANT Index Variant der String oder Integer Index des gewünschten Interfaces enthalten kann
[out, retval] IAutoDataSetInfo** Value Rückgabewert: Interface vom Type AutoNestedDataSetInfo

3.1.52.4 IAutoNestedDataSetInfos::_NewEnum Eigenschaft

Enumerator Kompatibilität.

IDL

__property IEnumVARIANT** _NewEnum;

Beschreibung


3.1.53 IAutoNestedDataSets Interface

Enumerations Objekt für AutoNestedDataSet.

IDL

[ uuid(067E3101-AF91-11D2-B966-004005232B30), version(1.0),
  helpstring("Dispatch-Schnittstelle für AutoNestedDataSets-Objekt"), dual,
  oleautomation ]
interface IAutoNestedDataSets : IAutoBase;

Beschreibung

3.1.53.1 IAutoNestedDataSets Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoNestedDataSets.

Methoden

Name Beschreibung
Item Erstellt ein NestedDataSet.

Eigenschaften

Name Beschreibung
_NewEnum Enumerator Kompatibilität.
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
Count Anzahl der AutoNestedDataSets.
Parent Gibt das Parent Interface zurück.

3.1.53.2 IAutoNestedDataSets::Count Eigenschaft

Anzahl der AutoNestedDataSets.

IDL

__property long* Count;

Beschreibung

Gibt die Anzahl der Einträge an.

Parameter

Parameter Beschreibung
Value Rückgabewert: Anzahl der Elemente

3.1.53.3 IAutoNestedDataSets::Item Methode

Erstellt ein NestedDataSet.

IDL

[propget, id(0x00000000), defaultcollelem]
HRESULT _stdcall Item([in] VARIANT Index, [out, retval] AutoDataSet** Value);

Beschreibung

Diese Funktion ermöglicht den Zugriff auf die einzelnen AutoNestedDataSetInfo Elemente.

Der Eingabeparameter "Index" kann einen Integer oder einen String beinhalten. Der Integer muss dem Index des Elementes in der Liste entsprechen. Der String muss dem Namen des Elements entsprechen.

Ein NestedDataSet ist als Teil einer Tabelle zu verstehen. Daher kann ein NestedDataSet nur von der zugehörigen Tabelle aus geöffnet werden. Ist es einmal geöffnet, verhält es sich wie eine Tabelle.

Tip

Ist im NestedDataSet ein Range aktiv und wird das NestedDataSet während dieser Zeit geschrieben, werden nur die Einträge innerhalb des Ranges zurück geschrieben.

Positionierung im NestedDataSet (Delphi)
// Erste Methode zur Positionierung
Nested.Indices['Nr'].Select;
Nested.SetRangeStart;
Nested.Fields['Nr'].AsInteger := 2;
Nested.SetRangeEnd;
Nested.Fields['Nr'].AsInteger := 4;
Nested.ApplyRange;
Nested.First; // Oder andere gewünschte Position
Nested.CancelRange; // Range aufheben bevor Editiert wird

// Zweite Methode zur Positionierung
Nested.Indices['Nr'].Select;
Nested.SetKey;
Nested.Fields['Nr'].AsInteger := 2;
if not Nested.GotoKey then
  showmessage('GOTOKEY fehlgeschlagen');
NestedDataSet öffnen (VBScript)
...
Dim Brtln
Set Brtln = BpNT.DataSetInfos("Bruttolohn").CreateDataSet

Dim Bls
Set Bls = Brtln.NestedDataSets("Bls")
...

Ein NestedDataSet kann wie eine normale Tabelle bearbeitetet werden. Einzige Bedingung ist, dass alle darunter liegenden Tabellen ebenfalls im "Edit"-Modus stehen.

NestedDataSet ändern (VBA)
Dim DataSetArtikel As BpNT.IAutoDataSet
Dim NestedUmsatz As BpNT.IAutoDataSet

Set DataSetArtikel = BpApp.DataSetInfos.Item("Artikel").CreateDataSet
Set NestedUmsatz = DataSetArtikel.NestedDataSets("Ums")

Debug.Print NestedUmsatz.Fields("UmsMrz").AsFloat
Debug.Print NestedUmsatz.Fields("UmsFeb").AsFloat

DataSetArtikel.Edit
NestedUmsatz.Edit
NestedUmsatz.Fields("UmsMrz").AsFloat = 100
NestedUmsatz.Post
NestedUmsatz.Edit
NestedUmsatz.Fields("UmsFeb").AsFloat = 99
NestedUmsatz.Post
NestedUmsatz.PostNestedDataSet
DataSetArtikel.Post

Debug.Print NestedUmsatz.Fields("UmsMrz").AsFloat
Debug.Print NestedUmsatz.Fields("UmsFeb").AsFloat
NestedDataSet Append und Delete (Delphi)
// Append:
var
  DataSetArtikel: IAutoDataSet;
  NestedUmsatz: IAutoDataSet;
begin
  DataSetArtikel := BpApp.DataSetInfos['Artikel'].CreateDataSet;
  NestedUmsatz := DataSetArtikel.NestedDataSets['Ums'];

  DataSetArtikel.Edit;
  NestedUmsatz.Append;
  NestedUmsatz.Fields['UmsMrz'].AsFloat := 100;
  NestedUmsatz.Fields['UmsFeb'].AsFloat := 99;
  NestedUmsatz.Post;
  NestedUmsatz.PostNestedDataSet;
  DataSetArtikel.Post;
...

// Delete:
...
  DataSetArtikel.Edit;
  NestedUmsatz.Delete;
  NestedUmsatz.PostNestedDataSet;
  DataSetArtikel.Post;
...

Parameter

Parameter Beschreibung
[in] VARIANT Index Variant, der String oder Integer Index des gewünschten Interfaces enthalten kann
[out, retval] AutoDataSet** Value Rückgabewert: Interface vom Type AutoNestedDataSetInfo

3.1.53.4 IAutoNestedDataSets::_NewEnum Eigenschaft

Enumerator Kompatibilität.

IDL

__property IEnumVARIANT** _NewEnum;

Beschreibung


3.1.54 IAutoLayoutGroup Interface

Enumerations Objekt für AutoLayout.

IDL

[ uuid(F5947021-E692-47BA-8676-CF86CEA8E0AB), version(1.0),
  helpstring("Dispatch-Schnittstelle für LayoutMgr-Objekt"), dual, oleautomation ]
interface IAutoLayoutGroup : IAutoBase;

Beschreibung

Eine Layout Datei kann wie folgt erstellt werden:

DATEI - SCHNITTSTELLEN - EXPORT oder IMPORT - dann z.B.: BUCHHALTUNG - STAMMDATEN - KONTENPLAN. Hier können Sie dann das gewünschte Layout per Drag und Drop auf den Desktop ablegen. Die so entstandene *.Bpl Datei ist Ihre Layout Datei.

Eine solche Datei ist für jeden Export oder Import per COM notwendig.

3.1.54.1 IAutoLayoutGroup Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoLayoutGroup.

Methoden

Name Beschreibung
ImportLayoutFromFile Importiert Layouts aus Dateien.
ImportLayoutFromStream Importiert Layouts aus Streams.
Item Zugriff auf AutoLayout.

Eigenschaften

Name Beschreibung
_NewEnum Enumerator Kompatibilität.
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
Count Anzahl der AutoLayout Elemente.
Parent Gibt das Parent Interface zurück.

3.1.54.2 IAutoLayoutGroup::ImportLayoutFromFile Methode

Importiert Layouts aus Dateien.

IDL

[id(0x00000001)]
HRESULT _stdcall ImportLayoutFromFile([in] BSTR aFileName, [in, out] BSTR* aLayoutName,
  [in] VARIANT_BOOL aOverwrite, [out, retval] AutoLayout** aResult);

Beschreibung

Lädt eine Im/Export Datei in den Namensraum der aktuellen COM Anbindung. Dadurch können unterschiedliche Solution Partner Layouts keine Namenskollision haben. Bei einer normalen Anbindung kann dies jedoch passieren.

Parameter

Parameter Beschreibung
[in] BSTR aFileName Kompletter Dateiname zum Layout
[in, out] BSTR* aLayoutName (in/out) Name der innerhalb der Software für dieses Layout verwendet werden soll. (Out wird verwendet wenn aOverwrite "False" ist und das Layout schon namentlich vorhanden ist, um den neu vergebenen Namen zurückzugeben)
[in] VARIANT_BOOL aOverwrite Wenn "True" und dieses Layout (aLayoutName) schon vorhanden ist, wird es überschrieben
[out, retval] AutoLayout** aResult Ein Interface auf ein AutoLayout. Hiermit kann weiter gearbeitet werden

3.1.54.3 IAutoLayoutGroup::ImportLayoutFromStream Methode

Importiert Layouts aus Streams.

IDL

[id(0x00000002)]
HRESULT _stdcall ImportLayoutFromStream([in] IUnknown* aStream, [in, out] BSTR* aLayoutName,
  [in] VARIANT_BOOL aOverwrite, [out, retval] AutoLayout** aResult);

Beschreibung

Lädt eine Im/Export Datei in den Namensraum der aktuellen COM Anbindung. Dadurch können unterschiedliche Solution Partner Layouts keine Namenskollision haben. Bei einer normalen Anbindung kann dies jedoch passieren.

Parameter

Parameter Beschreibung
[in] IUnknown* aStream Stream, aus dem das Layout ausgelesen wird. Die Leseoperation startet am aktuellen Punkt des Streams
[in, out] BSTR* aLayoutName (in/out) Name der innerhalb der Software für dieses Layout verwendet werden soll. (Out wird verwendet wenn aOverwrite "False" ist und das Layout schon namentlich vorhanden ist, um den neu vergebenen Namen zurückzugeben)
[in] VARIANT_BOOL aOverwrite Wenn "True" und dieses Layout (aLayoutName) schon vorhanden ist, wird es überschrieben
[out, retval] AutoLayout** aResult Ein Interface auf ein AutoLayout. Hiermit kann weiter gearbeitet werden

3.1.54.4 IAutoLayoutGroup::Count Eigenschaft

Anzahl der AutoLayout Elemente.

IDL

__property long* Count;

Beschreibung

Gibt die Anzahl der Einträge an.

Parameter

Parameter Beschreibung
Value Rückgabewert: Anzahl der Elemente

3.1.54.5 IAutoLayoutGroup::Item Methode

Zugriff auf AutoLayout.

IDL

[propget, id(0x00000004), defaultcollelem]
HRESULT _stdcall Item([in] VARIANT Index, [out, retval] AutoLayout** Value);

Beschreibung

Diese Funktion ermöglicht den Zugriff auf die einzelnen AutoLayout Elemente.

Der Eingabeparameter Index kann einen Integer oder einen String beinhalten. Der Integer muss dem Index des Elementes in der Liste entsprechen. Der String muss dem Namen des Elements entsprechen.

Parameter

Parameter Beschreibung
[in] VARIANT Index Variant, der String oder Integer Index des gewünschten Interfaces enthalten kann
[out, retval] AutoLayout** Value Rückgabewert: Interface vom Type AutoLayout

3.1.54.6 IAutoLayoutGroup::_NewEnum Eigenschaft

Enumerator Kompatibilität.

IDL

__property IEnumVARIANT** _NewEnum;

Beschreibung


3.1.55 IAutoLayout Interface

Layout Objekt.

IDL

[ uuid(ECBDCFB8-88B7-4C41-B7D8-4B4094D21B23), version(1.0),
  helpstring("Dispatch-Schnittstelle für AutoLayout-Objekt"), dual, oleautomation ]
interface IAutoLayout : IAutoBase;

Beschreibung

Layout Objekt, bei dem der Import oder Export veranlasst wird.

3.1.55.1 IAutoLayout Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoLayout.

Methoden

Name Beschreibung
Delete Löscht das aktuelle Layout.
doExport Export Vorbereitung.
doImport Import Vorbereitung.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
Name Layout-Name ausgeben.
Parent Gibt das Parent Interface zurück.

3.1.55.2 IAutoLayout::Name Eigenschaft

Layout-Name ausgeben.

IDL

__property BSTR* Name;

Beschreibung

Gibt den Namen des Layouts aus.

3.1.55.3 IAutoLayout::Delete Methode

Löscht das aktuelle Layout.

IDL

[id(0x00000002)]
HRESULT _stdcall Delete();

Beschreibung

Löscht dieses Objekt aus der Liste der verfügbaren Layouts.

3.1.55.4 IAutoLayout::doImport Methode

Import Vorbereitung.

IDL

[id(0x00000003)]
HRESULT _stdcall doImport([out, retval] AutoPreparedLayout** PreparedLayout);

Beschreibung

Bereitet ein AutoPreparedLayout für den Import vor.

Parameter

Parameter Beschreibung
[out, retval] AutoPreparedLayout** PreparedLayout Rückgabewert: ein Interface vom Type AutoPreparedLayout für den Import

3.1.55.5 IAutoLayout::doExport Methode

Export Vorbereitung.

IDL

[id(0x00000005)]
HRESULT _stdcall doExport([out, retval] AutoPreparedLayout** PreparedLayout);

Beschreibung

Bereitet ein AutoPreparedLayout für den Export vor.

Parameter

Parameter Beschreibung
[out, retval] AutoPreparedLayout** PreparedLayout Rückgabewert: ein Interface vom Type AutoPreparedLayout für den Export

3.1.56 IAutoPreparedLayout Interface

Objekt für Im/Exporte.

IDL

[ uuid(6508B890-00BB-42A6-9367-DFB19975CBB0), version(1.0),
  helpstring("Dispatch-Schnittstelle für AutoPreparedLayout-Objekt"), dual,
  oleautomation ]
interface IAutoPreparedLayout : IAutoBase;

Beschreibung

Layout-Pfad setzen und Export ausführen (VBA)
Public Sub LayoutPfad()
  Dim BpNT As BpNT.Application
  Dim LayoutGroup As AutoLayoutGroup
  Dim Layout As AutoLayout
  Dim ExecLayout As AutoPreparedLayout
  Dim ReturnName As String

  Set BpNT = CreateObject("BpNT.Application")
  Call BpNT.Init("Firmenname", "", "Anmeldename", "Password") ' Anmeldeinformationen Eintragen
  Call BpNT.SelectMand("1")

  Set LayoutGroup = BpNT.OpenLayoutGroup("Au", "ArtExpListe") ' Beziffert den Einsatzort der Layout
  ' Gruppe hier: Au = Modul Auftrag ArtExpListe = ein Layout vom Typus Liste eines Artikel Exports

  ReturnName = "Test eines Exports" ' dieser Wert wird auf den neuen Namen abgeändert falls ein
  ' vorhandenes Layout nicht überschrieben wird und der Name geändert wird z.B. Import zu Import (1)

  Set Layout = LayoutGroup.ImportLayoutFromStream(z.B.: IStream aus Ressourcen, ReturnName, False)
  Set ExecLayout = Layout.doExport ' veranlasst einen Export

  Call ExecLayout.StartModify ' bereitet die Exportmodifikation vor
  Debug.Print ExecLayout.GetLayoutFileExt ' Holt nur die Dateiextension. Ist leer falls im Layout nicht vorhanden.
  Debug.Print ExecLayout.LayoutFile ' Gibt den kompletten Dateipfad + Dateinamen + Extension zurück.
  ExecLayout.LayoutFile = "C:\ExportDatei" & ExecLayout.GetLayoutFileExt ' Setzt den kompletten Dateipfad + Dateinamen + Extension.
  Call ExecLayout.EndModify ' Ende des Modifizierens
  Call ExecLayout.Execute ' Exportieren des Layouts mit der geänderten Pfadangabe

  Set LayoutGroup = Nothing
  Set ExecLayout = Nothing
  Set Layout = Nothing
  Set BpNT = Nothing
End Sub

Sollten Sie StartModify aufgerufen haben und Änderungen nicht übernehmen wollen, müssen Sie das AutoPreparedLayout nochmals erstellen.

Anmerkung

Bei einem ADO Export enthält die Eigenschaft "LayoutFile" den ADO Connection String.

3.1.56.1 IAutoPreparedLayout Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoPreparedLayout.

Methoden

Name Beschreibung
EndModify Die Layout Informationen wurden geändert.
Execute Im/Export ausführen.
StartModify Layout Informationen können hiernach geändert werden.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataTable Dataset, das modifiziert werden kann.
Parent Gibt das Parent Interface zurück.

3.1.56.2 IAutoPreparedLayout::Execute Methode

Im/Export ausführen.

IDL

[id(0x00000001)]
HRESULT _stdcall Execute();

Beschreibung

Führt den Im/Export mit den aktuellen Einstellungen aus.

3.1.56.3 IAutoPreparedLayout::StartModify Methode

Layout Informationen können hiernach geändert werden.

IDL

[id(0x00000002)]
HRESULT _stdcall StartModify();

Beschreibung

Möchte man bei einem automatisierten Export die Ergebnismenge beeinflussen, kann man folgende Befehle verwenden.

Warning

Alle Änderungen an den Datensätzen wie "Löschen", "Anhängen", "Ändern" ("Delete", "Append", "Edit") wirken sich direkt aus (auch wenn EndModify nicht aufgerufen wird).

Um Ihre Ergebnismenge einzuschränken, benutzen Sie einen Range. Wählen Sie den passenden Index aus und setzten Sie einen Range mit den gewünschten Werten, um die Ergebnismenge einzugrenzen. Diese Funktionalität besteht nur bei Exporten. Bei einem Import bleibt sie ohne Wirkung.

Export mit Range-Einschränkung (VBA)
Public Sub Layout()
  Dim BpNT As BpNT.Application
  Dim LayoutGroup As AutoLayoutGroup
  Dim Layout As AutoLayout
  Dim ExecLayout As AutoPreparedLayout
  Dim ReturnName As String
  Dim Index As Integer
  Dim Table As AutoDataSet

  Set BpNT = CreateObject("BpNT.Application")
  Call BpNT.Init("Firmenname", "", "Anmeldename", "Password") ' Anmeldeinformationen Eintragen
  Call BpNT.SelectMand("1")

  Set LayoutGroup = BpNT.OpenLayoutGroup("Au", "ArtExpListe") ' Beziffert den Einsatzort der Layout
  ' Gruppe hier: Au = Modul Auftrag ArtExpListe = ein Layout vom Typus Liste eines Artikel Exports

  ReturnName = "Test eines Exports" ' dieser Wert wird auf den neuen Namen abgeändert falls ein
  ' vorhandenes Layout nicht überschrieben wird und der Name geändert wird z.B. Import zu Import (1)

  Set Layout = LayoutGroup.ImportLayoutFromFile("C:\Artikel Export.BPL", ReturnName, True)
  ' Geben Sie hier den Pfad zu ihrem erstellten Layout an

  Set ExecLayout = Layout.doExport ' veranlasst einen Export
  Call ExecLayout.StartModify ' bereitet die Export Tabelle vor
  Set Table = ExecLayout.DataTable ' Abholen der eigentlichen Tabelle

  Table.Indices("WgrNr").Select ' setzen eines Indices

  ' Eingrenzen der Ergebnismenge
  Table.SetRangeStart
  Table.Fields("WgrNr").AsString = "4"
  Table.Fields("ArtNr").AsString = "1"
  Table.SetRangeEnd
  Table.Fields("WgrNr").AsString = "4"
  Table.Fields("ArtNr").AsString = "1000"
  Table.ApplyRange

  ExecLayout.DataTable = Table ' Rückführen der Tabelle
  Call ExecLayout.EndModify ' Ende des Editierens der Tabelle anzeigen
  Call ExecLayout.Execute ' Exportieren des Layouts mit der geänderten Tabelle

  Set LayoutGroup = Nothing
  Set Table = Nothing
  Set ExecLayout = Nothing
  Set BpNT = Nothing
End Sub

3.1.56.4 IAutoPreparedLayout::EndModify Methode

Die Layout Informationen wurden geändert.

IDL

[id(0x00000003)]
HRESULT _stdcall EndModify();

Beschreibung

Beendet die Modifizierung der Layout Informationen. Hiernach kann der Ex/Import durchgeführt werden.

3.1.56.5 IAutoPreparedLayout::DataTable Eigenschaft

Dataset, das modifiziert werden kann.

IDL

__property AutoDataSet** DataTable;

Beschreibung

Gibt ein Interface vom Type AutoDataSet zurück. Dieses Interface ist nur zwischen StartModify und EndModify benutzbar.

Warning

Beim Export schreiben Sie hier direkt in den Daten. Es ist auf jeden Fall ratsam dieses DataSet nur mit Range oder Filter zu bearbeiten. Bei Importen steht dieses Element nicht zur Verfügung.


3.1.57 IAutoPreparedLayout2 Interface

Von IAutoPreparedLayout abstammendes Interface.

IDL

[ uuid(73CDFFA3-FD09-4635-9682-A89CB7F15FDD), version(1.0),
  helpstring("Erweiterte AutoPreparedLayout Schnittstelle"), dual, oleautomation ]
interface IAutoPreparedLayout2 : IAutoPreparedLayout;

Beschreibung

3.1.57.1 IAutoPreparedLayout2 Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoPreparedLayout2.

Methoden

Name Beschreibung
EndModify Die Layout Informationen wurden geändert.
Execute Im/Export ausführen.
StartModify Layout Informationen können hiernach geändert werden.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataTable Dataset, das modifiziert werden kann.
GetLayoutFileExt Extension der Datendatei.
LayoutFile kompletter Dateiname.
Parent Gibt das Parent Interface zurück.

3.1.57.2 IAutoPreparedLayout2::LayoutFile Eigenschaft

kompletter Dateiname.

IDL

__property BSTR LayoutFile;

Beschreibung

Gibt den kompletten Namen der Im/Export Datei an. Pfad + Name + Extension.

3.1.57.3 IAutoPreparedLayout2::GetLayoutFileExt Eigenschaft

Extension der Datendatei.

IDL

__property BSTR* GetLayoutFileExt;

Beschreibung

Gibt die Extension der Datendatei aus.


3.1.58 IAutoPreparedLayout3 Interface

Von IAutoPreparedLayout2 abstammendes Interface.

IDL

[ uuid(21CDC318-54FC-4E05-AD92-A8A38AFE9263), version(1.0),
  helpstring("Erweiterte AutoPreparedLayout Schnittstelle 2"), dual, oleautomation ]
interface IAutoPreparedLayout3 : IAutoPreparedLayout2;

Beschreibung

Ab Build: 5144.

3.1.58.1 IAutoPreparedLayout3 Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoPreparedLayout3.

Methoden

Name Beschreibung
EndModify Die Layout Informationen wurden geändert.
Execute Im/Export ausführen.
StartModify Layout Informationen können hiernach geändert werden.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataTable Dataset, das modifiziert werden kann.
GetLayoutFileExt Extension der Datendatei.
LayoutFile kompletter Dateiname.
LayoutFileEncoding LayoutFileEncoding legt das Datei-Encoding fest.
Parent Gibt das Parent Interface zurück.

3.1.58.2 IAutoPreparedLayout3::LayoutFileEncoding Eigenschaft

LayoutFileEncoding legt das Datei-Encoding fest.

IDL

__property enum EncodingType LayoutFileEncoding;

Beschreibung

Der Aufzählungstyp "EncodingType" wird verwendet, um für den Import eines "AutoPreparedLayouts" das Encoding der Eingabedatei zu bestimmen. Es gibt Fälle, in denen beim Import einer Datei ohne festgelegtes Encoding eine Meldung ausgegeben wird. Das Festlegen des korrekten Import Encoding verhindert die Ausgabe der Meldung.


3.1.59 IAutoProtokoll Interface

Protokoll Objekt.

IDL

[ uuid(8A7B6361-B211-11D2-B96D-004005232B30), version(1.0),
  helpstring("Dispatch-Schnittstelle für AutoProtokoll-Objekt"), dual, oleautomation ]
interface IAutoProtokoll : IAutoBase;

Beschreibung

Mit diesem Objekt können Protokolleinträge geschrieben werden. Diese sind in der microtech Software unter "OPTIONEN - PROTOKOLLÜBERSICHT" einsehbar.

Protokoll schreiben (Delphi)
Program delphi;
var
  BpApp: Variant;
  Protokoll: Variant;
  rtfText: Variant;
begin
  rtfText := '{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}}'
    + #10#13
    + '{\colortbl ;\red255\green0\blue0;\red255\green255\blue0;\red0\green0\blue255;'
    + '\red0\green128\blue0;\red0\green255\blue255;}'
    + #10#13
    + '{\*\generator Msftedit 5.41.21.2508;}\viewkind4\uc1\pard\cf1\f0\fs24 B\cf2 u\cf3 N\cf4 t\cf5 ?\cf0\par'
    + #10#13
    + '}';

  // Die Art des Eintrages wird über diese Konstanten bestimmt.
  // In der Menge der Einträge wird der Status des Protokolls durch seinen
  // "schwersten" Einzeleintrag bestimmt
  // mtWarning  = 0  Warnung auslösen. Protokoll wird zur Anzeige markiert. Priorität = Hoch.
  // mtError    = 1  Fehler ausgelöst. Protokoll wird zur Anzeige markiert. Priorität = normal.
  // mtInfo     = 2  Informativer Eintrag. Protokoll wird nicht zur Anzeige markiert. Priorität = niedrig.
  // mtQuestion = 3  Fragender Eintrag. Protokoll wird nicht zur Anzeige markiert. Priorität = niedrig.
  // mtBlank    = 4  Informationszeile. Protokoll wird nicht zur Anzeige markiert. Priorität = niedrig.

  BpApp := CreateOleObject('BpNT.Application');
  BpApp.Init('Ihr ConnectionName', 'Ihr ConnectionKey', 'Ihr Anmeldename', 'Ihr Passwort');
  BpApp.SelectMand('Ihr Mandant');

  Protokoll := BpApp.NewProtocoll('Ihr Programm');
  Protokoll.Add({mtWarning}1, 'Programm Meldung 1 Aufgabe X erledigt');
  Protokoll.Add({mtWarning}1, 'Programm Meldung 2 Aufgabe Y erledigt');

  // Bisherige Einträge löschen um z.B. Log Einträge nach einem erfolgreichen Vorgang zu entfernen.
  Protokoll.Cancel;
  Protokoll := 0;

  Protokoll := BpApp.NewProtocoll('Ihr Programm schreibt ein Protokoll');
  Protokoll.Add({mtInfo}2, 'Wir möchten Hier eine Information hinterlassen das alles klappte');
  Protokoll.AddRTF({mtQuestion}3, rtfText);
  Protokoll := 0;
  BpApp := 0;
end;

3.1.59.1 IAutoProtokoll Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoProtokoll.

Methoden

Name Beschreibung
Add String hinzufügen.
AddRTF RtfString hinzufügen.
Cancel Einträge verwerfen.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
Parent Gibt das Parent Interface zurück.

3.1.59.2 IAutoProtokoll::Cancel Methode

Einträge verwerfen.

IDL

[id(0x00000001)]
HRESULT _stdcall Cancel();

Beschreibung

Bisher getätigte Einträge werden wieder verworfen.

3.1.59.3 IAutoProtokoll::Add Methode

String hinzufügen.

IDL

[id(0x00000002)]
HRESULT _stdcall Add([in] enum MsgTyp Typ, [in] BSTR s);

Beschreibung

Fügt einen String mit dem angegebenen Typ zum Protokoll hinzu.

Parameter

Parameter Beschreibung
[in] enum MsgTyp Typ MsgTyp mit dem Typ dieses Eintrages
[in] BSTR s Freier Text, der später im Protokoll angezeigt wird

3.1.59.4 IAutoProtokoll::AddRTF Methode

RtfString hinzufügen.

IDL

[id(0x00000003)]
HRESULT _stdcall AddRTF([in] enum MsgTyp Typ, [in] BSTR s);

Beschreibung

Fügt einen RtfString mit dem angegebenen Typ zum Protokoll hinzu.

Parameter

Parameter Beschreibung
[in] enum MsgTyp Typ MsgTyp mit dem Typ dieses Eintrages
[in] BSTR s RtfString, der später im Protokoll angezeigt wird

3.1.60 IAutoProtokoll2 Interface

Von IAutoProtokoll abstammendes Interface.

IDL

[ uuid(809887FB-8F8A-4EE3-AB11-201559FCC690), version(1.0), dual, oleautomation ]
interface IAutoProtokoll2 : IAutoProtokoll;

Beschreibung

3.1.60.1 IAutoProtokoll2 Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoProtokoll2.

Methoden

Name Beschreibung
Add String hinzufügen.
AddFileEncode Dateien encodiert einfügen.
AddRTF RtfString hinzufügen.
AddStringEncode String encodiert einfügen.
Cancel Einträge verwerfen.
Decode Dekodiert Protokolleinträge.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
Parent Gibt das Parent Interface zurück.

3.1.60.2 IAutoProtokoll2::AddFileEncode Methode

Dateien encodiert einfügen.

IDL

[id(0x00000004), helpstring("Die Funktion gibt True zurück wenn die angegebene Datei
  hinzugefügt werden konnte.")]
HRESULT _stdcall AddFileEncode([in] enum MsgTyp Typ, [in] BSTR Caption, [in] BSTR
  FileName, [in] VARIANT_BOOL Delete);

Beschreibung

Fügt die textuelle Darstellung einer Datei zum Protokoll hinzu. Es können auch Binärdateien angehängt werden, aber wir empfehlen textbasierte Dateien zu verwenden.

Parameter

Parameter Beschreibung
[in] enum MsgTyp Typ MsgTyp mit dem Typ dieses Eintrages
[in] BSTR Caption Beschriftung für den encodierten Eintrag im Protokoll
[in] BSTR FileName Vollständiger Pfad. Dateiname der zu encodierenden Datei
[in] VARIANT_BOOL Delete "True", wenn die Datei nach dem Anfügen gelöscht werden soll

3.1.60.3 IAutoProtokoll2::AddStringEncode Methode

String encodiert einfügen.

IDL

[id(0x00000005)]
HRESULT _stdcall AddStringEncode([in] enum MsgTyp Typ, [in] BSTR Caption, [in] BSTR Value);

Beschreibung

Der übergebene String wird encodiert im Protokoll abgelegt.

Parameter

Parameter Beschreibung
[in] enum MsgTyp Typ MsgTyp mit dem Typ dieses Eintrages
[in] BSTR Caption Beschriftung für den encodierten Eintrag im Protokoll
[in] BSTR Value Der zu encodierende String

3.1.60.4 IAutoProtokoll2::Decode Methode

Dekodiert Protokolleinträge.

IDL

[id(0x00000006)]
HRESULT _stdcall Decode([in] BSTR Protokoll, [out, retval] BSTR* Result);

Beschreibung

Funktion zum Dekodieren von Protokolleinträgen.

Parameter

Parameter Beschreibung
[in] BSTR Protokoll Protokoll Text
[out, retval] BSTR* Result String mit den Dekodierten Inhalten