Zum Inhalt

Vorgangsobjekt

3.1.72 IAutoVorgang Interface

SpecialObject für die Vorgangsbearbeitung.

IDL

[ uuid(64DF2CA6-10CC-40D7-8928-4853ECDD066C), version(1.0), dual, oleautomation ]
interface IAutoVorgang : IAutoBase;

Beschreibung

Analog dem Aufruf für andere SpecialObjects können Sie wie folgt ein Objekt der Schnittstelle "AutoVorgang" erstellen.

Set Vorgang = BpApp.GetSpecialObject(soVorgang) ' Wobei soVorgang dem Wert 1 entspricht.

Folgende Funktionen stehen für das Vorgangsobjekt zur Verfügung:

  • Append(VorgangsArt: Integer; const AdressNr: WideString) – Erstellt neuen Vorgang
  • Edit(const BelegNr: WideString) – Bearbeitet einen bestehenden Vorgang
  • Post – Schreibt den bearbeiteten Vorgang fest
  • Cancel – Verwirft die aktuellen Änderungen; Beachten Sie, das nach einem Append - Cancel, der Vorgang nicht gelöscht wird.
  • property DataSet: AutoDataSet – Gibt die Vorgangstabelle als AutoDataSet zurück.
  • property Positionen: AutoVorgangPositionen – Gibt ein Objekt (AutoVorgangPositionen) zurück mit dem die Positionen bearbeitet werden können.

Folgende Funktionen stehen für AutoVorgangPositionen zur Verfügung:

  • Add(Menge: Double; const Einheit: WideString; const ArtNr: WideString) – Hängt eine Position mit Menge, Einheit und Artikel an die Vorgangspositionen an.
  • Insert(Menge: Double; const Einheit: WideString; const ArtNr: WideString) – Fügt eine Vorgangsposition an der aktuellen Dataset Position ein.
  • property DataSet: AutoDataSet – Gibt die Positionstabelle als AutoDataSet zurück.
Beispiel: Vorgang anlegen (VBS)
Set Vorgang = BpApp.GetSpecialObject(soVorgang) ' entspricht 1
Call Vorgang.Append(Vorgangsart, AdressNummer)
' Die Vorgangsart entspricht der Nr, die Sie in der microtech Software unter
' BEARBEITEN - PARAMETER - AUFTRAGSVERWALTUNG - VORGAENGE UND ZWISCHENBELEGE - ARTEN finden.
Call Vorgang.Positionen.Add(Menge, Packungseinheit, ArtikelNummer)
Vorgang.Post
Beispiel: Vorgang bearbeiten (VBS)
Set Vorgang = BpApp.GetSpecialObject(soVorgang) ' entspricht 1
Call Vorgang.Edit(Belegnummer)
Call Vorgang.Positionen.Add(Menge, Packungseinheit, ArtikelNummer)
Call Vorgang.Post

Während Sie den Vorgang erstellen, können Sie über die DataSets ebenfalls eingreifen und eventuell weitere erforderliche Informationen hinterlegen.

Beispiel: Vorgang mit DataSet-Manipulation und Preisänderung (VBA)
Public Sub NewVorgang()
Dim Vorgang As BpNT.AutoVorgang
Dim VorgangTbl As BpNT.AutoDataSet
Dim BetragGrp As BpNT.AutoBetragGrp
Set Vorgang = BpApp.GetSpecialObject(soVorgang)
Call Vorgang.Append(110, "10018")
Set VorgangTbl = Vorgang.DataSet 'Das DataSet des Vorgangs wird gebuffert
VorgangTbl.Fields("AuftrNr").AsString = "Com_Vorgang" 'Zusatz informationen ändern
Call Vorgang.Positionen.Add(CDbl(2), "Stück", "1") ' Artikel 1 mit 2 Stück hinzufügen
Call Vorgang.Positionen.DataSet.Edit
Set BetragGrp = Vorgang.Positionen.DataSet.Fields("EPr").GetEditObject(etBetragGrp)
BetragGrp.GesNetto = CDbl(15.45) ' Einen abweichenden Preis für diese Position hinterlegen
BetragGrp.Save
Call Vorgang.Positionen.DataSet.Post
Call Vorgang.Positionen.Add(CDbl(1), "Stück", "2")
Call Vorgang.Positionen.DataSet.Edit
Set BetragGrp = Vorgang.Positionen.DataSet.Fields("EPr").GetEditObject(etBetragGrp)
BetragGrp.GesNetto = CDbl(19.45)
BetragGrp.Save
Call Vorgang.Positionen.DataSet.Post
Set BetragGrp = Nothing
On Error GoTo PostError
Vorgang.Post ' der Vorgang wird abgespeichert
GoTo Clear
PostError:
Vorgang.Cancel
Resume Next
Clear:
Set VorgangTbl = Nothing
Set Vorgang = Nothing
End Sub

