OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge: Unterschied zwischen den Versionen
Hubert (Diskussion | Beiträge) |
Nimz (Diskussion | Beiträge) |
||
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 141: | Zeile 141: | ||
cGruppe : String; // | cGruppe : String; // | ||
cPosFormat : String; // Format der Positionsnummerierung | cPosFormat : String; // Format der Positionsnummerierung | ||
nPosInc : Integer; // Positionsnummerierung Nummerierungsintervall. Default 1 | |||
cFiliale : String; // | cFiliale : String; // | ||
cRabText : String; | cRabText : String; | ||
Zeile 241: | Zeile 242: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | ===IstBestellung=== | ||
Definition: | |||
<syntaxhighlight lang="Delphi"> | |||
function IstBestellung(): boolean; | |||
</syntaxhighlight> | |||
Erklärung:<br /> | |||
Überprüft ob '''cMainTable''' auf den Wert '''bestell''' gesetzt ist | |||
<br /> | |||
<br /> | |||
Beispiel: | |||
<syntaxhighlight lang="Delphi"> | |||
begin | |||
Result := (Lower(Self.cMainTable) = 'bestell'); | |||
end; | |||
</syntaxhighlight> | |||
===IstEKLieferschein=== | |||
Definition: | |||
<syntaxhighlight lang="Delphi"> | |||
function IstEKLieferschein(): boolean; | |||
</syntaxhighlight> | |||
Erklärung:<br /> | |||
Überprüft ob '''cMainTable''' auf den Wert '''einklief''' gesetzt ist | |||
<br /> | |||
<br /> | |||
Beispiel: | |||
<syntaxhighlight lang="Delphi"> | |||
begin | |||
Result := (Lower(Self.cMainTable) = 'einklief'); | |||
end; | |||
</syntaxhighlight> | |||
===IstEinkauf=== | |||
Definition: | |||
<syntaxhighlight lang="Delphi"> | |||
function IstEinkauf(): boolean; | |||
</syntaxhighlight> | |||
Erklärung:<br /> | |||
Überprüft ob '''cMainTable''' auf den Wert '''einkauf''' gesetzt ist | |||
<br /> | |||
<br /> | |||
Beispiel: | |||
<syntaxhighlight lang="Delphi"> | |||
begin | |||
Result := (Lower(Self.cMainTable) = 'einkauf'); | |||
end; | |||
</syntaxhighlight> | |||
===IstVG_VK=== | |||
Definition: | Definition: | ||
<syntaxhighlight lang="Delphi"> | <syntaxhighlight lang="Delphi"> | ||
function | function IstVG_VK(): boolean; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Erklärung:<br /> | Erklärung:<br /> | ||
Prüfung, ob es sich bei dem Vorgang um einen Verkaufsvorgang handelt. Nutzt die "Ist"-Methoden. | |||
<br /> | <br /> | ||
<br /> | <br /> | ||
Zeile 252: | Zeile 302: | ||
<syntaxhighlight lang="Delphi"> | <syntaxhighlight lang="Delphi"> | ||
begin | begin | ||
Result := | Result := self.IstAngebot() or | ||
self.IstAuftrag() or | |||
self.IstReparaturAuftrag() or | |||
self.IstLieferschein() or | |||
self.IstRechnung(); | |||
end; | |||
</syntaxhighlight> | |||
===IstVG_EK=== | |||
Definition: | |||
<syntaxhighlight lang="Delphi"> | |||
function IstVG_EK(): boolean; | |||
</syntaxhighlight> | |||
Erklärung:<br /> | |||
Prüfung, ob es sich bei dem Vorgang um einen Einkaufsvorgang handelt. Nutzt die "Ist"-Methoden. | |||
<br /> | |||
<br /> | |||
Beispiel: | |||
<syntaxhighlight lang="Delphi"> | |||
begin | |||
Result := self.IstBestellung() or | |||
self.IstEKLieferschein() or | |||
self.IstEinkauf(); | |||
end; | end; | ||
</syntaxhighlight> | |||
===NeuNumLock=== | |||
Definition: | |||
<syntaxhighlight lang="Delphi"> | |||
function NeuNumLock(): boolean; | |||
</syntaxhighlight> | |||
Erklärung:<br /> | |||
Blockiert die Generierung einer neuen Vorgangsnummer für den jeweiligen Vorgangstyp, bis [[#NeuNumLockRelease|''NeuNumLockRelease'']] ausgeführt wird.{{Achtung|Blockiert auch die Generierung einer neuen Vorgangsnummer für die manuelle Anlage und andere Makros/Generierungen!}}<br /> | |||
<br /> | |||
Beispiel: | |||
<syntaxhighlight lang="Delphi"> | |||
oVG.NeuNumLock(); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 275: | Zeile 347: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Erklärung:<br /> | Erklärung:<br /> | ||
<br /> | Gibt die Generierung von Vorgangsnummern für den jeweiligen Vorgangstyp wieder frei. Sollte erst ausgeführt werden, wenn der Vorgang mit der generierten Nummer gespeichert wurde. {{Hinweis|In der Regel werden Sie diese Funktionen nicht im Makro nutzen müssten, da die Funktionen beim Speichern des Vorgangs ebenfalls ausgeführt wird.}}<br /> | ||
<br /> | <br /> | ||
Beispiel: | Beispiel: | ||
<syntaxhighlight lang="Delphi"> | <syntaxhighlight lang="Delphi"> | ||
oVG.NeuNumLockRelease(); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 287: | Zeile 360: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Erklärung:<br /> | Erklärung:<br /> | ||
<br /> | Startet die Generierung einer neuen Vorgangsnummer. Die generierte Nummer wird automatisch in cVorgNr geschrieben. Gibt die erstellte Nummer zurück. Wird beim Speichern ausgeführt, wenn noch keine Vorgangsnummer gesetzt ist.{{Achtung|Führt [[#NeuNumLock|''NeuNumLock'']] aus.}}<br /> | ||
Parameter: | |||
{| class="wikitable" style="max-width: 720px;" | |||
|- | |||
! Name!! Beschreibung | |||
|- valign="top" | |||
| cFilter|| Filter/Vorgabe für Nummernkreis | |||
|- valign="top" | |||
| lAbweichend|| Abweichende Jahresnummer. Funktioniert nur bei Rechnung und Einkauf. | |||
|} | |||
<br /> | <br /> | ||
Beispiel: | Beispiel: | ||
<syntaxhighlight lang="Delphi"> | <syntaxhighlight lang="Delphi"> | ||
cNeueNr := oVG.VorgNeuNum(); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 299: | Zeile 382: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Erklärung:<br /> | Erklärung:<br /> | ||
<br /> | Führt [[#VorgNeuNum|''VorgNeuNum'']] aus und prüft anschließend, ob cVorgNr leer ist (False) oder nicht (True).<br /> | ||
Parameter: | |||
{| class="wikitable" style="max-width: 720px;" | |||
|- | |||
! Name!! Beschreibung | |||
|- valign="top" | |||
| cFilter|| Filter/Vorgabe für Nummernkreis | |||
|- valign="top" | |||
| lAbweichend|| Abweichende Jahresnummer. Funktioniert nur bei Rechnung und Einkauf. | |||
|} | |||
<br /> | <br /> | ||
Beispiel: | Beispiel: | ||
<syntaxhighlight lang="Delphi"> | <syntaxhighlight lang="Delphi"> | ||
if (oVG.VorgNeuNumBool()) then begin | |||
Meldung('Neue Vorgangsnummer ist '+oVG.cVorgNr); | |||
end; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 311: | Zeile 406: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Erklärung:<br /> | Erklärung:<br /> | ||
<br /> | Prüft, ob die aktuell in cVorgNr eingetragene Nummer verwendet werden kann (True) oder bereits vergeben ist (False).<br /> | ||
<br /> | <br /> | ||
Beispiel: | Beispiel: | ||
<syntaxhighlight lang="Delphi"> | <syntaxhighlight lang="Delphi"> | ||
if (oVG.IstVorgNrGueltig(oVG.cSysUid)) then begin | |||
Meldung('Nummer '+oVG.cVorgNr+' ist noch frei und kann verwendet werden'); | |||
end; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 371: | Zeile 469: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Erklärung:<br /> | Erklärung:<br /> | ||
Prüft alle Positionen, ob mindestens eine Position mit einer Menge ungleich 0 vorhanden ist (True, sonst False). <br /> | |||
<br /> | <br /> | ||
Beispiel: | |||
<syntaxhighlight lang="Delphi"> | |||
if (oVG.CheckIfNotNull() and oVG.CheckIfFirstPosOption()) then begin | |||
oVG.SaveRecord(oVG.cSysUid); | |||
end; | |||
</syntaxhighlight> | |||
===CheckIfFirstPosOption=== | |||
Definition: | |||
<syntaxhighlight lang="Delphi"> | |||
function CheckIfFirstPosOption(): Boolean; | |||
</syntaxhighlight> | |||
Erklärung:<br /> | |||
Prüft die erste Position, ob es sich dabei um eine Optionspoition handelt. Rückgabe ist ''True'', wenn die Position keine Optionsposition ist.<br /> | |||
<br /> | <br /> | ||
Beispiel: | Beispiel: | ||
<syntaxhighlight lang="Delphi"> | <syntaxhighlight lang="Delphi"> | ||
if (oVG.CheckIfNotNull() and oVG.CheckIfFirstPosOption()) then begin | |||
oVG.SaveRecord(oVG.cSysUid); | |||
end; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 383: | Zeile 499: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Erklärung:<br /> | Erklärung:<br /> | ||
<br /> | Prüft die angegebene Positionsart, ob es sich dabei um eine Art handelt, die in Rechnungen einfließen und somit "berechnet" werden. Nicht berechnet werden ''Alternativ'', ''Optional'', ''Eventual'', ''Verbrauchsmaterial'' und ''ohne Berechnung''.<br /> | ||
<br /> | <br /> | ||
Beispiel: | Beispiel: |
Aktuelle Version vom 25. Juni 2024, 13:34 Uhr
Es gibt für die Generierung von Vorgängen eigene Klassen. Da es zwischen den Vorgängen immer irgendwelche Unterschiede gibt, existiert auch für jeden Vorgangs-Typ eine eigene Klasse.
Übersicht Klassen:
- Angebot
- Auftrag
- Reparaturauftrag
- Produktionsauftrag
- Lieferschein
- Rechnung
- Bestellung
- Einkaufslieferschein
- Einkauf
Basis TVorgang
Variablen
oMyDB : TxDB;
cMainTable : string;
cPosTable : string;
oProtokoll : TStringList;
lMeldung : Boolean; //Meldungen Anzeigen
lSetPSBemAuto : Boolean;
cVorgNr : String; // Vorgangsnummer
cProjNr : String; // Projektnummer
lBrutto : Boolean; // Brutto positionen
cLanguage : String; // Sprache
cTyp : String; // Auftragstyp
cStatus : String; // Auftrags-Status (0-22)
cStatM : String; // 1-stellig
cStatS : String; // 1-stellig
cStatL : String; // 2-stellig
cStatR : String; // 2-stellig
dVorgDat : TDateTime; // Vorgangsdatum
dFaelligDat : TDateTime; // Fälligkeitsdatum
dBuchDat : TDateTime; // Buchungsdatum
dAufDat : TDateTime; // Auftragsdatum
cKdNr : String; // Kundennummer
cAnrede : String; // Kunde Anrede
cName : String; // Kunde Nachname
cVorname : String; // Kunde Vorname
cZusatz1 : String; // Kunde Zusatz1
cZusatz2 : String; // Kunde Zusatz2
cStrasse : String; // Kunde Straße
cPostfach : String; // Kunde Postfach
cLK : String; // Kunde Land
cPLZ : String; // Kunde PLZ
cOrt : String; // Kunde Ort
cAngebNr : String; // Auftragsnummer
cLSNr : String; // Lieferscheinnummer
cRechNr : String; //
cAuftNr : String; // Auftragsnummer
cRepaNr : String; // Reparaturauftragsnummer
cEinkaufsNr : String; // Einkaufsnummer
cBestellNr : String; // Bestellnummer
cPosText : String; // Positionstext
cLProjNr : String; // Lieferantenprojektnr
cKopfNr : String; // Kopftext-Nummer (00-999)
cKopftext : String; // Freier Kopftext
cFusstext : String; // Freier Fusstext
cFussNr : String; // Fusstext-Nummer (00-999)
nNBetrag : Double; // Nettobetrag der Auftrag
nBBetrag : Double; // Bruttobetrag der Auftrag
nEKBetrag : Double; // Einkaufsbetrag der Auftrag
nRabattBetrag : Double; // Rabatt Betrag
nRabattProz : Double; // Rabatt Prozentual
nPorto : Double; // Portobetrag
nVerpackung : Double; // Verpackungskosten
cVersand : String; // Versand über (0-99)
cZahlBed : String; // Zahlungsbedingung (0-99)
cWaehr : String; // Währung (0-99)
cFormul : String; //
cVAnr : String; // Kostenstelle
cVKdNr : String; // Versand Kundennummer
cVName1 : String; // Versand Name
cVName2 : String; // Versand Name
cVZusatz : String; // Versand Zusatz
cVStrasse : String; // Versand Straße
cVLK : String; // Versand Land
cVPLZ : String; // Versand PLZ
cVOrt : String; // Versand Ort
cVUID : String; // Versand UID
cAuftNrKd : String; // Auftragsnummer des Kunden
cBesteller : String; //
cSachb : String; // Sachbearbeiter (0-99)
cRabPosJN : String; // J oder N
cMWSTJN : String; // J oder N
cSText1 : String; //
cSText2 : String; //
cSText3 : String; //
cSText4 : String; //
cSText5 : String; //
cSText6 : String; //
cSText7 : String; //
cPreisJN : String; // J oder N
nNet1 : Double; //
nNet2 : Double; //
nNet3 : Double; //
nBrutto1 : Double; //
nBrutto2 : Double; //
nBrutto3 : Double; //
nMwSt1 : Double; //
nMwSt2 : Double; //
nMwSt3 : Double; //
cMwStSchl1 : String; //
cMwStSchl2 : String; //
cMwStSchl3 : String; //
cMwStAbs : String; //
dLiefDat : TDateTime; // Lieferdatum
cDeleted : String; //
dLDat2 : TDateTime; // Lieferdatum
cSprache : String; //
cReEmpf : String; // Kundennummer des Rg-Empfängers
cVertreter : String; // Vertreter (000-9999)
cVerbucht : String; //
cLager : String; //
//cRgArt : String; //
cBonusJN : String; // J oder N
cWLiefNr : String; //
cRechFrei : String; //
cBonNr : String; //
cMandant : String; // Mandant (001-999)
nMwStDM : Double; //
nKursDM : Double; //
nAbschlag : Double; //
nZBetrag : Double; //
nZSkonto : Double; //
dZDatum : TDateTime; //
cMemo : String; // Memofeld
nValuta : Integer; // Valuta in Tagen (max. 4 Stellen)
cKostenst : String; // Kostenstelle
cKostentraeger : String; // Kostenträger
cKalkGr : String; //
cKalkRet : String; //
nOFBetrag : Double; //
cWKNr : String; //
cFrachtV : String; //
nFrachtK : Double; //
nFrachtG : Integer; //
cGruppe : String; //
cPosFormat : String; // Format der Positionsnummerierung
nPosInc : Integer; // Positionsnummerierung Nummerierungsintervall. Default 1
cFiliale : String; //
cRabText : String;
cErfasser : String;
nSKFBetrag : Double;
nMBWert : Double;
cLiefStrecke : String;
cMindbest : String;
cBetreff : String; //Betreff
cGeraet : String;
cVersandkostenMBW : String;
cKeineVersPausch : String;
cMemoDruck : String; //Positionslangtext drucken? Ja, Nein oder Voreinstellung
cLieferLiefNr : String; //Lieferscheinnummer des Lieferanten
cRabattText : String; // Rabatttext (Rabatt, Lagerrabatt, Auftragsrabatt, Objektrabatt)
cArt : String;
cSysUid : String;
cDMS_TYP : String;
Methoden
IstAngebot
Definition:
function IstAngebot(): boolean;
Erklärung:
Überprüft ob cMainTable auf den Wert angebot gesetzt ist
Beispiel:
begin
Result := (Lower(Self.cMainTable) = 'angebot');
end;
IstAuftrag
Definition:
function IstAuftrag(): boolean;
Erklärung:
Überprüft ob cMainTable auf den Wert auftrag gesetzt ist
Beispiel:
begin
Result := (Lower(Self.cMainTable) = 'auftrag');
end;
IstReparaturAuftrag
Definition:
function IstReparaturAuftrag(): boolean;
Erklärung:
Überprüft ob cMainTable auf den Wert raufsta gesetzt ist
Beispiel:
begin
Result := (Lower(Self.cMainTable) = 'raufsta');
end;
IstLieferschein
Definition:
function IstLieferschein(): boolean;
Erklärung:
Überprüft ob cMainTable auf den Wert liefsta gesetzt ist
Beispiel:
begin
Result := (Lower(Self.cMainTable) = 'liefsta');
end;
IstRechnung
Definition:
function IstRechnung(): boolean;
Erklärung:
Überprüft ob cMainTable auf den Wert rechsta gesetzt ist
Beispiel:
begin
Result := (Lower(Self.cMainTable) = 'rechsta');
end;
IstBestellung
Definition:
function IstBestellung(): boolean;
Erklärung:
Überprüft ob cMainTable auf den Wert bestell gesetzt ist
Beispiel:
begin
Result := (Lower(Self.cMainTable) = 'bestell');
end;
IstEKLieferschein
Definition:
function IstEKLieferschein(): boolean;
Erklärung:
Überprüft ob cMainTable auf den Wert einklief gesetzt ist
Beispiel:
begin
Result := (Lower(Self.cMainTable) = 'einklief');
end;
IstEinkauf
Definition:
function IstEinkauf(): boolean;
Erklärung:
Überprüft ob cMainTable auf den Wert einkauf gesetzt ist
Beispiel:
begin
Result := (Lower(Self.cMainTable) = 'einkauf');
end;
IstVG_VK
Definition:
function IstVG_VK(): boolean;
Erklärung:
Prüfung, ob es sich bei dem Vorgang um einen Verkaufsvorgang handelt. Nutzt die "Ist"-Methoden.
Beispiel:
begin
Result := self.IstAngebot() or
self.IstAuftrag() or
self.IstReparaturAuftrag() or
self.IstLieferschein() or
self.IstRechnung();
end;
IstVG_EK
Definition:
function IstVG_EK(): boolean;
Erklärung:
Prüfung, ob es sich bei dem Vorgang um einen Einkaufsvorgang handelt. Nutzt die "Ist"-Methoden.
Beispiel:
begin
Result := self.IstBestellung() or
self.IstEKLieferschein() or
self.IstEinkauf();
end;
NeuNumLock
Definition:
function NeuNumLock(): boolean;
Erklärung:
Blockiert die Generierung einer neuen Vorgangsnummer für den jeweiligen Vorgangstyp, bis NeuNumLockRelease ausgeführt wird.
Beispiel:
oVG.NeuNumLock();
NeuNumLockRelease
Definition:
procedure NeuNumLockRelease();
Erklärung:
Gibt die Generierung von Vorgangsnummern für den jeweiligen Vorgangstyp wieder frei. Sollte erst ausgeführt werden, wenn der Vorgang mit der generierten Nummer gespeichert wurde.
Beispiel:
oVG.NeuNumLockRelease();
VorgNeuNum
Definition:
function VorgNeuNum(cFilter: string=''; lAbweichend: boolean = false): string;
Erklärung:
Startet die Generierung einer neuen Vorgangsnummer. Die generierte Nummer wird automatisch in cVorgNr geschrieben. Gibt die erstellte Nummer zurück. Wird beim Speichern ausgeführt, wenn noch keine Vorgangsnummer gesetzt ist.
Parameter:
Name | Beschreibung |
---|---|
cFilter | Filter/Vorgabe für Nummernkreis |
lAbweichend | Abweichende Jahresnummer. Funktioniert nur bei Rechnung und Einkauf. |
Beispiel:
cNeueNr := oVG.VorgNeuNum();
VorgNeuNumBool
Definition:
function VorgNeuNumBool(cFilter: string=''; lAbweichend: boolean = false): boolean;
Erklärung:
Führt VorgNeuNum aus und prüft anschließend, ob cVorgNr leer ist (False) oder nicht (True).
Parameter:
Name | Beschreibung |
---|---|
cFilter | Filter/Vorgabe für Nummernkreis |
lAbweichend | Abweichende Jahresnummer. Funktioniert nur bei Rechnung und Einkauf. |
Beispiel:
if (oVG.VorgNeuNumBool()) then begin
Meldung('Neue Vorgangsnummer ist '+oVG.cVorgNr);
end;
IstVorgNrGueltig
Definition:
function IstVorgNrGueltig(cUID: string=''): boolean;
Erklärung:
Prüft, ob die aktuell in cVorgNr eingetragene Nummer verwendet werden kann (True) oder bereits vergeben ist (False).
Beispiel:
if (oVG.IstVorgNrGueltig(oVG.cSysUid)) then begin
Meldung('Nummer '+oVG.cVorgNr+' ist noch frei und kann verwendet werden');
end;
NeuePositionBase
Definition:
function NeuePositionBase(): TVorgangPos;
Erklärung:
Beispiel:
NeuePositionBaseMS
Definition:
procedure NeuePositionBaseMS(oOrgPos: TVorgangPos);
Erklärung:
Beispiel:
LoeschePositionBase
Definition:
procedure LoeschePositionBase(nDel: integer);
Erklärung:
Beispiel:
VerschiebePositionBase
Definition:
procedure VerschiebePositionBase(nPos: integer; nZiel: integer);
Erklärung:
Beispiel:
CheckIfNotNull
Definition:
function CheckIfNotNull(): Boolean;
Erklärung:
Prüft alle Positionen, ob mindestens eine Position mit einer Menge ungleich 0 vorhanden ist (True, sonst False).
Beispiel:
if (oVG.CheckIfNotNull() and oVG.CheckIfFirstPosOption()) then begin
oVG.SaveRecord(oVG.cSysUid);
end;
CheckIfFirstPosOption
Definition:
function CheckIfFirstPosOption(): Boolean;
Erklärung:
Prüft die erste Position, ob es sich dabei um eine Optionspoition handelt. Rückgabe ist True, wenn die Position keine Optionsposition ist.
Beispiel:
if (oVG.CheckIfNotNull() and oVG.CheckIfFirstPosOption()) then begin
oVG.SaveRecord(oVG.cSysUid);
end;
IsPosBerechnung
Definition:
function IsPosBerechnung(cPosArt: string): boolean;
Erklärung:
Prüft die angegebene Positionsart, ob es sich dabei um eine Art handelt, die in Rechnungen einfließen und somit "berechnet" werden. Nicht berechnet werden Alternativ, Optional, Eventual, Verbrauchsmaterial und ohne Berechnung.
Beispiel:
CopyFrom
Definition:
procedure CopyFrom(oSrc: TVorgang);
Erklärung:
Beispiel:
KalkAll
Definition:
procedure KalkAll();
Erklärung:
Beispiel:
Check_Multisteuer
Definition:
procedure Check_Multisteuer(oOrgPos: TVorgangPos; const cTable: string; const cMUID: string; const cRefNr: string);
Erklärung:
Beispiel:
CopyPosmenge
Definition:
function CopyPosmenge(cFromUID : string): string;
Erklärung:
Beispiel:
CopyPosverp
Definition:
function CopyPosverp(cFromUID : string): string;
Erklärung:
Beispiel:
FillPersonBase
Definition:
procedure FillPersonBase(qPers: TxFQuery);
Erklärung:
Beispiel:
SaveRecord
Definition:
function SaveRecord(cUID : String = ''; lAlleSpeichern : Boolean = true): Boolean; virtual; abstract;
Erklärung:
Beispiel:
ReadVorgangBase
Definition:
function ReadVorgangBase(qQuery: TxFQuery; lPos: boolean=false): boolean; overload;
function ReadVorgangBase(const cNr: string; lPos: boolean=false): boolean; overload;
Erklärung:
Beispiel:
JahrNr
Definition:
function JahrNr(): string;
Erklärung:
Beispiel:
Properties
property PnPosCnt : integer read nPosCnt write nPosCnt;
property PaPositionen[Index: integer] : TVorgangPos read GetPosition write SetPosition; // Vorgangspositionen
property PcRabGrPers : string read cRabGrPers;
Basis TVorgangPos
Variablen
oMyDB : TxDB;
nPosIndex : Integer; //Index des Positionsarrays aus TVorgang
cNr : String; //Vorgangsnummer
cKundNr : String; //Kundennummer
cAuftragsNr : String; //Auftragsnummer
cBestellNr : String; //Bestellnummer
cPosText : String; //Positionstext
cLProjNr : String; //Liefernatenprojektnr
cLieferNr : String; //Versandnummer
cVersandNr : String; //Versandnummer
cPosNr : String; //Positionsnummer
cPosNr2 : String; //Positionsnummer Erweiterung
cPosKas : String; //Positionsnummer
cTyp : String; //Typ
cArtikelNr : String; //Artikel-Nummer
cLeistungsNr : String; //Leistungs-Nummer
cBezeichnung1 : String; //Bezeichnung 1
cBezeichnung2 : String; //Bezeichnung 2
nMenge : Double; //Menge
nUrMenge : Double; //nicht fakturierte Menge (MDS -> Leistungs-Einheitsfaktor)
nLeistFaktor : Double; //Leistungs Mengen Faktor (MDS -> Leistungs-Einheitsfaktor)
cEinheit : String; //Einheit
nMengeG : Integer; //MengeG
nKolli : Integer; //Kolli
cVerpackung : String; //Verpackung
nInhalt : Double; //Inhalt
nEPreis : Double; //Einzelpreis VK in Netto
nBEPreis : Double; //Einzelpreis VK in Brutto
nOBPreis : Double; //Open Book Preis
nUrPreis : Double; //UrPreis
nUrPreisEK : Double; //UrPreisEK
nGPreis : Double; //Gesamt Preis VK Netto
nBGPreis : Double; //Gesamt Preis VK Brutto
nEKPreis : Double; //EKPreis
nEKSPreis : Double; //EKPreis
cManPreis : String; //Manueller Preis Varianten
nRabatt : Double; //Rabatt
nRabatt1 : Double; //Rabatt
cRabArt1 : String; //RabattArt
nRabatt2 : Double; //Rabatt
cRabArt2 : String; //RabattArt
nRabatt3 : Double; //Rabatt
cRabArt3 : String; //RabattArt
nRabatt4 : Double; //Rabatt
cRabArt4 : String; //RabattArt
nRabatt5 : Double; //Rabatt
cRabArt5 : String; //RabattArt
nAddSub : Double; //AddSub
cKonto : String; //Konto
cLagNr : String; //LagerNr
cLagONr : String; //Lagerort
cVerkaufer : String; //Sachbearbeiter
cStatus : String; //Positionskennzeichen
cAngebotsNr : String; //AuftragsNr
cUID : String; //UID
cMUID : String; //Multi-Steuer UID
cSpNr : String; //SpNr
cBestellUID : String; //BestellUID
cMaterialUID : String; //MaterialUID
cEiliUID : String; //EiliUID
cXUID1 : String; //XUID1
cXUID2 : String; //XUID2
cXUID3 : String; //XUID3
cXUID4 : String; //XUID4
cKommentar : String; //Kommentar
nProvision : Double; //Provision
cLiefKz : String; //LiefKz
cProdGr : String; //ProdGr
nFrachtV : Double; //FrachtV
cLSNr : String; //Lieferschein-Nummer
dLSDatum : TDateTime; //Lieferschein-Datum
cPosArt : String; //Positionsart
cSKFJN : String; //Skonto fähig J/N
cEKHerkunft : String;
cLiefNr : String; //Liefer Nr.
cLagStreck : String; //Streckenlieferung
cAufschlag : String; //Aufschlag
nStaffelPreis : integer;
nStaffelmenge : Double;
lAktionspreis : Boolean;
lVerbrauchsMater : Boolean;
cAusdruckJN : String; //Ausdruck Ja/Nein
cMemoDruck : String; //Positionslangtext drucken? Ja, Nein oder Voreinstellung
cCMPUID : String; //Zum merken von referenzen
cZeit_CMPUID : String; //Zum merken von referenzen
cZeit_Text : String; //Zum merken von referenzen
cZeit_Mitarb : String; //Zum merken von referenzen
dZeit_Date : TDateTime; //Zum merken von referenzen
cZeit_NurLei : String; //Zum merken von referenzen
//Rechnung
cKostst : String;
lNeuNum : Boolean;
cSysUID : String; //SYS_UID
Methoden
PositionsVorbelegung
Definition:
procedure PositionsVorbelegung();
Erklärung:
Beispiel:
GenNewUid
Definition:
procedure GenNewUid();
Erklärung:
Beispiel:
CopyPosmenge
Definition:
function CopyPosmenge(cFromUID : string): string;
Erklärung:
Beispiel:
CopyPosverp
Definition:
function CopyPosverp(cFromUID : string): string;
Erklärung:
Beispiel:
CopyFrom
Definition:
procedure CopyFrom(oSrc: TVorgangPos; lFull: boolean=False);
Erklärung:
Beispiel:
QueryToPos
Definition:
procedure QueryToPos(qTmp : TxFQuery);
procedure QueryToPos( qTmp : TxFQuery;
const cFromTable : string;
lVerpack : Boolean=False;
lUmkehr : boolean=False); overload;
Erklärung:
Beispiel:
DBPosToPos
Definition:
procedure DBPosToPos(const cFromTable : string;
const cSysUid : string;
lVerpack : Boolean=False;
lUmkehr : boolean=False);
Erklärung:
Beispiel:
GetLan_Artikel
Definition:
function GetLan_Artikel(cArtNr: String; cFeld: string; cDefault: string): string;
Erklärung:
Beispiel:
FillArtikel
Definition:
procedure FillArtikel(cArtNr:String);
Erklärung:
Beispiel:
SetzeLieferant
Definition:
function SetzeLieferant(const cLiefNr: string; lEKNeu: boolean=True; lDefaultEK1: boolean=False): boolean;
Erklärung:
Beispiel:
GetLan_Leist
Definition:
function GetLan_Leist(cLeistNr: String; cFeld: string; cDefault: string): string;
Erklärung:
Beispiel:
FillLeistung
Definition:
procedure FillLeistung(cLeistNr:String);
Erklärung:
Beispiel:
KalkPos
Definition:
procedure KalkPos();
Erklärung:
Beispiel:
SetPosNr
Definition:
procedure SetPosNr(cP: string; cT: string=''; cG: string=''; cFormat: string=''); overload;
procedure SetPosNr(nP: integer; nT: integer=-1; nG: integer=-1; cFormat: string=''); overload;
Erklärung:
Beispiel:
PosLaufend
Definition:
function PosLaufend(iPos: integer=0): string;
Erklärung:
Beispiel:
Preisfindung
Definition:
procedure Preisfindung(cShopNr: string=CONST_NO_SHOP);
Erklärung:
Beispiel:
Properties
property PcMWSTSch : string read cMWSTSch write SetMWSTSch;
property PcMengeIn : string read cMengeIn write SetcMengeIn;
property PnMengeIn : double read nMengeIn write SetnMengeIn;
property PnMengeInFak : double read nMengeInFak write SetnMengeInFak;
property PcMemofeld : string read cMemofeld write SetcMemofeld;
property PcMemofeldAnsi : string read cMemofeldAnsi write SetcMemofeldAnsi;
property cPosLaufend : string read ReadPosLfd write cPosLfd;
Allgemeine Datentypen
TVB_MaterMode
TVB_MaterMode = (
mmMD5=1,
mmReadUID=2
);
Allgemeine Konstanten
POSTYP_POS = '0'; //Artikel/Leistung Position
POSTYP_TXT = '1'; //Text
POSTYP_ELN = '2'; //Leerzeile (empty line)
POSTYP_ZWS = '3'; //Zwischensumme
POSTYP_TIS = '4'; //Titelsumme
POSTYP_TIT = '7'; //Titel
POSTYP_GEW = '8'; //Gewerk
POSTYP_PBR = '17'; //Seitenumbruch (Pagebreak)
POSTYP_PIC = '19'; //Bildposition
Allgemeine Funktionen
IstVKVorgang
Definition:
function IstVKVorgang(cMainTable: string): boolean;
Erklärung:
Gibt "True" zurück wenn der übergebene Name der Tabelle (cMainTable) "Angebot", "Auftrag", "Liefsta" oder "Rechsta" ist.
Beispiel:
if (IstVKVorgang(cTable)) then begin
//Zugriff auf die Tabelle
end;
IstVKVorgangPos
Definition:
function IstVKVorgangPos(cPosTable: string): boolean;
Erklärung:
Gibt "True" zurück wenn der übergebene Name der Tabelle (cPosTabele) "Angpos", "Aufpos", "Liefpos" oder "Raufpos" ist.
Beispiel:
if (IstVKVorgangPos(cPosTable)) then begin
//Zugriff auf die Tabelle
end;
CopyPosmengeDB
Definition:
function CopyPosmengeDB(oMyDB: TxDB; cFromUID : string): string;
Erklärung:
Beispiel:
function CopyPosmenge(cFromUID : string): string;
begin
Result := CopyPosmengeDB(Self.oMyDB,cFromUID);
end;
CopyPosverpDB
Definition:
function CopyPosverpDB(oMyDB: TxDB; cFromUID : string): string;
Erklärung:
Beispiel:
CopyRTFLan
Definition:
function CopyRTFLan(oMyDB: TxDB; cVonTable: String; cVonRef: String; cNachTable: String; cNachRef: String): String;
Erklärung:
Beispiel:
PosNrFormatCheck
Definition:
function PosNrFormatCheck(const cFormat: string): boolean;
Erklärung:
Beispiel:
PosNrFormatCounts
Definition:
function PosNrFormatCounts(const cFormat: string; out nG: integer; out nT: integer; out nP: integer): boolean;
Erklärung:
Beispiel:
GetVorgangMandant
Definition:
function GetVorgangMandant(oMyDB: TxDB; const cTable: string; const cNr: string): string;
Erklärung:
Beispiel: