OBS/Makros und Scripting/Developer/Beispiele/UC Positionen

Aus OBS Wiki
Zur Navigation springen Zur Suche springen


AU_VORGANG

Die Methode "VORGANG_ZUSATZINFO_START" gibt einen Headertext für die Positionserfassung zurück. Die Methode "StartProc" ist für Nachträgliche Datenänderungen nach Abschluss eines Vorganges.

HINWEIS: Die Methoden "VORGANG_ZUSATZINFO_START" und "StartProc" müssen vorhanden sein.
function VORGANG_ZUSATZINFO_START(cVorgang:String):String;
begin
    Result := ''; //'Result:='+cVorgang;
end;

function StartProc(cVorgang:String):String;
begin
    Result := ''; //'Result:='+cVorgang;
end;

AU_VORGANG_STDOK

Die Methoden "BeforeSave" und "AfterSave" werden jeweils vor und nach dem Aufruf der Standard Speicherroutine aufgerufen.

Beispiel: Diese Methode kann verwendet werden, um Materialien nach dem Speichern der Positionen zu verändern.

Mit "BeforeSave" können Werte direkt in UC_Position vor dem Speichern verändert werden.

Mit "AfterSave" können Werte nach dem Speichern geändert werden.
Bei zeitnaher Artikelpflege (PMode 526) ist das Material schon angelegt. Hiermit kann z.B. das Material nachträglich verändert werden.

HINWEIS: Die Methoden "BeforeSave" und "AfterSave" müssen vorhanden sein.
function _Boolean(lVal:Boolean):String;
begin
    Result := iif(lVal,'True','False');
end;

function _SaveMode(Val:TSaveMode):String;
begin
    if          (Val = DB_INSERT) then begin
        Result := 'INSERT';
    end else if (Val = DB_UPDATE) then begin
        Result := 'UPDATE';
    end else begin
        Result := 'NOCHANGE';
    end;
end;
        
