OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge: Unterschied zwischen den Versionen

Aus OBS Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 147: Zeile 147:


'''Methoden:'''
'''Methoden:'''
{{Achtung|Funktioniert nur im Scriptrunner "Pax"! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}
{| class="wikitable"
{| class="wikitable"
! Signatur !! Beschreibung
! Signatur !! Beschreibung

Version vom 12. Juni 2026, 12:46 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:

Datentypen

Enumerationen

TVB_PosType

Positionstyp einer TVorgangPos. Wird über die Property Typ gelesen/gesetzt. Die zugehörigen String-Konstanten sind unter Konstanten beschrieben.

Wert Bezeichner Beschreibung
0 ptPosition Normale Artikelposition
1 ptText Textzeile / Memorundzeile
2 ptLeerzeile Leere Trennzeile
3 ptZwischensumme Zwischensummen-Position
4 ptTitelsumme Titelsummen-Position
5 ptTitel Titelzeile
6 ptGewerk Gewerk-Kopfzeile
7 ptSeitenumbruch Manueller Seitenumbruch
8 ptBild Bildposition

TVB_MaterMode

Steuert den Materialmodus beim Lesen von Positionsdaten.

Wert Bezeichner Beschreibung
0 mmNone Kein spezieller Materialmodus
1 mmMD5 Materialprüfung per MD5-Hash
2 mmReadUID Material-UID direkt lesen

TVorgangFehlerTyp

Klassifiziert einen Eintrag in der internen Fehlerliste eines TVorgang. Wird im Record TVorgangFehler verwendet.

Wert Bezeichner Beschreibung
0 vftOther Sonstiger Hinweis
1 vftCritical Kritischer Fehler (blockiert Speichern)
2 vftSaveCheck Prüfung beim Speichern
3 vftPosInfo Positionsbezogene Information

TVorgangFehlerLoeschenLesen

Steuert, welche Fehler nach dem Lesen via leseFehler aus der Liste gelöscht werden.

Wert Bezeichner Beschreibung
0 vfllNone Kein Fehler nach dem Lesen löschen
1 vfllAll Alle Fehler nach dem Lesen löschen
2 vfllSkipCritical Nur nicht-kritische Fehler löschen (Standard)

Records

TVorgangPosOriginal

Enthält Referenzinformationen der Ursprungsposition (z. B. bei der Vorgangsübernahme). Wird über die Property OriginalPos einer TVorgangPos geliefert.

Feld Typ Beschreibung
rDMS TDMSType DMS-Typ des Ursprungsvorgangs
cNr String Vorgangsnummer des Ursprungs
cUid String UID der Ursprungsposition
cSysUid String System-UID der Ursprungsposition

Methoden:

Signatur Beschreibung
procedure Clear Leert alle Felder des Records
procedure SetData(const ADMS: TDMSType; qPos: TxFQuery) Befüllt den Record aus einem Positions-Query

TVorgangPosParams_AktualisiereDaten

Steuert, welche Datenbereiche bei AktualisiereDaten aktualisiert werden sollen. Wird über die Property ParameterPositionsdatenAktualisieren von TVorgang gesetzt.

Feld Typ Beschreibung
lTexte Boolean Bezeichnungen/Texte aktualisieren
lEK Boolean Einkaufspreise aktualisieren
lVK Boolean Verkaufspreise aktualisieren

Methoden:

Signatur Beschreibung
procedure Init(const cVorb: string = ) Initialisiert die Parameter mit Standardwerten; optionaler Vorbelegungsschlüssel
function Aktualisieren(): boolean Gibt True zurück, wenn mindestens ein Aktualisierungsschalter gesetzt ist

TVorgangPosSummen

Speichert Zwischen- und Titelsummen-Beträge je Ebene (1 bis VB_MAX_SummenEbenen).

Feld Typ Beschreibung
aZw[1..9] Double Zwischensummen-Beträge je Ebene
aTit[1..9] Double Titelsummen-Beträge je Ebene

Methoden:

ACHTUNG: Funktioniert nur im Scriptrunner "Pax"! Aktiver Scriptrunner ist definiert in Programmparameter 444.
Signatur Beschreibung
procedure Clear Setzt alle Summen auf 0
procedure ClearZw(const nEbene: integer) Setzt Zwischensumme der Ebene nEbene auf 0
procedure ClearTit(const nEbene: integer) Setzt Titelsumme der Ebene nEbene auf 0
procedure AddZw(const nBetrag: double) Addiert Betrag zur aktiven Zwischensummen-Ebene
procedure AddTit(const nBetrag: double) Addiert Betrag zur aktiven Titelsummen-Ebene
function ReadZw(const nEbene: integer): double Liefert den Zwischensummen-Betrag der Ebene
function ReadTit(const nEbene: integer): double Liefert den Titelsummen-Betrag der Ebene

TVorgangEigenschaft

Repräsentiert ein Vorgangsmerkmal (Eigenschaft), das per EigenschaftSetzen gesetzt wird.

Feld Typ Beschreibung
cNr String Merkmalsnummer
lMode Boolean True = setzen, False = löschen

TVorgangFehler

Ein Eintrag in der internen Fehlerliste von TVorgang. Wird per leseFehler ausgelesen.

Feld Typ Beschreibung
cTitel String Fehlertitel (Kurzbeschreibung)
cText String Fehlertext (Detailbeschreibung)
eTyp TVorgangFehlerTyp Fehlerklassifikation

Konstanten

Konstante Wert Beschreibung
POSTYP_POS '0' Positionstyp normale Artikelposition (entspricht ptPosition)
POSTYP_TXT '1' Positionstyp Textzeile (entspricht ptText)
POSTYP_ELN '2' Positionstyp Leerzeile (entspricht ptLeerzeile)
POSTYP_ZWS '3' Positionstyp Zwischensumme (entspricht ptZwischensumme)
POSTYP_TIS '4' Positionstyp Titelsumme (entspricht ptTitelsumme)
POSTYP_TIT '7' Positionstyp Titel (entspricht ptTitel)
POSTYP_GEW '8' Positionstyp Gewerk (entspricht ptGewerk)
POSTYP_PBR '17' Positionstyp Seitenumbruch (entspricht ptSeitenumbruch)
POSTYP_PIC '19' Positionstyp Bild (entspricht ptBild)
VB_DEFAULT_BezZwischensumme 'ZWISCHENSUMME  :' Standard-Bezeichnung für Zwischensummen-Positionen
VB_DEFAULT_BezTitelsumme 'TITELSUMME  :' Standard-Bezeichnung für Titelsummen-Positionen
VB_MAX_SummenEbenen 9 Maximale Anzahl von Summenebenen (Zwischen- und Titelsummen)

Basisklassen Vorgangsgenerierung

TVorgang

Variablen

Name Typ Zugriff Beschreibung
oMyDB TxDB Lesen/Schreiben Datenbankverbindung des Vorgangs
oProtokoll TStringList Lesen/Schreiben Protokoll-Liste (Meldungen/Log)
lMeldung Boolean Lesen/Schreiben Steuert Anzeige von Benutzer-Meldungen
lSetPSBemAuto Boolean Lesen/Schreiben Automatische Positionsbemerkung setzen
cVorgNr String Lesen/Schreiben Vorgangsnummer
cProjNr String Lesen/Schreiben Projektnummer
lBrutto Boolean Lesen/Schreiben Brutto-Modus aktiv
cLanguage String Lesen/Schreiben Sprach-Code (intern, z. B. für Formulare)
cLagNr String Lesen/Schreiben Lagernummer
cTyp String Lesen/Schreiben Vorgangstyp-Kürzel
dVorgDat TDateTime Lesen/Schreiben Vorgangsdatum
dFaelligDat TDateTime Lesen/Schreiben Fälligkeitsdatum
dBuchDat TDateTime Lesen/Schreiben Buchungsdatum
dAufDat TDateTime Lesen/Schreiben Auftragsdatum
cKdNr String Lesen/Schreiben Kundennummer
cAnrede String Lesen/Schreiben Anrede des Kunden
cName String Lesen/Schreiben Name des Kunden
cVorname String Lesen/Schreiben Vorname des Kunden
cZusatz1 String Lesen/Schreiben Adresszusatz 1
cZusatz2 String Lesen/Schreiben Adresszusatz 2
cStrasse String Lesen/Schreiben Straße der Lieferadresse
cPostfach String Lesen/Schreiben Postfach
cLK String Lesen/Schreiben Länderkennzeichen
cPLZ String Lesen/Schreiben Postleitzahl
cOrt String Lesen/Schreiben Ort
cAngebNr String Lesen/Schreiben Angebotsnummer
cLSNr String Lesen/Schreiben Lieferscheinnummer
cRechNr String Lesen/Schreiben Rechnungsnummer
cAuftNr String Lesen/Schreiben Auftragsnummer
cRepaNr String Lesen/Schreiben Reparaturauftragsnummer
cEinkaufsNr String Lesen/Schreiben Einkaufsnummer
cBestellNr String Lesen/Schreiben Bestellnummer
cPosText String Lesen/Schreiben Positionstext (globaler Standardtext)
cLProjNr String Lesen/Schreiben Leistungsprojektnummer
cKopftext String Lesen/Schreiben Kopftext des Vorgangs
cFusstext String Lesen/Schreiben Fußtext des Vorgangs
nNBetrag Double Lesen/Schreiben Nettobetrag gesamt
nBBetrag Double Lesen/Schreiben Bruttobetrag gesamt
nEKBetrag Double Lesen/Schreiben Einkaufsbetrag gesamt
nRabattBetrag Double Lesen/Schreiben Rabattbetrag gesamt
nRabattProz Double Lesen/Schreiben Rabattprozentsatz gesamt
nAnzahlung Double Lesen/Schreiben Anzahlungsbetrag
nPorto Double Lesen/Schreiben Portokosten
nVerpackung Double Lesen/Schreiben Verpackungskosten
lSplitPoVe Boolean Lesen/Schreiben Porto und Verpackung getrennt ausweisen
cVersand String Lesen/Schreiben Versandart
cWaehr String Lesen/Schreiben Währungskürzel
cFormul String Lesen/Schreiben Formularnummer/-kürzel
cVAnr String Lesen/Schreiben Versandanrede
cVName1 String Lesen/Schreiben Versandname 1
cVName2 String Lesen/Schreiben Versandname 2
cVZusatz String Lesen/Schreiben Versandadresse Zusatz
cVStrasse String Lesen/Schreiben Versandstraße
cVLK String Lesen/Schreiben Versand-Länderkennzeichen
cVPLZ String Lesen/Schreiben Versand-PLZ
cVOrt String Lesen/Schreiben Versandort
cVUID String Lesen/Schreiben Versandadresse UID
cPrio String Lesen/Schreiben Priorität des Vorgangs
cAuftNrKd String Lesen/Schreiben Auftrags-/Bestellnummer des Kunden
cBesteller String Lesen/Schreiben Besteller (Person)
cSachb String Lesen/Schreiben Sachbearbeiter
cRabPosJN String Lesen/Schreiben Positionsrabatt anzeigen J/N
cMWSTJN String Lesen/Schreiben Mehrwertsteuer ausweisen J/N
cSText1 String Lesen/Schreiben Sondertext 1
cSText2 String Lesen/Schreiben Sondertext 2
cSText3 String Lesen/Schreiben Sondertext 3
cSText4 String Lesen/Schreiben Sondertext 4
cSText5 String Lesen/Schreiben Sondertext 5
cSText6 String Lesen/Schreiben Sondertext 6
cSText7 String Lesen/Schreiben Sondertext 7
cPreisJN String Lesen/Schreiben Preis auf Dokument drucken J/N
cMwStAbs String Lesen/Schreiben MwSt-Absetzungstext/-Kürzel
dLiefDat TDateTime Lesen/Schreiben Lieferdatum
cDeleted String Lesen/Schreiben Gelöscht-Kennzeichen
dLDat2 TDateTime Lesen/Schreiben Zweites Lieferdatum
cSprache String Lesen/Schreiben Sprache des Vorgangs
cReEmpf String Lesen/Schreiben Rechnungsempfänger-Nummer
cReAnrede String Lesen/Schreiben Rechnungsempfänger-Anrede
cReName String Lesen/Schreiben Rechnungsempfänger-Name
cReVorname String Lesen/Schreiben Rechnungsempfänger-Vorname
cReZusatz1 String Lesen/Schreiben Rechnungsempfänger-Adresszusatz 1
cReZusatz2 String Lesen/Schreiben Rechnungsempfänger-Adresszusatz 2
cReStrasse String Lesen/Schreiben Rechnungsempfänger-Straße
cRePostfach String Lesen/Schreiben Rechnungsempfänger-Postfach
cReLK String Lesen/Schreiben Rechnungsempfänger-Länderkennzeichen
cRePLZ String Lesen/Schreiben Rechnungsempfänger-PLZ
cReOrt String Lesen/Schreiben Rechnungsempfänger-Ort
cVertreter String Lesen/Schreiben Vertreter-Kürzel
cVerbucht String Lesen/Schreiben Verbucht-Kennzeichen
cLager String Lesen/Schreiben Lager-Kürzel
cRechFrei String Lesen/Schreiben Rechnungsfreigabe-Kennzeichen
cBonNr String Lesen/Schreiben Bonnummer (Kasse)
cMandant String Lesen/Schreiben Mandantenkürzel
nMwStDM Double Lesen/Schreiben MwSt-Betrag in DM (Altwährung)
nKursDM Double Lesen/Schreiben Wechselkurs DM
nAbschlag Double Lesen/Schreiben Abschlagsbetrag
nZBetrag Double Lesen/Schreiben Zahlungsbetrag
nZSkonto Double Lesen/Schreiben Skonto-Betrag
dZDatum TDateTime Lesen/Schreiben Zahlungsdatum
cMemo String Lesen/Schreiben Memofeld des Vorgangs
nValuta Integer Lesen/Schreiben Valutatage
cKostenst String Lesen/Schreiben Kostenstelle
cKostentraeger String Lesen/Schreiben Kostenträger
cKalkGr String Lesen/Schreiben Kalkulationsgruppe
cFrachtV String Lesen/Schreiben Frachtart/-vorschrift
nFrachtK Double Lesen/Schreiben Frachtkosten
nFrachtG Integer Lesen/Schreiben Frachtgewicht
cGruppe String Lesen/Schreiben Vorgangsgruppe
nPosInc Integer Lesen/Schreiben Positionsnummer-Inkrement
cFiliale String Lesen/Schreiben Filialkürzel
cRabText String Lesen/Schreiben Rabatttextfeld (kurz)
cErfasser String Lesen/Schreiben Erfasser des Vorgangs
nSKFBetrag Double Lesen/Schreiben Skontofähiger Betrag
lLiefStrecke Boolean Lesen/Schreiben Lieferstreckengeschäft aktiv
cBetreff String Lesen/Schreiben Betreffzeile
cMemoDruck String Lesen/Schreiben Druckmemo (erscheint auf Dokument)
cLieferLiefNr String Lesen/Schreiben Lieferanten-Lieferscheinnummer
cRabattText String Lesen/Schreiben Rabatttext (lang)
cSysUid String Lesen/Schreiben System-UID des Vorgangs
lLeistPreis2 Boolean Lesen/Schreiben Leistungspreis 2 verwenden
cFunction String Lesen/Schreiben Funktionskürzel (Scripting-Hook)
lSaveAllowed Boolean Lesen/Schreiben Speichern erlaubt
lVorgangsSperre Boolean Lesen/Schreiben Vorgang gesperrt

Properties

Name Typ Zugriff Beschreibung
DmsTyp String Lesen/Schreiben DMS-Typ des Vorgangs (z. B. AN, AU, LS, RE)
MainTable String Lesen/Schreiben Haupttabelle des Vorgangs (Datenbankname)
PosTable String Lesen/Schreiben Positionstabelle des Vorgangs
cPosFormat String Lesen/Schreiben Positionsnummern-Format
ParameterPositionsdatenAktualisieren TVorgangPosParams_AktualisiereDaten Lesen/Schreiben Parameter für Massenaktualisierung von Positionsdaten
PnPosCnt Integer Lesen/Schreiben Anzahl der Positionen im Vorgang
PaPositionen[Index] TVorgangPos Lesen/Schreiben Array der Positionsobjekte (0-basiert)
PcRabGrPers String Nur Lesen Rabattgruppe der Person (aus Stammdaten ermittelt)
PcVKdNr String Lesen/Schreiben VK-Kundennummer (alternativ zur cKdNr für Preisfindung)
nNet1 Double Lesen/Schreiben Nettobetrag MwSt-Schlüssel 1
nNet2 Double Lesen/Schreiben Nettobetrag MwSt-Schlüssel 2
nNet3 Double Lesen/Schreiben Nettobetrag MwSt-Schlüssel 3
nBrutto1 Double Lesen/Schreiben Bruttobetrag MwSt-Schlüssel 1
nBrutto2 Double Lesen/Schreiben Bruttobetrag MwSt-Schlüssel 2
nBrutto3 Double Lesen/Schreiben Bruttobetrag MwSt-Schlüssel 3
nMwSt1 Double Lesen/Schreiben MwSt-Betrag Schlüssel 1
nMwSt2 Double Lesen/Schreiben MwSt-Betrag Schlüssel 2
nMwSt3 Double Lesen/Schreiben MwSt-Betrag Schlüssel 3
cMwStSchl1 String Lesen/Schreiben MwSt-Schlüssel 1
cMwStSchl2 String Lesen/Schreiben MwSt-Schlüssel 2
cMwStSchl3 String Lesen/Schreiben MwSt-Schlüssel 3
cKeineVersPausch String Lesen/Schreiben Keine Versandpauschale berechnen J/N
cZahlBed String Lesen/Schreiben Zahlungsbedingung
lNewVorgang Boolean Nur Lesen Neuer (noch nicht gespeicherter) Vorgang
cKopfNr String Lesen/Schreiben Kopftextbaustein-Nummer
cFussNr String Lesen/Schreiben Fußtextbaustein-Nummer
cLiefStrecke String Lesen/Schreiben Lieferstrecken-Kürzel
cStatus String Lesen/Schreiben Status des Vorgangs
cStatM String Lesen/Schreiben Material-Status
cStatS String Lesen/Schreiben Service-Status
cStatL String Lesen/Schreiben Lieferstatus
cStatR String Lesen/Schreiben Rechnungsstatus
cColStatus String Lesen/Schreiben Farb-/Anzeigestatus (für UI)
cZustand String Lesen/Schreiben Zustandskenner des Vorgangs
cArt String Lesen/Schreiben Vorgangsart-Kürzel
cBonusJN String Lesen/Schreiben Bonus berechnen J/N
cVersandkostenMBW String Lesen/Schreiben Versandkosten-Mindestbestellwert-Kennzeichen
cWKNr String Lesen/Schreiben Werbungskosten-Nummer

Methoden

Signatur Beschreibung
constructor Create(const cUid: string; oxDB: TxDB; cDmsType: string) Erstellt einen neuen Vorgang mit UID, Datenbankverbindung und DMS-Typ
destructor Destroy Gibt den Vorgang und alle Ressourcen frei
function SemaphoreCreate(cFName: string; lMeldung: boolean = False; cWait: string = ): boolean Erstellt eine Datei-Semaphore (Sperrdatei); gibt True zurück wenn erfolgreich
function SemaphoreInUse(cFName: string): boolean Prüft ob die Semaphore-Datei bereits in Verwendung ist
procedure SemaphoreReleaseAll Gibt alle Semaphoren dieses Vorgangs frei
procedure SemaphoreRelease(cFName: string) Gibt eine bestimmte Semaphore frei
function IstAngebot(): boolean Gibt True zurück wenn der Vorgang ein Angebot ist
function IstAuftrag(): boolean Gibt True zurück wenn der Vorgang ein Auftrag ist
function IstReparaturAuftrag(): boolean Gibt True zurück wenn der Vorgang ein Reparaturauftrag ist
function IstLieferschein(): boolean Gibt True zurück wenn der Vorgang ein Lieferschein ist
function IstRechnung(): boolean Gibt True zurück wenn der Vorgang eine Rechnung ist
function IstBestellung(): boolean Gibt True zurück wenn der Vorgang eine Bestellung ist
function IstAnfrage(): boolean Gibt True zurück wenn der Vorgang eine Anfrage ist
function IstEKLieferschein(): boolean Gibt True zurück wenn der Vorgang ein EK-Lieferschein ist
function IstEinkauf(): boolean Gibt True zurück wenn der Vorgang ein Einkaufsvorgang ist
function IstVG_VK(): boolean Gibt True zurück wenn es sich um einen Verkaufsvorgang handelt
function IstVG_EK(): boolean Gibt True zurück wenn es sich um einen Einkaufsvorgang handelt
function NeuNumLock(): boolean Sperrt die Neunummerierung (verhindert parallele Vergabe)
procedure NeuNumLockRelease Gibt die Neunummerierungssperre wieder frei
function VorgNeuNum(cFilter: string = ; lAbweichend: boolean = false): string Ermittelt und setzt eine neue Vorgangsnummer; gibt die Nummer als String zurück
function VorgNeuNumBool(cFilter: string = ; lAbweichend: boolean = false): boolean Wie VorgNeuNum, gibt True/False zurück (für Fehlerbehandlung)
function IstVorgNrGueltig(cUID: string = ): boolean Prüft ob die aktuelle Vorgangsnummer gültig (eindeutig) ist
function NeuePositionBase(const cUID: string): TVorgangPos Legt eine neue Positionsinstanz an und fügt sie dem Vorgang hinzu
procedure NeuePositionBaseMS(const cUID: string; oOrgPos: TVorgangPos) Legt eine neue Position als Multi-Steuer-Folgeposition an
function LoeschePositionBase(nDel: integer): Boolean Löscht die Position mit dem angegebenen Index
procedure VerschiebePositionBase(nPos: integer; nZiel: integer) Verschiebt Position von Index nPos zu Index nZiel
function CheckIfNotNull(): Boolean Prüft ob Pflichtfelder des Vorgangs befüllt sind
function CheckIfFirstPosOption(): Boolean Prüft ob die erste Position eine Optionsposition ist
function IsPosBerechnung(cPosArt: string): boolean Prüft ob eine Positionsart als Berechnungsposition gilt
procedure CopyFrom(oSrc: TVorgang) Kopiert alle Felder aus einem anderen Vorgang
procedure KalkAll(lZusatz: boolean = true) Kalkuliert alle Positionen und Gesamtsummen neu
procedure Check_Multisteuer(oOrgPos: TVorgangPos; const cTable, cMUID, cRefNr: string) Prüft und setzt Multi-Steuer-Verknüpfung für eine Position
function CopyPosmenge(cFromUID: string): string Kopiert Positionsmengen aus einem anderen Vorgang (per UID)
function CopyPosverp(cFromUID: string): string Kopiert Positionsverpackungen aus einem anderen Vorgang (per UID)
procedure fillVersandkostenMBW(const cPsNr: string; const cPsVersand: string = ; const PsZusatz: string = ) Berechnet und setzt Versandkosten auf Basis Mindestbestellwert
procedure FillPersonBase(qPers: TxFQuery) Befüllt Adressfelder des Vorgangs aus einem Personen-Query
function FillReEmpf(const AReEmpf: string; const AZahlBed: string = ): boolean Setzt Rechnungsempfänger und optionale Zahlungsbedingung
function SaveRecord(cUID: string = ; lAlleSpeichern: boolean = false): Boolean Speichert den Vorgang (abstrakt – muss in abgeleiteter Klasse implementiert werden)
function ReadVorgangTypBase(cDmsTyp: string; const cNr: string; lPos: boolean = false; lNeg: boolean = false): boolean Liest einen Vorgang anhand DMS-Typ und Nummer in das Objekt
function JahrNr(): string Gibt das Jahr der Vorgangsnummer zurück
procedure NeuNumPos(const lNurPos: boolean = True) Nummeriert alle Positionen neu
function EigenschaftSetzen(const ANr: string; const AMode: boolean): boolean Setzt oder löscht eine Vorgangseigenschaft (Merkmal) per Nummer
procedure AdresseLeeren Leert alle Adressfelder des Vorgangs
procedure VersandLeeren(lRef: boolean = True) Leert alle Versandadressfelder
procedure ReEmpfLeeren(const lNurAdr: boolean = False) Leert Rechnungsempfänger-Felder (optional nur Adresse)
procedure DoServiceTouch(cStatus: string = ) Aktualisiert Service-Zeitstempel und optionalen Status
function AuswahlParameterPositionsdatenAktualisieren(const cXDataTable: string): boolean Zeigt Dialog zur Auswahl der Aktualisierungsparameter für Positionsdaten
function ZusatzkostenAktiv(): boolean Gibt True zurück wenn Zusatzkostenmodul für diesen Vorgang aktiv ist
function leseFehler(out rFehler: TVorgangFehler; var nIdx: integer; const eLoeschenNachLesen: TVorgangFehlerLoeschenLesen = vfllSkipCritical): boolean Liest den nächsten Fehler aus der internen Fehlerliste


TVorgangPos

Variablen

Name Typ Zugriff Beschreibung
nPosIndex Integer Lesen/Schreiben Laufender Index der Position im Positions-Array
cNr String Lesen/Schreiben Interne Positionsnummer (Datenbankfeld)
cKundNr String Lesen/Schreiben Kundennummer an der Position
cAuftragsNr String Lesen/Schreiben Referenz-Auftragsnummer
cBestellNr String Lesen/Schreiben Referenz-Bestellnummer
cPosText String Lesen/Schreiben Positionstext (Langtextfeld)
cLProjNr String Lesen/Schreiben Leistungsprojektnummer
cLS_azUid String Lesen/Schreiben Lieferschein-Abrechnungszeilen-UID
cVersandNr String Lesen/Schreiben Versandnummer
cPosNr String Lesen/Schreiben Positionsnummer (formatiert)
cPosNr2 String Lesen/Schreiben Zweite Positionsnummer (alternativ)
cPosKas String Lesen/Schreiben Kassier-Positionsnummer
cLeistungsNr String Lesen/Schreiben Leistungsnummer
cBezeichnung1 String Lesen/Schreiben Bezeichnung Zeile 1
cBezeichnung2 String Lesen/Schreiben Bezeichnung Zeile 2
nUrMenge Double Lesen/Schreiben Ursprungsmenge (vor Änderungen)
nLeistFaktor Double Lesen/Schreiben Leistungsfaktor (Multiplikator für Mengenberechnung)
cEinheit String Lesen/Schreiben Mengeneinheit
nMengeG Integer Lesen/Schreiben Mengenganz (ganzzahliger Mengenanteil)
nKolli Integer Lesen/Schreiben Kollianzahl
cVerpackung String Lesen/Schreiben Verpackungsart/-kürzel
nInhalt Double Lesen/Schreiben Inhalt pro Verpackungseinheit
nEPreis Double Lesen/Schreiben Einzelpreis (Netto)
nBEPreis Double Lesen/Schreiben Brutto-Einzelpreis
nOBPreis Double Lesen/Schreiben Original-Brutto-Einzelpreis (vor Rabatt)
nUrPreis Double Lesen/Schreiben Ursprungspreis (Listenpreis VK)
nUrPreisEK Double Lesen/Schreiben Ursprungspreis Einkauf
nGPreis Double Lesen/Schreiben Gesamtpreis (Netto)
nBGPreis Double Lesen/Schreiben Brutto-Gesamtpreis
nEKPreis Double Lesen/Schreiben Einkaufspreis
nEKSPreis Double Lesen/Schreiben Einkaufssonderpreis
cManPreis String Lesen/Schreiben Manueller Preis J/N-Kennzeichen
nRabatt Double Lesen/Schreiben Gesamtrabatt in Prozent
nRabatt1 Double Lesen/Schreiben Rabatt 1 in Prozent
cRabArt1 String Lesen/Schreiben Rabattart 1 (Herkunftskennzeichen)
nRabatt2 Double Lesen/Schreiben Rabatt 2 in Prozent
cRabArt2 String Lesen/Schreiben Rabattart 2
nRabatt3 Double Lesen/Schreiben Rabatt 3 in Prozent
cRabArt3 String Lesen/Schreiben Rabattart 3
nRabatt4 Double Lesen/Schreiben Rabatt 4 in Prozent
cRabArt4 String Lesen/Schreiben Rabattart 4
nRabatt5 Double Lesen/Schreiben Rabatt 5 in Prozent
cRabArt5 String Lesen/Schreiben Rabattart 5
nAddSub Double Lesen/Schreiben Additions-/Subtraktionsbetrag (Zuschlag/Abzug absolut)
cKonto String Lesen/Schreiben Buchungskonto
cLagNr String Lesen/Schreiben Lagernummer der Position
cLagONr String Lesen/Schreiben Lager-Ortsnummer
cVerkaufer String Lesen/Schreiben Verkäuferkürzel
cStatus String Lesen/Schreiben Positionsstatus
cAngebotsNr String Lesen/Schreiben Referenz-Angebotsnummer
cUID String Lesen/Schreiben Eindeutige ID der Position (GUID)
cMUID String Lesen/Schreiben Multi-Steuer-UID (Verknüpfung bei Multisteuer)
cRTVon String Lesen/Schreiben Rücktragungs-Referenz (von welcher Position)
cSpNr String Lesen/Schreiben Speditionsnummer
cBestellUID String Lesen/Schreiben UID der verknüpften Bestellposition
cMaterialUID String Lesen/Schreiben UID des verknüpften Materialeintrags
cEiliUID String Lesen/Schreiben UID der Eillieferungsposition
cXUID1 String Lesen/Schreiben Erweiterungs-UID 1 (freie Verknüpfung)
cXUID2 String Lesen/Schreiben Erweiterungs-UID 2
cXUID3 String Lesen/Schreiben Erweiterungs-UID 3
cXUID4 String Lesen/Schreiben Erweiterungs-UID 4
cKommentar String Lesen/Schreiben Kommentarfeld der Position
nProvision Double Lesen/Schreiben Provisionsanteil in Prozent
cLiefKz String Lesen/Schreiben Lieferkennzeichen
cProdGr String Lesen/Schreiben Produktgruppe
nFrachtV Double Lesen/Schreiben Frachtvolumen der Position
cLSNr String Lesen/Schreiben Lieferscheinnummer der Position
dLSDatum TDateTime Lesen/Schreiben Lieferscheindatum der Position
cPosArt String Lesen/Schreiben Positionsart (z. B. N=Normal, O=Optional)
cSKFJN String Lesen/Schreiben Skontofähig J/N
cEKHerkunft String Lesen/Schreiben EK-Preisherkunft-Kürzel
cLiefNr String Lesen/Schreiben Lieferantennummer
cLagStreck String Lesen/Schreiben Lager-Streckenkennzeichen
cAufschlag String Lesen/Schreiben Aufschlagskürzel
nStaffelPreis Integer Lesen/Schreiben Staffelpreisstufe (Index)
nStaffelmenge Double Lesen/Schreiben Staffelmenge für Preisfindung
lAktionspreis Boolean Lesen/Schreiben Aktionspreis aktiv
cAusdruckJN String Lesen/Schreiben Position drucken J/N
cMemoDruck String Lesen/Schreiben Druckmemo der Position
cBildUID String Lesen/Schreiben UID des verknüpften Bildes
cCMPUID String Lesen/Schreiben CMP-Objekt-UID
cZeit_CMPUID String Lesen/Schreiben Zeiterfassungs-CMP-UID
cZeit_Text String Lesen/Schreiben Zeiterfassungstext
cZeit_Mitarb String Lesen/Schreiben Mitarbeiter der Zeiterfassung
dZeit_Date TDateTime Lesen/Schreiben Datum der Zeiterfassung
cZeit_NurLei String Lesen/Schreiben Zeiterfassung: nur Leistung J/N
cKostst String Lesen/Schreiben Kostenstelle der Position
dAbrechVon TDateTime Lesen/Schreiben Abrechnungszeitraum von
dAbrechBis TDateTime Lesen/Schreiben Abrechnungszeitraum bis
lNeuNum Boolean Lesen/Schreiben Neunummerierung für diese Position ausführen
cSysUID String Lesen/Schreiben System-UID der Position
cGeraetNr String Lesen/Schreiben Gerätenummer (für Servicepositionen)

Properties

Name Typ Zugriff Beschreibung
oMyDB TxDB Nur Lesen Datenbankverbindung (vom Vorgang geerbt)
ShopNr String Nur Lesen Shop-Nummer (für Mehrshop-Preisfindung)
cArtikelNr String Lesen/Schreiben Artikelnummer (Zugriff über Property wegen Seiteneffekten)
PcMWSTSch String Lesen/Schreiben MwSt-Schlüssel (Parameter-Feld)
PcMengeIn String Lesen/Schreiben Mengeneingabe als String (Parameter)
PnMengeIn Double Lesen/Schreiben Mengeneingabe als Zahl (Parameter)
PnMengeInFak Double Lesen/Schreiben Mengeneingabe-Faktor (Parameter)
PcMemofeld String Lesen/Schreiben Memofeld der Position (Parameter-Feld, Unicode)
PcMemofeldAnsi String Lesen/Schreiben Memofeld ANSI-Version (Parameter-Feld)
cPosLaufend String Lesen/Schreiben Laufende Positionsnummer als String
lVerbrauchsMater Boolean Lesen/Schreiben Verbrauchsmaterial-Kennzeichen
nMenge Double Lesen/Schreiben Menge der Position (mit Seiteneffekten bei Schreiben)
cTyp String Lesen/Schreiben Positionstyp als String – siehe Konstanten (POSTYP_*)
Typ TVB_PosType Lesen/Schreiben Positionstyp als Enum (ptPosition, ptText, ptLeerzeile …)
OriginalPos TVorgangPosOriginal Nur Lesen Ursprungspositionsdaten (DMS-Referenz, Nr, UID, SysUID)

Methoden

Signatur Beschreibung
constructor Create(oxVorgang: TVorgang; cPosTbl: string) Erstellt eine neue Position für den angegebenen Vorgang (veraltet, UID-Variante bevorzugen)
constructor Create(cUid: string; oxVorgang: TVorgang; cPosTbl: string) Erstellt eine neue Position mit vorgegebener UID
destructor Destroy Gibt die Position frei
procedure PositionsVorbelegung Befüllt die Position mit Standardwerten aus den Vorgangsdaten
procedure GenNewUid Generiert eine neue UID für diese Position
function CopyPosmenge(cFromUID: string): string Kopiert Mengen aus einer anderen Position (per UID)
function CopyPosverp(cFromUID: string): string Kopiert Verpackungsdaten aus einer anderen Position (per UID)
procedure CopyFrom(oSrc: TVorgangPos; lFull: boolean = False) Kopiert alle Felder aus einer anderen Position; lFull=True kopiert auch interne Felder
procedure QueryToPos(qTmp: TxFQuery; lReadAsNew: boolean = false) Befüllt die Position aus einem Datenbankquery (Überladung 1)
procedure QueryToPos(qTmp: TxFQuery; const cFromTable: string; lVerpack: Boolean = False; lUmkehr: boolean = False) Befüllt die Position aus einem Query mit expliziter Quelltabelle (Überladung 2)
procedure DBPosToPos(const cFromTable: string; const cSysUid: string; lVerpack: Boolean = False; lUmkehr: boolean = False) Liest eine Position direkt aus der Datenbank per SysUID
function FillArtikel(cArtNr: string): boolean Befüllt die Position mit Artikelstammdaten; gibt True bei Erfolg zurück
function SetzeLieferant(const cLiefNr: string; lEKNeu: boolean = True; lDefaultEK1: boolean = False): boolean Setzt den Lieferanten und aktualisiert EK-Preise
procedure FillLeistung(cLeistNr: string) Befüllt die Position mit Leistungsstammdaten
function SumPosBez(const eZielTyp: TVB_PosType; const cBezVorb: string): string Gibt die Bezeichnung für eine Summenposition zurück
procedure Typ_Pos Setzt den Positionstyp auf „normale Position“
procedure Typ_Text(const cText: string) Setzt den Positionstyp auf „Textzeile“ mit dem angegebenen Text
procedure Typ_Leerzeile Setzt den Positionstyp auf „Leerzeile“
procedure Typ_Zwischensumme(const cBez: string = ) Setzt den Positionstyp auf „Zwischensumme“ (Ebene 1)
procedure Typ_ZwischensummeEbene(const nEbene: integer; const cBez: string = ) Setzt den Positionstyp auf „Zwischensumme“ der angegebenen Ebene
procedure Typ_Titelsumme(const cBez: string = ) Setzt den Positionstyp auf „Titelsumme“ (Ebene 1)
procedure Typ_TitelsummeEbene(const nEbene: integer; const cBez: string = ) Setzt den Positionstyp auf „Titelsumme“ der angegebenen Ebene
procedure Typ_Titel(const cBez: string) Setzt den Positionstyp auf „Titel“
procedure Typ_Gewerk(const cBez: string) Setzt den Positionstyp auf „Gewerk“
procedure Typ_NeueSeite Setzt den Positionstyp auf „Seitenumbruch“
procedure Typ_Bild(const cBild: string) Setzt den Positionstyp auf „Bild“ mit dem angegebenen Bildpfad/-UID
procedure UStKorrektur(const dCheckDate: TDateTime) Korrigiert den Umsatzsteuerschlüssel gemäß Datum (Steuersatzänderungen)
procedure KalkPos Kalkuliert Gesamtpreis und abgeleitete Felder dieser Position neu
function PosNrAllowed(): boolean Gibt True zurück wenn dieser Positionstyp eine Positionsnummer erhält
procedure SetPosNr(cP: string; cT: string = ; cG: string = ; cFormat: string = ) Setzt die Positionsnummer aus String-Komponenten (Überladung 1)
procedure SetPosNr(nP: integer; nT: integer = -1; nG: integer = -1; cFormat: string = ) Setzt die Positionsnummer aus numerischen Komponenten (Überladung 2)
function PosLaufend(iPos: integer = 0): string Gibt die laufende Positionsnummer als formatierten String zurück
procedure Preisfindung(cShopNr: string = CONST_NO_SHOP) Führt die Preisfindung für diese Position aus
function SetOpenBookLieferant(): boolean Setzt den Open-Book-Lieferanten für diese Position
procedure AddToMemo(const cText: string; const lNewLine: boolean = False) Fügt Text zum Memofeld hinzu
procedure AktualisiereDaten Aktualisiert Texte, EK- und VK-Preise gemäß ParameterPositionsdatenAktualisieren
procedure EKCalcMengeIn(var nEkFak: double) Berechnet den EK-Mengeneingabe-Faktor (Rückgabe per var-Parameter)
function CanSave(): boolean Prüft ob diese Position gespeichert werden kann/darf
procedure qSqlSet(AqSql: TqSql) Setzt das SQL-Objekt für erweiterte DB-Operationen dieser Position

Globale Methoden

Signatur Beschreibung
function IstVKVorgang(cMainTable: string): boolean Gibt True zurück, wenn die Haupttabelle ein VK-Vorgang ist
function IstVKVorgangPos(cPosTable: string): boolean Gibt True zurück, wenn die Positionstabelle zu einem VK-Vorgang gehört
function CopyPosmengeDB(oMyDB: TxDB; cFromUID: string): string Kopiert Positionsmengen aus einem anderen Vorgang (direkt per Datenbankzugriff)
function CopyPosverpDB(oMyDB: TxDB; cFromUID: string): string Kopiert Positionsverpackungen aus einem anderen Vorgang (direkt per Datenbankzugriff)
function CopyRTFLan(oMyDB: TxDB; cVonTable, cVonRef, cNachTable, cNachRef: String): String Kopiert RTF-Langtexte zwischen Vorgangs-Positionen
procedure CopyKalkulationAN2AU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String; fPosmenge: Double) Kopiert Kalkulation von Angebot nach Auftrag (mit Mengenfaktor)
procedure CopyKalkulationAU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String) Kopiert Auftragskalkulation zwischen zwei Positionen
procedure CopyKalkulationAN(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String) Kopiert Angebotskalkulation zwischen zwei Positionen
function PosNrFormatCheck(const cFormat: string): boolean Prüft, ob ein Positionsnummern-Format gültig ist (Überladung 1)
function PosNrFormatCheck(oMyDB: TxDB; const cFormat: string): boolean Prüft Format gegen Datenbankeinstellungen (Überladung 2)
function PosNrFormatCounts(const cFormat: string; out nG, nT, nP: integer): boolean Liefert die Stellenzahlen für Gewerk, Titel und Position aus dem Format (Überladung 1)
function PosNrFormatCounts(oMyDB: TxDB; const cFormat: string; out nG, nT, nP: integer): boolean Wie oben, mit Datenbankzugriff (Überladung 2)
function PosNrSplit(oMyDB: TxDB; const cFormat, cPosTyp: string; cPosNr: string; out nG, nT, nP: integer): boolean Zerlegt eine formatierte Positionsnummer in ihre Bestandteile
function GetVorgangMandant(oMyDB: TxDB; const cTable, cNr: string): string Gibt den Mandanten-Schlüssel für einen Vorgang zurück
function GetVorgangTextTB(const nPMode: integer; out cTB_Nr: string; cFiliale: string = ): boolean Ermittelt die Textbaustein-Nummer für den angegebenen Positionsmodus
function GetVorgangTextTBPers(oMyDB: TxDB; const cPsNr: string; const nPMode: integer; out cTB_Nr: string; cFiliale: string = ): boolean Wie GetVorgangTextTB, zusätzlich personenbezogen
function KopfTextPlatzhalter(var cKopfText: string; const cBrief1, cBrief2: string): boolean Ersetzt Platzhalter im Kopftext durch Briefanredefelder
function VorgangArt(oMyDB: TxDB; const cDMS, cNr: string): integer Gibt die Vorgangsart als Integer-Kennziffer zurück
function VorgangStatus(oMyDB: TxDB; const cDMS, cNr: string): string Gibt den aktuellen Status eines Vorgangs aus der Datenbank zurück
function VorgangVerbucht(oMyDB: TxDB; const cDMS, cNr: string): boolean Gibt True zurück, wenn der Vorgang verbucht ist
function VorgangUstEnthalten(oMyDB: TxDB; const cDMS, cNr, cUstSchl: string; cFeld: string = ): boolean Prüft, ob ein bestimmter USt-Schlüssel im Vorgang verwendet wird
function PortoVerpackKannSkonto(): boolean Gibt True zurück, wenn Porto/Verpackung skontofähig ist (laut Systemeinstellung)
function GetPosBild(oMyDB: TxDB; cArtNr: string; var cBildUID: string): boolean Ermittelt die Bild-UID eines Artikels für eine Positions-Bildposition
function VorgangVertreterVorb(oMyDB: TxDB; const cVertreter: string): string Gibt den vorgebelegten Vertreter-Schlüssel zurück
function VorgangVertreterPrio(oMyDB: TxDB; const cAktVertreter: string): string Gibt den Vertreter mit höchster Priorität zurück
function GenerierePositionskommentar(cUrsprung, cKommentar: String): String Kombiniert Ursprungs- und Kommentartext zu einem Positions-Kommentar
function ReplacePlatzhalterReparaturAuftrag(cRAufNr: String; cText: String = ): String Ersetzt Platzhalter im Text durch Reparaturauftragsdaten
function ReplacePlatzhalterPosErfassung(oMyDB: TxDB; const cBuffer, cTable, cNr: string; const lDef: Boolean = False; const lRepa: Boolean = False): String Ersetzt Platzhalter im Text bei der Positionserfassung
function LoadPlatzhalterVorgang(oMyDB: TxDB; const cTable, cNr: string; var oPlatzhalter: TPlatzhalterVorgang): Boolean Lädt Platzhalter-Daten eines Vorgangs aus der Datenbank
function PlatzhalterVorgang(const cText, cNr: string; const oPlatzhalter: TPlatzhalterVorgang; const lDef: Boolean = false; const lRepa: Boolean = false): string Ersetzt Platzhalter im Text mit den geladenen Vorgang-Platzhaltern
function GetPosVorb_ErlKto(oMyDB: TxDB; const cErlJahr, cManNr, cFiliale: string): string Gibt das Erlöskonto für eine Positionsvorbelegung zurück
procedure ChangePosPreisFromLeistPreis2(oVorgang: TVorgang) Wechselt für alle Positionen auf den alternativen Leistungspreis 2
function Vorgang_ToXMLStr(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): string Exportiert einen Vorgang als XML-String
function Vorgang_ToDelArchiv(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): Boolean Verschiebt einen Vorgang ins Löscharchiv
function Vorgang_ToXMLFile(oMyDB: TxDB; const cFile, cTable, cPosTable, cVorgNr: String): Boolean Exportiert einen Vorgang in eine XML-Datei
function XMLFile_ToVorgang(oMyDB: TxDB; const cData: String; var cNewNr, cOldNr: String): Boolean Importiert einen Vorgang aus einem XML-String/-Datei
function DelArchivTo_Vorgang(oMyDB: TxDB; const cTabelle, cVorgang: String): String Stellt einen archivierten Vorgang wieder her
function Vorgang_Runden_MengeInFak(oMyDB: TxDB; const cTabMain, cTabPos: string; nValue: double): double Rundet den Mengeneingabe-Faktor gemäß Tabelleneinstellung
function Vorgang_Rohertrag(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double): String Berechnet den Rohertrag eines Vorgangs
function Vorgang_Rohertrag_Ext(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double; lSollStunden: Boolean): string Berechnet den Rohertrag erweitert (mit Sollstunden)
function VorgangFelder(cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String Gibt die aktiven Feldgruppen eines Vorgangstyps als String zurück (Überladung 1)
function VorgangFelder(oMyDB: TxDB; cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String Wie oben, mit Datenbankzugriff (Überladung 2)
function Vorgang_IstGesperrt(oMyDB: TxDB; const cTyp, cRef: string; const cFeld: string = 'a_nr'): boolean Prüft, ob ein Vorgang gesperrt ist (Überladung 1)
function Vorgang_IstGesperrt(oMyDB: TxDB; const rDMS: TDMSType; const cRef: string; const cFeld: string = 'a_nr'): boolean Prüft Sperrung per DMS-Typ (Überladung 2)
function Vorgang_FilterSperrung(oMyDB: TxDB; const cTyp, cRef: string; out cOffen, cGesperrt: string; const cFeld: string = 'a_nr'): boolean Gibt SQL-Filter-Strings für offene/gesperrte Vorgänge zurück
function Vorgang_FilterSperrung_Offen(oMyDB: TxDB; const cTyp, cRef: string; out cOffen: string; const cFeld: string = 'a_nr'): boolean Gibt nur den Filter für offene (nicht gesperrte) Vorgänge zurück
function Vorgang_UbernahmeMassen(oMyDB: TxDB; const cVonUid, cNachDmsTyp, cNachVorgNr, cNachUid: string): boolean Massenweise Positionsübernahme zwischen Vorgängen
function Vorgang_GetMenge(oMyDB: TxDB; const cPosTable, cKeyField, cUID: String; out nUrmenge: Double; const cEigUID: String = ): Double Liest die aktuelle und Ursprungsmenge einer Position aus der Datenbank
function Vorgang_CheckPosTyp(const cTyp: string): boolean Prüft, ob ein Positionstyp-Schlüssel gültig ist
function Vorgang_HatReEmpfAdr(qVorgangData: TxFQuery): boolean Gibt True zurück, wenn der Vorgang eine Rechnungsempfänger-Adresse hat (Überladung 1)
function Vorgang_HatReEmpfAdr(qVorgangData: TxQuery): boolean Wie oben, für TxQuery (Überladung 2)
function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxFQuery; const cMainTable: string; cAdressBez: string = ; lUseReportLang: boolean = True): string Gibt die anzuzeigende Rechnungsempfänger-Adresse als formatierten Text zurück (Überladung 1)
function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxQuery; const cMainTable: string; cAdressBez: string = ; lUseReportLang: boolean = True): string Wie oben, für TxQuery (Überladung 2)
function Vorgang_PortoVerpackBerechnet(oMyDB: TxDB; const cDmsVon, cDmsSetzen, cNrSetzen: string): boolean Prüft, ob Porto/Verpackung bereits berechnet wurde und setzt Kennzeichen
function VorgangVorb_Waehrung(oMyDB: TxDB; const cValue: string = '01'): string Gibt den Standardwährungsschlüssel für Vorgangsvorbelegung zurück
function VorgangVorb_RechKreis(oMyDB: TxDB; const cValue: string = '01'): string Gibt den Standardrechnungskreis-Schlüssel zurück
function VorgangVorbPos_VomLager(const nTokenPos: integer; const cLagStreck: string): string Gibt das Lager/die Strecke für eine Positionsvorbelegung zurück
function Vorgang_VersandkostenMBW(oMyDB: TxDB; const cDmsTyp: string; const lGen: boolean; const cPsNr: string; const cPsVersand: string = ; const cPsZusatz: string = ): string Berechnet Versandkosten auf Basis des Mindestbestellwerts
function Vorgang_PdfFile(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cPdfFile: string): boolean Ermittelt den Pfad zur archivierten PDF-Datei eines Vorgangs
function Vorgang_PdfAsBase64File(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cBase64File: string): boolean Liefert die PDF-Datei als Base64-kodierten Pfad
function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean Liefert die PDF in Teilen als Base64 (mit KdNr, Überladung 1)
function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean Wie oben, Teilgröße als String (Überladung 2)
function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean Wie oben, ohne KdNr (Überladung 3)
function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean Wie oben, Teilgröße als String (Überladung 4)
function Vorgang_PdfAsBase64(oMyDB: TxDB; const cDmsTyp, cNr: string; out cBase64: string): boolean Liefert die gesamte PDF als Base64-String
function Vorgang_PosUebernommen(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid: string): TVorgangPosOriginalListe Gibt eine Liste aller Vorgänge zurück, in die diese Position übernommen wurde
function Vorgang_GetPosRef(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid, cRefDmsTypen: string): TVorgangPosOriginalListe Gibt Referenzen einer Position auf andere DMS-Typen zurück
function Vorgang_ArtBox(const cDMSTyp: string): string Gibt die Vorgangsart-Box (Auswahlstring) für einen DMS-Typ zurück
function Vorgang_SummenEbene(const nEbene: integer): integer Validiert und normiert eine Summen-Ebene (1..VB_MAX_SummenEbenen)
function Vorgang_SummenEbeneAusMenge(const nMenge: double): integer Berechnet die Summenebene aus einem Mengenwert
function Vorgang_KalkAufschlagPos(const nSatz, nZwSumme, nMengeIn, nMengeInFak, nRabatt: double): double Berechnet den Aufschlagsbetrag für eine Position
function Vorgang_SumPosText(const eTyp: TVB_PosType; const cLanguage: string): string Gibt den lokalisierten Standardtext für eine Summenposition zurück
function Vorgang_SumPosTextZw(cLang: string = ): string Gibt den lokalisierten Text für Zwischensummen-Positionen zurück
function Vorgang_SumPosTextTit(cLang: string = ): string Gibt den lokalisierten Text für Titelsummen-Positionen zurück