Beachten Sie bitte das es mehrere unterschiedliche Möglichkeiten gibt Rabatte zu erzielen.

  • Die Adresse erlaubt eine Verarbeitung von Rabatten und die eingefügten Artikel haben eine Rabattstaffel
  • Die Artikel selbst haben Sonderpreise. (Bitte beachten Sie: Wenn Sie Sonderpreise haben die nicht rabattfähig sind können Sie keinen Rabattsatz hinterlegen!)
  • Über COM kann für den Vorgang ein genereller Rabattsatz gesetzt werden. Dieser gilt für alle Positionen des Vorgangs sofern diese Rabattfähig sind.
  • Jede Position kann Ihren eigenen Rabatt gesetzt bekommen.

Um einen Vorgang ohne Rabatte zu erstellen gehen Sie bitte wie folgt vor:

Nachdem Sie Append aufgerufen haben können sie direkt über das Property „DataSet" das Feld „RabKz" auf False setzen. Dann werden für die Artikel die mit Add oder Insert eingefügt werden keine Rabatte mehr berechnet. „RabKz" wird beim erstellen des Vorganges aus der Adresse geholt. Mit diesem Kennzeichen können Sie steuern ob für diesen Vorgang überhaupt Rabatte erlaubt werden.

Beispiel: Vorgang ohne Rabatte (VBA)
Option Explicit

Private Sub DoNexT()
Dim BpApp As BpNT.Application
Dim Vorgang As BpNT.AutoVorgang
Dim Betrag As BpNT.IAutoBetragGrp

Set BpApp = CreateObject("BpNT.Application")
Call BpApp.Init("Ihr Firmenname", "", "Ihr Anmeldename", "Ihr Passwort")
Call BpApp.SelectMand("1")

Set Vorgang = BpApp.GetSpecialObject(1)
Call Vorgang.Append(70, "10000")
Vorgang.DataSet.Fields("RabKz").AsBoolean = False

Call Vorgang.Positionen.Add(1, "", "100")
Vorgang.Positionen.DataSet.Edit
Set Betrag = Vorgang.Positionen.DataSet.Fields("EPr").GetEditObject(etBetragGrp)
Betrag.Clear
Betrag.GesBrutto = 10
Betrag.Save
Vorgang.Positionen.DataSet.Post
Set Betrag = Nothing

Call Vorgang.Positionen.Add(1, "Stk", "101")
Vorgang.Positionen.DataSet.Edit
Set Betrag = Vorgang.Positionen.DataSet.Fields("EPr").GetEditObject(etBetragGrp)
Betrag.Clear
Betrag.GesBrutto = 15
Betrag.Save
Vorgang.Positionen.DataSet.Post

Call Vorgang.Post
Set Betrag = Nothing
Set Vorgang = Nothing
Set BpApp = Nothing
End Sub
Beispiel: Generellen Rabattsatz definieren (VBS)
' ... Snipp ...
Vorgang.DataSet.Fields("RabKz").AsBoolean = True
Vorgang.DataSet.Fields("RabSz").AsFloat = 9.98 ' Angabe in Prozent
' ... Snipp ...
Beispiel: Unterschiedliche Rabattsätze pro Position (VBS)
' ... Snipp ...
Vorgang.DataSet.Fields("RabKz").AsBoolean = True
Vorgang.Positionen.DataSet.Edit
Vorgang.Positionen.DataSet.Fields("RabSz").AsFloat = 5.86 ' Angabe in Prozent
Vorgang.Positionen.DataSet.Post
' ... Snipp ...

IAutoVorgang Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoVorgang.

Methoden

