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 VorgangEdit(const BelegNr: WideString)– Bearbeitet einen bestehenden VorgangPost– Schreibt den bearbeiteten Vorgang festCancel– 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:
- Anwender nimmt die Kundenbestellungen auf
- Lieferbare Kundenbestellungen werden gewandelt zu einem Lieferschein
- COM-Programm erstellt die Lagerplatzbewegungs-Vorschläge und setzt den Beleg auf "In externer Bearbeitung"
- Beleg wird mit den Stellplatzvorschlag gedruckt und Lagerist holt die Ware
- 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
- 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 |