1

Was besagt dieser Code?

Hallo Leute, 

ich versuche eine Lagerbestandsführung aufzubauen, und stütze mich dabei auf die Skripte aus der Beispiel-Datenbank "Lager & Bestand".

Hier wird nun mit einer Tabelle Lagerbewegungen gearbeitet. Es gibt hier die Felder Menge, Alt und Neu, welche für die Menge der Lagerbewegung (Zugang oder Abgang), den Bestand vor der Bewegung und den neuen Bestand nach der Bewegung stehen.

Nun ist im Feld Menge ein Skript nach Änderung enthalten, welches wie folgt aussieht:

 Nun habe ich Probleme, den eingerahmten Teil zu verstehen. Buchungsart 2 steht für Abgang. 

Daher lese ich das wie folgt, gesetzt es geht um einen Abgang:

- zunächst erhält die Menge ein negatives Vorzeichen (Zeile 5)
- Wenn diese Menge (als positiver Wert) größer ist als der Bestand in Alt, dann wird die Menge geändert auf den Wert der in Alt steht, aber mit negativem Vorzeichen.

Ich frage mich, welchen Sinn das machen sollte?

Kann mir hier jemand weiterhelfen, was diese Zeilen bewirken? 

Danke
 

6 Antworten

null
    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Wenn eine Menge aus dem Lager entnommen werden soll, die größer ist als der Bestand (Alt), wird die Größe der zu entnehmenden Menge auf die vorhandenen Bestand verringert, damit der Wert 'Neu' nicht negativ wird. Leider hat man diese Prüfung im Trigger des Auswahlfeldes versäumt  und der neue Bestand kann ins negative rutschen. Man sollte das selbe Script auch in den Änderungstrigger des Feldes Buchungsart kopieren.

      • Arwin_Dustdar.1
      • vor 1 Jahr
      • Gemeldet - anzeigen

       ach so, haha. Da stand ich aber ganz schön auf dem Schlauch. Das ist ja sogar sinnvoll. 
       

      Abgesehen von dem von dir erwähnten Änderungstrigger sollte man sich auch eine Meldung dazwischen bauen

      „Abgangsmenge auf maximale Verfügbarkeit reduziert“

      sonst merkt man eventuell gar nicht, dass die Bewegung abweichend von der eigentlichen Absicht erfolgt.

      Danke für deinen Kommentar.

    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Das Gute an den Vorlagen ist, dass man sie für sich anpassen kann und nach eigenem Ermessen erweitern. Das Problem mit einer Meldung wird nicht mit einer alert() oder dialog() Meldung umsetzbar sein. Diese können im Webbrowser nicht per Trigger ausgelöst werden. Da helfen meist Funktionsfelder in Verbindung mit einem versteckten Ja/Nein-Feld, welches über den Trigger geschaltet wird und eine farblich markante Meldung einblenden kann.

      • Arwin_Dustdar.1
      • vor 1 Jahr
      • Gemeldet - anzeigen

       oder, so hatte ich gedacht die Alert-Meldung einfach in den markierten Code, die if Schleife. Ich dachte bislang das script wartet bis der Alert bestätigt wird?

      Wenn ja, würde das doch gehen..

    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Wie schon geschrieben: alert() und dialog() funktionieren im Webbrowser nicht  im Trigger. Diese müssen aktiv ausgelöst werden als Teil eines Scripts in einem Button oder Funktionsfeld OnClick.

    • Arwin_Dustdar.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Ah ok, da hatte ich dich falsch verstanden. Ich habe die Alerts bisher auch tatsächlich erst in Buttons verwendet. Thx