Name Beschreibung
Append Erstellt einen Vorgang.
Cancel Zurücksetzen des Vorgang Objektes.
Edit Bestehenden Vorgang ändern.
Post Schreibt Änderungen fest.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSet Datentabelle des aktuellen Vorgangs.
Parent Gibt das Parent Interface zurück.
Positionen Positionsobjekt für AutoVorgang.

Protokolleinträge für Vorgänge und Projekte

Ab Build 4094 verfügbar.

Es ist möglich in die Protokolle eines Vorgangs oder Projektes eigene Beschreibungen ein zu bringen. Folgende Werte stehen Ihnen zur Verfügung:

Name Wert
Erstellt 50
Geändert 51
Geprüft und Ok 52
Geprüft und Stopp 53
Frage 54
Info 55
Warnung 56
Fehler 57
Plus 58
Minus 59
Ok 60
Abbruch 61
Zurückgestellt 62
Geld 63

Alle Nummern können wahlfrei in den NestedDataSets VPtk (Vorgang) und PPtk (Projekte) verwendet werden. Erstellt(50) und Geändert(51) haben einen Vorgabetext. Alle anderen Nummern haben keinen Text. Jeder dieser Einträge kann im Feld NestedDataSet[VPtk].Fields[‚InfoLang'].Text mit bis zu 100 Zeichen eingetragen werden.

Beispiel: Protokolleinträge erstellen (Delphi)
procedure TVorgangProtokoll.DoWork;
var
  hDataSet, hProtokoll: AutoDataSet;
  i: Integer;
begin
  hDataSet := FComApp.DataSetInfos['Vorgang'].CreateDataSet;
  try
    hProtokoll := hDataSet.NestedDataSets['VPtk'];
    try
      hDataSet.First;
      hDataSet.Edit;
      try
        for i := 50 to 63 do
        begin
          hProtokoll.Append;
          hProtokoll.Fields['InfoImg'].Text := i;
          hProtokoll.Fields['InfoLang'].Text := 'Com Test ' + IntToStr(i);
          hProtokoll.Fields['Art'].AsInteger := Vorgangsart;
          //Die Vorgangsart von der Ausgehend gearbeitet wurde.
          hProtokoll.Fields['BelegNr'].AsString := BelegNr;
          //Die Belegnummer die der Aktion zu Grunde lag.
          hProtokoll.Post;
        end;
        hProtokoll.PostNestedDataSet;
        hDataSet.Post;
      Except
        hProtokoll.Cancel;
        hDataSet.Cancel;
      end;
    finally
      hProtokoll := nil;
    end;
  finally
    hDataSet := nil;
  end;
end;

Anmerkungen

Bitte beachten Sie dass der Zugriff mit Field.Text erfolgen muss. Einige Informationen und Aktionen im Protokoll stehen nur zur Verfügung wenn die Felder "Art" und "BelegNr" ebenfalls gefüllt sind.

IAutoVorgang::Append Methode

Erstellt einen Vorgang.

IDL

[id(0x00000001)]
HRESULT _stdcall Append([in] long VorgangsArt, [in] BSTR AdressNr);

Beschreibung

Erstellt einen neuen Vorgang für die angegebene Vorgangsart und Adresse.

Parameter

Parameter Beschreibung
[in] long VorgangsArt Bestimmt die Adresse, für die der Vorgang angelegt wird. Die Vorgangsart entspricht der Nr, die Sie im microtech Programm unter BEARBEITEN - PARAMETER - AUFTRAGSVERWALTUNG - VORGAENGE UND ZWISCHENBELEGE - ARTEN finden
[in] BSTR AdressNr Bestimmt die Adresse, für die der Vorgang angelegt wird

IAutoVorgang::Post Methode

Schreibt Änderungen fest.

IDL

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

Beschreibung

Schreibt die Änderungen, die mit einem AutoVorgang Objekt getätigt wurden, fest.

IAutoVorgang::Cancel Methode

Zurücksetzen des Vorgang Objektes.

IDL

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

Beschreibung

Der aktuell in Bearbeitung befindliche AutoVorgang wird auf seinen ursprünglichen Zustand gesetzt. Sollte "Post" schon aufgerufen worden sein, bleibt dieser Befehl ohne Wirkung.

IAutoVorgang::DataSet Eigenschaft

Datentabelle des aktuellen Vorgangs.

IDL

__property AutoDataSet** DataSet;

Beschreibung

Wurde ein Vorgang mit "Edit" oder "Append" bearbeitet, stellt diese Datentabelle den Zugriff auf den Vorgang dar. Wenn Optionen oder Werte geändert werden müssen, die vom AutoVorgang-Objekt nicht abgedeckt werden, kann diese Tabelle verwendet werden.

Parameter

Parameter Beschreibung
Value Rückgabewert: AutoDataSet, welches die Positionen des in Bearbeitung befindlichen Vorgangs enthält

IAutoVorgang::Edit Methode

Bestehenden Vorgang ändern.

IDL

[id(0x00000006)]
HRESULT _stdcall Edit([in] BSTR BelegNr);

Beschreibung

Öffnet einen bestehenden Vorgang zum Bearbeiten.

Parameter

Parameter Beschreibung
[in] BSTR BelegNr String der die Belegnummer des zu bearbeitenden Vorganges bestimmt

IAutoVorgang::Positionen Eigenschaft

Positionsobjekt für AutoVorgang.

IDL

__property AutoVorgangPositionen** Positionen;

Beschreibung

Wurde ein Vorgang mit "Edit" oder "Append" bearbeitet, stellt dieses Objekt den Zugriff auf die Positionen dar.

Parameter

Parameter Beschreibung
Value Rückgabewert: Interface vom Type AutoVorgangPositionen

3.1.73 IAutoVorgang2 Interface

Von IAutoVorgang abstammendes Interface.

IDL

[ uuid(4C34AA22-A518-40F8-B84A-B0FAA2EBCD52), version(1.0), dual, oleautomation ]
interface IAutoVorgang2 : IAutoVorgang;

IAutoVorgang2 Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoVorgang2.

Methoden

Name Beschreibung
Append Erstellt einen Vorgang.
Cancel Zurücksetzen des Vorgang Objektes.
Edit Bestehenden Vorgang ändern.
LieferbarStatus LieferbarStatus.
Post Schreibt Änderungen fest.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSet Datentabelle des aktuellen Vorgangs.
Parent Gibt das Parent Interface zurück.
Positionen Positionsobjekt für AutoVorgang.

IAutoVorgang2::LieferbarStatus Methode

LieferbarStatus.

IDL

[id(0x00000002)]
HRESULT _stdcall LieferbarStatus([out, retval] enum LieferbarStatus* Result);

Beschreibung

Gibt den Aufzählungstyp "LieferbarStatus" zurück, der die Lieferbarkeit des Vorgangs beschreibt.

Die Rückgabe enthält nur dann einen Wert, wenn folgende Bedingungen zutreffen:

  • Die Vorgangsart des zu prüfenden Vorgangs muss der Gruppe "Bestellung vom Kunden" angehören
  • In den Parametern der Vorgangsart muss das Kennzeichen "Teillieferbarinfo-Felder bereitstellen (rechenintensiv)" aktiv sein
  • Der Vorgang darf über keine abgearbeiteten, aktiven Buchungsparameter verfügen

Parameter

Parameter Beschreibung
[out, retval] enum LieferbarStatus* Result Rückgabewert: Aufzählungstyp "LieferbarStatus", der den LieferbarStatus beschreibt

3.1.74 IAutoVorgang3 Interface

Von IAutoVorgang2 abstammendes Interface.

IDL

[ uuid(02BE8F3A-121F-4095-8AB4-D0612439406B), version(1.0), dual, oleautomation ]
interface IAutoVorgang3 : IAutoVorgang2;

Beschreibung

Ab Build: 1860.

IAutoVorgang3 Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoVorgang3.

Methoden

Name Beschreibung
Alle Methoden aus IAutoVorgang2
Buchen Bucht den aktuellen Datensatz.
PossibleStorno Mögliche Stornoarten ermitteln.
PossibleStornoStrings Mögliche Stornoarten ermitteln.
Stornieren Storniert den aktuellen Datensatz.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSet Datentabelle des aktuellen Vorgangs.
Parent Gibt das Parent Interface zurück.
Positionen Positionsobjekt für AutoVorgang.

IAutoVorgang3::Buchen Methode

Bucht den aktuellen Datensatz.

IDL

[id(0x00000191)]
HRESULT _stdcall Buchen([out, retval] VARIANT_BOOL* Result);

Beschreibung

Die Buchen Funktion bucht den aktuellen Vorgang. Es werden die für diesen Vorgang hinterlegten Parameter für das Buchen abgearbeitet. Der aktuelle Vorgang kann über "Edit" oder "Append" gesetzt werden.

Beispiel: Vorgang buchen (Delphi)
SpecialObj := BpApp.GetSpecialObject(1);
SpecialObj.Edit('Meine_Belegnummer');
if SpecialObj.Buchen then // Vorgang Buchen
  Showmessage('gebucht');
SpecialObj.Post;

Parameter

Parameter Beschreibung
[out, retval] VARIANT_BOOL* Result Rückgabewert: "True", wenn das Buchen erfolgreich verlaufen ist. Im Falle von "False" sollten Sie den Datensatz überprüfen

IAutoVorgang3::Stornieren Methode

Storniert den aktuellen Datensatz.

IDL

[id(0x00000192)]
HRESULT _stdcall Stornieren([in] VARIANT_BOOL Archiv, [in] VARIANT_BOOL Gutschrift,
  [in] long GutschriftArt, [out, retval] VARIANT_BOOL* Result);

Beschreibung

Die Stornieren Funktion storniert den aktuellen Vorgang. Es werden die für diesen Vorgang hinterlegten Parameter für das Stornieren abgearbeitet. Der aktuelle Vorgang kann über "Edit" oder "Append" gesetzt werden.

Beispiel: Vorgang stornieren (Delphi)
SpecialObj := BpApp.GetSpecialObject(1);
SpecialObj.Edit('Meine_Belegnummer');
showmessage(SpecialObj.PossibleStorno);
showmessage(SpecialObj.PossibleStornoStrings);
if SpecialObj.Stornieren(true, true, 90) then // Vorgang Stornieren
  Showmessage('storniert');
SpecialObj.Post;

Parameter

Parameter Beschreibung
[in] VARIANT_BOOL Archiv Nach dem Erstellen der Gutschrift wird der ursprüngliche Datensatz in das Archiv verschoben
[in] VARIANT_BOOL Gutschrift "True" erstellt eine Gutschrift. Wenn dieser Parameter "False" ist, wird keine Gutschrift erstellt und der Parameter "GutschriftArt" nicht mehr beachtet
[in] long GutschriftArt Vorgangsnummer, mit der eine Gutschrift erstellt wird. Diese Nummern können unter BEARBEITEN - PARAMETER - VORGÄNGE UND ZWISCHENBELEGE - ARTEN eingesehen werden
[out, retval] VARIANT_BOOL* Result Rückgabewert: "True", wenn das Stornieren erfolgreich verlaufen ist. Im Falle von "False" sollten Sie den Datensatz überprüfen

IAutoVorgang3::PossibleStorno Methode

Mögliche Stornoarten ermitteln.

IDL

[id(0x00000193)]
HRESULT _stdcall PossibleStorno([out, retval] BSTR* Result);

Beschreibung

Diese Funktion gibt eine kommaseparierte Liste der möglichen Vorgangsnummern für eine Stornierung zurück. Die Vorgangsarten werden abhängig vom aktuellen Vorgang ermittelt.

Parameter

Parameter Beschreibung
[out, retval] BSTR* Result Kommaseparierte Liste mit den möglichen Vorgangsarten als nummerische Darstellung z.B. "90," oder "90, 10,"

IAutoVorgang3::PossibleStornoStrings Methode

Mögliche Stornoarten ermitteln.

IDL

[id(0x00000194)]
HRESULT _stdcall PossibleStornoStrings([out, retval] BSTR* Result);

Beschreibung

Diese Funktion gibt eine kommaseparierte Liste der möglichen Vorgangsarten für eine Stornierung zurück. Die Vorgangsarten werden abhängig vom aktuellen Vorgang ermittelt.

Parameter

Parameter Beschreibung
[out, retval] BSTR* Result Kommaseparierte Liste mit den möglichen Vorgangsarten z.B. "Gutschrift," oder "Gutschrift, "Freier Typ"

3.1.75 IAutoVorgang4 Interface

Von IAutoVorgang3 abstammendes Interface.

IDL

[ uuid(6A9E4878-E9F2-4813-A86D-CB5D2F6E2ABF), version(1.0), dual, oleautomation ]
interface IAutoVorgang4 : IAutoVorgang3;

Beschreibung

Ab Build: 2685

Das Vorgangsobjekt kann auch ohne den Aufruf einer oder mehrerer der hier genannten Funktionen verwendet werden. Wenn CalculateRabatt nicht aufgerufen wird, wird diese Funktionalität beim Speichern angewendet. Sollten Sie also eine Berechnung innerhalb der Parameter des Programmes verhindern wollen, rufen Sie vor dem Ändern von Werten CalculateRabatt einmalig auf. Danach ist der Automatismus außer Kraft gesetzt.

Beispiel: Vorgangsberechnung mit CalculateRabatt, CalculatePreis, CalculateWaehrung und CalculateSteuer (Delphi)
Program delphi;
var
  BpApp: Variant;
  SpO: Variant;
  BGrp: Variant;
  BpTbl: Variant;
  i: Integer;
begin
  BpApp := CreateOleObject('BpNT.Application');
  BpApp.Init('Mandantenname', '', 'Anmeldename', 'Passwort');
  BpApp.SelectMand('Ihr Mandant');

  SpO := BpApp.GetSpecialObject({soVorgang}1);
  SpO.Append(70,'10000');
  Spo.CalculateRabatt;
  // die CalculateRabatt Funktion beim Speichern ausschalten.
  // Je nachdem wie Sie vorgehen kann aber dieser Aufruf auch zuletzt erfolgen

  SpO.Positionen.Add(2,'','1');
  SpO.Positionen.Add(2,'','2');

  // --- Preise ---
  SpO.Positionen.DataSet.Edit;
  BGrp := SpO.Positionen.DataSet.Fields('Epr').GetEditObject(2);
  BGrp.GesNetto := 9;
  BGrp.Save;
  SpO.Positionen.DataSet.Post;

  SpO.Positionen.Add(2,'','3');
  SpO.Positionen.DataSet.Edit;
  BGrp := SpO.Positionen.DataSet.Fields('Epr').GetEditObject(2);
  BGrp.GesNetto := 5;
  BGrp.Save;
  SpO.Positionen.DataSet.Post;

  Spo.CalculatePreis;
  // Spo.CalculateRabatt; // je nach dem wie die Berechnung erfolgen soll
  // --- Preise ---

  // --- Währung ---
  SpO.DataSet.Fields('Waehr').Text := 'USD';
  SpO.CalculateWaehrung;
  // --- Währung ---

  // --- Steuer ---
  Spo.DataSet.Fields('UStKat').AsInteger := 2; // z.B. Eu Ausland
  Spo.DataSet.Fields('UStKatMKz').AsBoolean := True;
  SpO.CalculateSteuer;
  // --- Steuer ---

  SpO.Post;
  BGrp := nil;
  SpO := nil;
  BpTbl := nil;
  BpApp := nil;
end;

IAutoVorgang4 Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoVorgang4.

Methoden

Name Beschreibung
Alle Methoden aus IAutoVorgang3
CalculatePreis CalculatePreis
CalculateRabatt CalculateRabatt
CalculateSteuer CalculateSteuer
CalculateWaehrung CalculateWaehrung

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSet Datentabelle des aktuellen Vorgangs.
Parent Gibt das Parent Interface zurück.
Positionen Positionsobjekt für AutoVorgang.

IAutoVorgang4::CalculateRabatt Methode

CalculateRabatt

IDL

[id(0x000001F5)]
HRESULT _stdcall CalculateRabatt();

Beschreibung

Die Funktion von CalculateRabatt beinhaltet die von CalculatePreis, wobei hier die Mindestverkaufspreise und Rabatte aus der microtech Software verwendet werden. Sozusagen werden hier die maximal möglichen Abweichungen berechnet und dann weiter verwendet.

IAutoVorgang4::CalculateSteuer Methode

CalculateSteuer

IDL

[id(0x000001F6)]
HRESULT _stdcall CalculateSteuer();

Beschreibung

Die Funktion von CalculateSteuer ist für Vorgänge sinnvoll, die nicht in dasselbe Land versendet werden wie für den Vorgang ursprünglich vorgesehen. Das kann vorkommen wenn z.B. eine abweichende Zieladresse nicht innerhalb der EU liegt.

IAutoVorgang4::CalculateWaehrung Methode

CalculateWaehrung

IDL

[id(0x000001F7)]
HRESULT _stdcall CalculateWaehrung();

Beschreibung

Die Funktion CalculateWaehrung kann zum Umrechnen von Vorgängen in eine bestimmte Währung verwendet werden. Es werden die im Programm hinterlegten Wechselkurse verwendet.

IAutoVorgang4::CalculatePreis Methode

CalculatePreis

IDL

[id(0x000001F8)]
HRESULT _stdcall CalculatePreis();

Beschreibung

Die Funktion von CalculatePreis ist, die Beträge eines aktuellen Vorganges aus den aktuell vorhandenen Werten neu zu errechnen. Es werden keine neuen Vorgabewerte ermittelt.


3.1.76 IAutoVorgang5 Interface

Von IAutoVorgang4 abstammendes Interface.

IDL

[ uuid(011E4594-49E0-443C-962F-352323404AE9), version(1.0), dual, oleautomation ]
interface IAutoVorgang5 : IAutoVorgang4;

Beschreibung

Ab Build: 3010.

IAutoVorgang5 Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoVorgang5.

Methoden

Name Beschreibung
Alle Methoden aus IAutoVorgang4
CalculateFracht CalculateFracht

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSet Datentabelle des aktuellen Vorgangs.
Parent Gibt das Parent Interface zurück.
Positionen Positionsobjekt für AutoVorgang.

IAutoVorgang5::CalculateFracht Methode

CalculateFracht

IDL

[id(0x00000259)]
HRESULT _stdcall CalculateFracht();

Beschreibung

Beim Aufruf von CalculateFracht werden die Versandarten nochmals mit den jetzt aktuellen Werten des Vorganges ermittelt. Sollte sich z.B. die Postleitzahl oder sogar das Land des Empfängers geändert haben, kann so erneut die Fracht ermittelt werden. Diese Funktion ist mit der Funktionalität der Vorgangeingabemaske identisch.


3.1.77 IAutoVorgang6 Interface

Von IAutoVorgang5 abstammendes Interface.

IDL

[ uuid(735706D4-4DC9-45B7-8F09-E63AE9E43F7C), version(1.0), dual, oleautomation ]
interface IAutoVorgang6 : IAutoVorgang5;

Beschreibung

Ab Build: 5000.

IAutoVorgang6 Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoVorgang6.

Methoden

Name Beschreibung
Alle Methoden aus IAutoVorgang5
BucheLagerplatzbewegungsvorschlag Erstellt Lagerplatzbewegungsvorschläge.

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSet Datentabelle des aktuellen Vorgangs.
Parent Gibt das Parent Interface zurück.
Positionen Positionsobjekt für AutoVorgang.

IAutoVorgang6::BucheLagerplatzbewegungsvorschlag Methode

Erstellt Lagerplatzbewegungsvorschläge.

IDL

[id(0x000002BD)]
HRESULT _stdcall BucheLagerplatzbewegungsvorschlag([in] VARIANT_BOOL Erzeugen,
  [out, retval] VARIANT_BOOL* Result);

Beschreibung

Um diese Funktion zu verwenden, benötigt die microtech Software die chaotische Lagerplatzverwaltung. Diese Funktion erstellt mit den hinterlegten Parametern einen Lagerplatzbewegungsvorschlag. Hierbei ist zu beachten, dass keine allzu große Menge an Vorbelegungen erstellt werden.

Der Vorschlag beachtet alle aktuellen Lagerbewegungen ab der Stufe "Freigegeben". Der Vorschlag selbst erstellt Lagerbewegungen der Stufe "Vorschlag". Diese Stufe ist intern mit der Stufe "Freigegeben" gleich gestellt. Lagerbewegungen der Stufe Vorschlag können vom Anwender nicht editiert werden. Die Vorschläge dienen nur als Platzhalter.

Angedachte Verfahrensweise:

  1. Anwender nimmt die Kundenbestellungen auf
  2. Lieferbare Kundenbestellungen werden gewandelt zu einem Lieferschein
  3. COM-Programm erstellt die Lagerplatzbewegungs-Vorschläge und setzt den Beleg auf "In externer Bearbeitung"
  4. Beleg wird mit den Stellplatzvorschlag gedruckt und Lagerist holt die Ware
  5. Nach dem zusammenführen der Ware am Packtisch wird das Kz "In externer Bearbeitung" zurückgesetzt. Abweichende Daten wie Seriennummern, Chargen, und ggf. Stellplätze können nun im Beleg nachgepflegt werden
  6. Der Beleg wird dann in eine Rechnung gewandelt, gebucht und ausgegeben

Anmerkungen

Bei Vorgängen mit mehreren Positionen kann kein Vorschlag erstellt werden, wenn nicht für alle Positionen ausreichend Bestand existiert. Vorschläge für eine Teillieferung sind somit nicht möglich.

Parameter

Parameter Beschreibung
[in] VARIANT_BOOL Erzeugen "True", wenn für den aktuellen Vorgang ein Vorschlag erstellt werden soll. "False", wenn ein Vorschlag zurückgenommen werden soll
[out, retval] VARIANT_BOOL* Result "True", wenn der Vorschlag erstellt werden konnte. "False", wenn ein Problem aufgetreten ist.

3.1.78 IAutoVorgang7 Interface

Von IAutoVorgang6 abstammendes Interface.

IDL

[ uuid(99F15304-480C-4407-ACCB-8F2D84BBF04F), version(1.0), dual, oleautomation ]
interface IAutoVorgang7 : IAutoVorgang6;

Beschreibung

Ab Build: 5052.

IAutoVorgang7 Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoVorgang7.

Methoden

Name Beschreibung
Alle Methoden aus IAutoVorgang6

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSet Datentabelle des aktuellen Vorgangs.
DoCalculateOnPost DoCalculateOnPost
Parent Gibt das Parent Interface zurück.
Positionen Positionsobjekt für AutoVorgang.

IAutoVorgang7::DoCalculateOnPost Eigenschaft

DoCalculateOnPost

IDL

__property VARIANT_BOOL DoCalculateOnPost;

Beschreibung

Das Property DoCalculateOnPost kann genutzt werden, um im Vorgangsobjekt die automatische Korrektur von Rabatt und Preis zu unterbinden. Das ist z. B. dann sinnvoll, wenn Sie nur die Stückliste auf oder einrollen möchten, ohne eine Nachberechnung der Werte anzustoßen.

Anmerkungen

Der Wert muss nach jedem "Edit" oder "Append" erneut gesetzt werden.


3.1.79 IAutoVorgang8 Interface

Von IAutoVorgang7 abstammendes Interface.

IDL

[ uuid(C8B909CB-EA86-4FDB-9A0A-5ED16371FD0C), version(1.0), dual, oleautomation ]
interface IAutoVorgang8 : IAutoVorgang7;

Beschreibung

Ab Build: 5630.

IAutoVorgang8 Eigenschaften

Die folgende Tabelle zeigt die Eigenschaften von IAutoVorgang8.

Methoden

Name Beschreibung
Alle Methoden aus IAutoVorgang7
CopyFromArchiv CopyFromArchiv

Eigenschaften

Name Beschreibung
Application Zugriff auf das Basisobjekt, von dem alle Interfaces abstammen.
DataSet Datentabelle des aktuellen Vorgangs.
DoCalculateOnPost DoCalculateOnPost
Parent Gibt das Parent Interface zurück.
Positionen Positionsobjekt für AutoVorgang.

IAutoVorgang8::CopyFromArchiv Methode

CopyFromArchiv

IDL

[id(0x000003EC)]
HRESULT _stdcall CopyFromArchiv([in] BSTR BelegNr, [in] long NewVogArt,
  [out, retval] BSTR* Result);

Beschreibung

Diese Funktion sucht den Beleg mit der gegebenen Belegnummer im Vorgangsarchiv. Falls dieser gefunden wird, wird dieser mit der neuen Belegnummer in die Vorgangsübersicht kopiert

Parameter

Parameter Beschreibung
[in] BSTR BelegNr Belegnummer des zu suchenden Vorgangs im Archiv
[in] long NewVogArt Die Vorgangsart des neu anzulegenden Vorgangs
[out, retval] BSTR* Result True, wenn erfolgreich. False, wenn nicht