OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge

Aus OBS Wiki
Zur Navigation springen Zur Suche springen


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:

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
        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:


Beispiel:

IstAuftrag

Definition:

function  IstAuftrag(): boolean;

Erklärung:


Beispiel:

IstReparaturAuftrag

Definition:

function  IstReparaturAuftrag(): boolean;

Erklärung:


Beispiel:

IstLieferschein

Definition:

function  IstLieferschein(): boolean;

Erklärung:


Beispiel:

IstRechnung

Definition:

function  IstRechnung(): boolean;

Erklärung:


Beispiel:

NeuNumLock

Definition:

function  NeuNumLock(): boolean;

Erklärung:


Beispiel:

NeuNumLockRelease

Definition:

procedure NeuNumLockRelease();

Erklärung:


Beispiel:

VorgNeuNum

Definition:

function  VorgNeuNum(cFilter: string=''; lAbweichend: boolean = false): string;

Erklärung:


Beispiel:

VorgNeuNumBool

Definition:

function  VorgNeuNumBool(cFilter: string=''; lAbweichend: boolean = false): boolean;

Erklärung:


Beispiel:

IstVorgNrGueltig

Definition:

function  IstVorgNrGueltig(cUID: string=''): boolean;

Erklärung:


Beispiel:

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:


Beispiel:

IsPosBerechnung

Definition:

function  IsPosBerechnung(cPosArt: string): boolean;

Erklärung:


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: