OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge: Unterschied zwischen den Versionen
Nimz (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Nimz (Diskussion | Beiträge) |
||
| Zeile 884: | Zeile 884: | ||
| <code>cTyp</code> || String || Lesen/Schreiben || Positionstyp als String – siehe [[#Konstanten|Konstanten]] (POSTYP_*)<br />Wandelt den übergebenen String in die passende Enummeration für Property (siehe Hinweise in [[TVorgangPos_Prop_Typ|Typ]]). {{Achtung|Wird ein ungültiger Wert gesetzt, so wird der Typ automatisch auf Position ("0" bzw. ptPosition) gesetzt.}} | | <code>cTyp</code> || String || Lesen/Schreiben || Positionstyp als String – siehe [[#Konstanten|Konstanten]] (POSTYP_*)<br />Wandelt den übergebenen String in die passende Enummeration für Property (siehe Hinweise in [[TVorgangPos_Prop_Typ|Typ]]). {{Achtung|Wird ein ungültiger Wert gesetzt, so wird der Typ automatisch auf Position ("0" bzw. ptPosition) gesetzt.}} | ||
|- style="vertical-align:top" | |- style="vertical-align:top" | ||
| <span id="TVorgangPos_Prop_Typ"></span><code>Typ</code> || [[#TVB_PosType|TVB_PosType]] || Lesen/Schreiben || Positionstyp als Enum (ptPosition, ptText, ptLeerzeile …){{Hinweis|Wird der Typ geändert, so werden die Daten des Positionsobjekts auf die Vorbelegung zurückgesetzt. Zuvor gesetzte Daten werden dabei überschrieben. Nach der Verwendung von <code>NeuePosition</code> sollte der Typ daher als erstes geändert werden, bevor Sie weitere Daten in das Objekt schreiben.}} | | <span id="TVorgangPos_Prop_Typ"></span><code>Typ</code> || [[#TVB_PosType|TVB_PosType]] || Lesen/Schreiben || Positionstyp als Enum (ptPosition, ptText, ptLeerzeile …){{Hinweis|Wird der Typ geändert, so werden die Daten des Positionsobjekts auf die Vorbelegung zurückgesetzt. Zuvor gesetzte Daten werden dabei überschrieben. Nach der Verwendung von <code>NeuePosition</code> sollte der Typ daher als erstes geändert werden, bevor Sie weitere Daten in das Objekt schreiben. Alternativ kann der Positionstyp mit einer Klassenmethode angepasst werden. Diese verfügen über entsprechende Parameter, um relevante Felder für die Position direkt zu setzen. Siehe dazu:<br />[[#TVorgangPos_Meth_Typ_Pos|Typ_Pos]]<br />[[#TVorgangPos_Meth_Typ_Text|Typ_Text]]<br />[[#TVorgangPos_Meth_Typ_Leerzeile|Typ_Leerzeile]]<br />[[#TVorgangPos_Meth_Typ_Zwischensumme|Typ_Zwischensumme]]<br />[[#TVorgangPos_Meth_Typ_ZwischensummeEbene|Typ_ZwischensummeEbene]]<br />[[#TVorgangPos_Meth_Typ_Titelsumme|Typ_Titelsumme]]<br />[[#TVorgangPos_Meth_Typ_TitelsummeEbene|Typ_TitelsummeEbene]]<br />[[#TVorgangPos_Meth_Typ_Titel|Typ_Titel]]<br />[[#TVorgangPos_Meth_Typ_Gewerk|Typ_Gewerk]]<br />[[#TVorgangPos_Meth_Typ_NeueSeite|Typ_NeueSeite]]<br />[[#TVorgangPos_Meth_Typ_Bild|Typ_Bild]]}} | ||
|- style="vertical-align:top" | |- style="vertical-align:top" | ||
| <span id="TVorgangPos_Prop_OriginalPos"></span><code>OriginalPos</code> || [[#TVorgangPosOriginal|TVorgangPosOriginal]] || Nur Lesen || Ursprungspositionsdaten (DMS-Referenz, Nr, UID, SysUID) | | <span id="TVorgangPos_Prop_OriginalPos"></span><code>OriginalPos</code> || [[#TVorgangPosOriginal|TVorgangPosOriginal]] || Nur Lesen || Ursprungspositionsdaten (DMS-Referenz, Nr, UID, SysUID) | ||
Version vom 12. Juni 2026, 13:11 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
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:
| 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_*) Wandelt den übergebenen String in die passende Enummeration für Property (siehe Hinweise in Typ). ACHTUNG: Wird ein ungültiger Wert gesetzt, so wird der Typ automatisch auf Position ("0" bzw. ptPosition) gesetzt.
|
Typ |
TVB_PosType | Lesen/Schreiben | Positionstyp als Enum (ptPosition, ptText, ptLeerzeile …) HINWEIS: Wird der Typ geändert, so werden die Daten des Positionsobjekts auf die Vorbelegung zurückgesetzt. Zuvor gesetzte Daten werden dabei überschrieben. Nach der Verwendung von
NeuePosition sollte der Typ daher als erstes geändert werden, bevor Sie weitere Daten in das Objekt schreiben. Alternativ kann der Positionstyp mit einer Klassenmethode angepasst werden. Diese verfügen über entsprechende Parameter, um relevante Felder für die Position direkt zu setzen. Siehe dazu:Typ_Pos Typ_Text Typ_Leerzeile Typ_Zwischensumme Typ_ZwischensummeEbene Typ_Titelsumme Typ_TitelsummeEbene Typ_Titel Typ_Gewerk Typ_NeueSeite Typ_Bild |
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 |