OBS/Makros und Scripting/Developer/Beispiele/UC Positionen: Unterschied zwischen den Versionen

Aus OBS Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „==AU_VORGANG== Visuelle Anzeige im Kopf und bei ClosePositions {{Hinweis|Die Methoden "VORGANG_ZUSATZINFO_START" und "StartProc" müssen vorhanden sein.}} <s…“)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
==AU_VORGANG==
==AU_VORGANG==
Visuelle Anzeige im Kopf und bei ClosePositions
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.}}
{{Hinweis|Die Methoden "VORGANG_ZUSATZINFO_START" und "StartProc" müssen vorhanden sein.}}
Zeile 18: Zeile 21:
==AU_VORGANG_STDOK==
==AU_VORGANG_STDOK==
Die Methoden "BeforeSave" und "AfterSave" werden jeweils vor und nach dem Aufruf der Standard Speicherroutine aufgerufen.
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.<br/>
Mit "BeforeSave" können Werte direkt in UC_Position vor dem Speichern verändert werden.<br/>
Mit "AfterSave" können Werte nach dem Speichern geändert werden.<br/>
Bei zeitnaher Artikelpflege (PMode 526) ist das Material schon angelegt. Hiermit kann z.B. das Material nachträglich verändert werden.<br/>


{{Hinweis|Die Methoden "BeforeSave" und "AfterSave" müssen vorhanden sein.}}
{{Hinweis|Die Methoden "BeforeSave" und "AfterSave" müssen vorhanden sein.}}

Version vom 15. November 2019, 17:41 Uhr


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;