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

Aus OBS Wiki
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
Durch den Prefix "AU" werden diese Scripte nur von Auftragsvorgängen genutzt.<br/>
Durch den Prefix "AU" werden diese Scripte nur von Auftragsvorgängen genutzt.<br/>
"AU" ist der DMS-Typ von Auftrag. Eine Liste mit dem DMS-Typen finden Sie [[OBS/Makros und Scripting/Developer/Sonstiges/DMS Abkürzungen|hier]]. <br/>
"AU" ist der DMS-Typ von Auftrag. Eine Liste mit dem DMS-Typen finden Sie [[OBS/Makros und Scripting/Developer/Sonstiges/DMS Abkürzungen|hier]]. <br/>
Generell können einige andere Vorgänge diese Methoden nutzen, brauchen aber dementsprechend ihren DMS-Typ als Prefix.
Generell können die Vorgänge "Angebot", "Aufträge", Rechnungen", "Einkauf", "Einkauflieferschein", "Bestellung" und "Reparaturauftrag" diese Methoden nutzen, brauchen aber dementsprechend ihren DMS-Typ als Prefix.


==AU_VORGANG==
==AU_VORGANG==

Version vom 19. November 2019, 16:28 Uhr

Durch den Prefix "AU" werden diese Scripte nur von Auftragsvorgängen genutzt.
"AU" ist der DMS-Typ von Auftrag. Eine Liste mit dem DMS-Typen finden Sie hier.
Generell können die Vorgänge "Angebot", "Aufträge", Rechnungen", "Einkauf", "Einkauflieferschein", "Bestellung" und "Reparaturauftrag" diese Methoden nutzen, brauchen aber dementsprechend ihren DMS-Typ als Prefix.

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;