procedure _ShowValues(cVorgang:String; oPos:TPosValue);
begin
    DebugLine('Vorgang   :' + cVorgang                     );
    DebugLine('Artikel-Nr:' + oPos.POS_ARTNR               );
    DebugLine('SHOW      :' + _Boolean(oPos.POS_SHOW)      );    
    
    //TSaveMode      = (DB_INSERT, DB_UPDATE, DB_NOCHANGE);
    
    DebugLine('UPDATE    :' + _SaveMode(oPos.POS_UPDATE)   );
    DebugLine('SYS_UID   :' + oPos.POS_SYS_UID             );
    DebugLine('TSORT     :' + oPos.POS_TSORT               );
    DebugLine('NR        :' + oPos.POS_NR                  );
    DebugLine('KNR       :' + oPos.POS_KNR                 );
    DebugLine('POSNR     :' + oPos.POS_POSNR               );
    DebugLine('POSNR2    :' + oPos.POS_POSNR2              );
    DebugLine('POSKAS    :' + oPos.POS_POSKAS              );
    DebugLine('POSLFD    :' + oPos.POS_POSLFD              );
    
    (*               
    TPosType  = (ShowStd,
                 ShowMemo,
                 ShowEmpty,
                 ShowZwSum,
                 ShowTitSum,
                 ShowEndSum,
                 ShowTitel,
                 ShowAngTitel,
                 ShowGewerk,
                 ShowHeader,
                 ShowFooter,
                 ShowFootAbschl,
                 ShowFF,
                 EditStd,
                 EditMemo,
                 EditAngTitel,
                 EditGewerk,
                 ShowNewPage,
                 EditTitSum,
                 ShowBmp,
                 EditBmp,
                 EditZWSum,
                 ShowScriptResult,
                 Undefined)
    *)                 
    
    DebugLine('TYP       :' + IntToStr(oPos.POS_TYP)       );
    DebugLine('ARTNR     :' + oPos.POS_ARTNR               );
    DebugLine('ARTNR_SHOW:' + oPos.POS_ARTNR_SHOW          );
    DebugLine('LNR       :' + oPos.POS_LNR                 );
    DebugLine('MEMORTF   :' + oPos.POS_MEMO                );
    DebugLine('MEMOANSI  :' + oPos.POS_MEMOANSI            );
    DebugLine('MEMODRUCK :' + oPos.POS_MEMODRUCK           );
    DebugLine('BEZ1      :' + oPos.POS_BEZ1                );
    DebugLine('BEZ2      :' + oPos.POS_BEZ2                );
    DebugLine('MENGE     :' + axStr(oPos.POS_MENGE)        );
    DebugLine('URMENGE   :' + axStr(oPos.POS_URMENGE)      );
    DebugLine('EINHEIT   :' + oPos.POS_EINHEIT             );
    DebugLine('EINHNAME  :' + oPos.POS_EINHNAME            );
    DebugLine('MENGEIN   :' + axStr(oPos.POS_MENGEIN)      );
    DebugLine('MENGEINFAK:' + axStr(oPos.POS_MENGEINFAK)   );
    DebugLine('_EPREIS   :' + axStr(oPos.fPOS_EPREIS)      );
    DebugLine('_BEPREIS  :' + axStr(oPos.fPOS_BEPREIS)     );
    DebugLine('_BGPREIS  :' + axStr(oPos.fPOS_BGPREIS)     );
    DebugLine('_EKPREIS  :' + axStr(oPos.fPOS_EKPREIS)     );
    DebugLine('URPREIS   :' + axStr(oPos.POS_URPREIS)      );
    DebugLine('URPREISEK :' + axStr(oPos.POS_URPREISEK)    );
    DebugLine('MANPREIS  :' + oPos.POS_MANPREIS            );
    
    DebugLine('_GPREIS   :' + axStr(oPos.fPOS_GPREIS)      );
    DebugLine('GRABATT   :' + axStr(oPos.POS_GRABATT)      );
    DebugLine('RABATT    :' + axStr(oPos.POS_RABATT)       );
    DebugLine('RABART1   :' + oPos.POS_RABART1             );
    DebugLine('RABATT1   :' + axStr(oPos.POS_RABATT1)      );
    DebugLine('RABART2   :' + oPos.POS_RABART2             );
    DebugLine('RABATT2   :' + axStr(oPos.POS_RABATT2)      );
    DebugLine('RABART3   :' + oPos.POS_RABART3             );
    DebugLine('RABATT3   :' + axStr(oPos.POS_RABATT3)      );
    DebugLine('RABART4   :' + oPos.POS_RABART4             );
    DebugLine('RABATT4   :' + axStr(oPos.POS_RABATT4)      );
    DebugLine('RABART5   :' + oPos.POS_RABART5             );
    DebugLine('RABATT5   :' + axStr(oPos.POS_RABATT5)      );
    DebugLine('ADDSUB    :' + axStr(oPos.POS_ADDSUB)       );
    
    DebugLine('_MWSTSCH  :' + oPos.fPOS_MWSTSCH            );
    DebugLine('_MWSTSATZ :' + axStr(oPos.fPOS_MWSTSATZ)    );
    DebugLine('KONTO     :' + oPos.POS_KONTO               );
    DebugLine('LAGNR     :' + oPos.POS_LAGNR               );
    DebugLine('LAGONR    :' + oPos.POS_LAGONR              );
    DebugLine('SKFJN     :' + oPos.POS_SKFJN               );
    DebugLine('BILDUID   :' + oPos.POS_BILDUID             );
    
    DebugLine('AUSDRUCKJN:' + oPos.POS_AUSDRUCKJN );
    DebugLine('VERK      :' + oPos.POS_VERK                );
    DebugLine('STATUS    :' + oPos.POS_STATUS              );
    DebugLine('ANGNR     :' + oPos.POS_ANGNR               );
    DebugLine('COLNR     :' + IntToStr(oPos.POS_COLNR)     );
    DebugLine('UID       :' + oPos.POS_UID                 );
    DebugLine('MUID      :' + oPos.POS_MUID                );
    DebugLine('MENGEG    :' + axStr(oPos.POS_MENGEG)       );
    DebugLine('VERPACK   :' + oPos.POS_VERPACK             );
    DebugLine('KOLLI     :' + axStr(oPos.POS_KOLLI)        );
    DebugLine('INHALT    :' + axStr(oPos.POS_INHALT)       );
    DebugLine('EKSPREIS  :' + axStr(oPos.POS_EKSPREIS)     );
    DebugLine('OBPREIS   :' + axStr(oPos.POS_OBPREIS)      );
    
    DebugLine('AUFNR     :' + oPos.POS_AUFNR               );
    DebugLine('LIENR     :' + oPos.POS_LIENR               );
    DebugLine('XUID1     :' + oPos.POS_XUID1               );
    DebugLine('XUID2     :' + oPos.POS_XUID2               );
    DebugLine('XUID3     :' + oPos.POS_XUID3               );
    DebugLine('XUID4     :' + oPos.POS_XUID4               );
    DebugLine('PROV      :' + axStr(oPos.POS_PROV)         );
    DebugLine('LIEFKZ    :' + IntToStr(oPos.POS_LIEFKZ)    );
    DebugLine('KOSTST    :' + oPos.POS_KOSTST              );
    DebugLine('PRODGR    :' + oPos.POS_PRODGR              );
    DebugLine('FRACHTV   :' + axStr(oPos.POS_FRACHTV)      );
    DebugLine('MATEUID   :' + oPos.POS_MATEUID             );
    DebugLine('EILIUID   :' + oPos.POS_EILIUID             );
    
    DebugLine('BESTUID   :' + oPos.POS_BESTUID             );
    DebugLine('BESTNR    :' + oPos.POS_BESTNR              );
    DebugLine('POSTEXT   :' + oPos.POS_POSTEXT             );
    DebugLine('POSZUSATZ :' + oPos.POS_POSZUSATZ           );
    DebugLine('DIFFPREIS :' + axStr(oPos.POS_DIFFPREIS)    );
    DebugLine('LPROJNR   :' + oPos.POS_LPROJNR             );
    DebugLine('LSNR      :' + oPos.POS_LSNR                );
    DebugLine('LSDAT     :' + DToC(oPos.POS_LSDAT)         );
    DebugLine('EKHERKUNFT:' + oPos.POS_EKHERKUNFT          );
    DebugLine('POSART    :' + IntToStr(oPos.POS_POSART)    );
    DebugLine('URLAND    :' + oPos.POS_URLAND              );
    DebugLine('AUFSCHLAG :' + IntToStr(oPos.POS_AUFSCHLAG) );
    DebugLine('AUFSCHUID :' + oPos.POS_AUFSCHUID           );
    DebugLine('LIEFNR    :' + oPos.POS_LIEFNR              );
    DebugLine('LAGSTRECK :' + oPos.POS_LAGSTRECK           );
    DebugLine('MBANZAHL  :' + axStr(oPos.POS_MBANZAHL)     );
    DebugLine('MBEZMENGE :' + axStr(oPos.POS_MBEZMENGE)    );
    DebugLine('MBGEWICHT :' + axStr(oPos.POS_MBGEWICHT)    );
    DebugLine('MBGGEWICHT:' + axStr(oPos.POS_MBGGEWICHT)   );
    DebugLine('MBILAENGE :' + axStr(oPos.POS_MBILAENGE)    );
    DebugLine('MBSLAENGE :' + axStr(oPos.POS_MBSLAENGE)    );
    DebugLine('MBIBREITE :' + axStr(oPos.POS_MBIBREITE)    );
    DebugLine('MBSBREITE :' + axStr(oPos.POS_MBSBREITE)    );
    DebugLine('MBIHOEHE  :' + axStr(oPos.POS_MBIHOEHE)     );
    DebugLine('MBSHOEHE  :' + axStr(oPos.POS_MBSHOEHE)     );
    DebugLine('MBKZMENGE :' + oPos.POS_MBKZMENGE           );
    DebugLine('MBUID     :' + oPos.POS_MBUID               );
    DebugLine('RVUID     :' + oPos.POS_RVUID               );
    DebugLine('MBSYS_UID :' + oPos.POS_MBSYS_UID           );
    
    DebugLine('VPCALCMENG:' + axStr(oPos.POS_VPCALCMENGE)  );
    DebugLine('VPANZAHL1 :' + axStr(oPos.POS_VPANZAHL1)    );
    DebugLine('VPANZAHL2 :' + axStr(oPos.POS_VPANZAHL2)    );
    DebugLine('VPANZAHL3 :' + axStr(oPos.POS_VPANZAHL3)    );
    DebugLine('VPANZAHL4 :' + axStr(oPos.POS_VPANZAHL4)    );
    DebugLine('VPLFD1    :' + oPos.POS_VPLFD1              );
    DebugLine('VPLFD2    :' + oPos.POS_VPLFD2              );
    DebugLine('VPLFD3    :' + oPos.POS_VPLFD3              );
    DebugLine('VPLFD4    :' + oPos.POS_VPLFD4              );
    DebugLine('VPUID     :' + oPos.POS_VPUID               );
    DebugLine('VPSYS_UID :' + oPos.POS_VPSYS_UID           );
    DebugLine('IsInfo    :' + IntToStr(oPos.POS_IsInfo)    );

    DebugLine('KOMMENT   :' + oPos.POS_KOMMENT             );
    DebugLine('ERWARTIKEL:' + oPos.POS_ERWARTIKEL          );
    DebugLine('ERWARTIKEL:' + oPos.POS_ERWARTIKEL          );
    
    DebugLine('MWSTSATZ  :' + axStr(oPos.POS_MWSTSATZ)     );
    DebugLine('MWSTSCH   :' + oPos.POS_MWSTSCH             );
    
    DebugLine('EPREIS    :' + axStr(oPos.POS_EPREIS)       );
    DebugLine('EKPREIS   :' + axStr(oPos.POS_EKPREIS)      );
    DebugLine('BEPREIS   :' + axStr(oPos.POS_BEPREIS)      );
    DebugLine('BGPREIS   :' + axStr(oPos.POS_BGPREIS)      );
    DebugLine('GPREIS    :' + axStr(oPos.POS_GPREIS)       );
    
    DebugLine('--------------------------------------');
end;

procedure BeforeSave(cVorgang:String; oPos:TPosValue);
begin
    //DebugLine('BeforSave');
    //_ShowValues(cVorgang, oPos);
end;

procedure AfterSave(cVorgang:String; oPos:TPosValue);
begin
    //DebugLine('BeforSave');
    //_ShowValues(cVorgang, oPos);
end;