Das Automatik-Skript Lager dient dazu, den Lagerbestand aller Artikel eines Automatik-Lagers zu bestimmen.
D.h. Das Skript wird für jedem einzelnen Artikel in der Artikelverwaltung und für jedes einzelne Automatik-Lager aufgerufen. So können Sie z.B. festlegen:
Wenn der Artikel einen VK über 5,-- Euro besitzt und einen Lagerbestand von > 5 Stück in unserem Lager xyz
besitzt, dann erscheint dieser Artikel im Automatik-Lager abc
.
Dies ist z.B. dann nützlich, wenn Sie einen Online-Shop oder ähnliches mit Artikeln füllen möchten.
Diese Variable beginnt bei 1 und wird bei jeder weiteren zu berechenden Artikel um 1 erhöht.
Die können diese Variable verwenden um z.B. zu Testzwecken nur einen Artikel im Lager aufzunehmen.
Das Objekt y42Artikel
repräsentiert den Artikel-Datensatz, wie er sich aktuell innerhalb des Systems befindet. Es wird "rein zur Information" an das Skript übergeben.
Den Aufbau des Objekts entnehmen Sie bitte folgenden link.
Neben den "normalen" C#-Befehlen stehen Ihnen folgende weitere Befehle zur Verfügung:
Schreibt den übergebenen Text in den Log. Sollte am Ende des Vorgangs mindestens ein Zeichen im Log stehen, erhalten die Empfänger des Monitorings eine Meldung vom yanis42-System. In dieser Nachricht steht dann der Log.
Liefert den Bestand des Artikels innerhalb des übergebenen Lagers. Also z.B.
// Den Bestand des Artikels aus Lager mit der Id=7 übernehmen
var bestand = LagerBestand(7);
Die Id des Lagers wird Ihnen im Bearbeitungs-Dialog der Lager-Verwaltung angezeigt.
Liefert den Preis des Artikels innerhalb der übergebenen Preisliste (mit der übergebenen Anzahl).
Also z.B.
// Den Preis des Artikels aus der Preisliste mit der Id=1 übernehmen
var preis = Preis(1);
Die Id der Preisliste wird Ihnen im Bearbeitungs-Dialog der Preislisten-Verwaltung angezeigt.
Die Anzahl entspricht der Anzahl, für die dieser (Staffel-)Preis Gültigkeit besitzt. Dort übergeben Sie in der Regel den Inhalt der "übergeordneten" Variablen anzahl
- oder Sie lassen den Wert weg, dann ist der Wert = 1.
Liefert den Referenz-Preis des Artikels innerhalb der übergebenen Preisliste mit der übergebenen Anzahl.
Also z.B.
// Den Referenz-Preis des Artikels aus der Preisliste mit der Id=1 übernehmen
var referenzPreis = ReferenzPreis(1);
Die Id der Preisliste wird Ihnen im Bearbeitungs-Dialog der Preislisten-Verwaltung angezeigt.
Die Anzahl entspricht der Anzahl, für die dieser (Staffel-)Preis Gültigkeit besitzt. Dort übergeben Sie in der Regel den Inhalt der "übergeordneten" Variablen anzahl
- oder Sie lassen den Wert weg, dann ist der Wert = 1.
Liefert den Rabatt des Artikels innerhalb der übergebenen Preisliste mit der übergebenen Anzahl.
Also z.B.
// Den Rabatt des Artikels aus der Preisliste mit der Id=1 übernehmen
var preis = preis - Rabatt(1,1);
Die Id der Preisliste wird Ihnen im Bearbeitungs-Dialog der Preislisten-Verwaltung angezeigt.
Die Anzahl entspricht der Anzahl, für die dieser (Staffel-)Preis Gültigkeit besitzt. Dort übergeben Sie in der Regel den Inhalt der "übergeordneten" Variablen anzahl
.
Liefert die Anzahl der Artikel zurück, für die noch eine Bestellung vorliegt, die noch nicht im Lager der Warenwirtschaft verarbeitet wurde.
Also z.B.
// Die noch nicht bearbeiteten Bestände abziehen
var bestand = bestand - OffeneBestellungen();
Vergessen Sie bitte **niemals** die offenen Bestellungen vom Bestand Ihren Warenwirtschafts-Lagers abzuziehen.
Dies wird sonst dazu führen, dass Sie **nicht mehr verfügbare** Artikel verkaufen.
Der von Ihnen berechnete Parameter bestand
wird dem yanis42-System übergeben. Er bestimmt den Bestand des übergebenen Artikels im jeweiligen Lager.
Sollten Sie `null` zurück geben, so wird der aktuelle Datensatz **nicht in das Lager aufgenommen**. So können Sie z.B. verhindern, dass manche Artikel im Lager enthalten sind.<br>
Sollten Sie stattdessen `0` zurück geben, so ist der Artikel im Lager **enthalten** und hat einen Bestand von 0.<br>
Dies stellt z.B. dann einen Unterschied dar, wenn es sich bei dem berechneten Lager um einen Online-Shop handelt. Artikel mit einem Bestand von 0 sind dort z.B. enthalten (und damit auch sichtbar), können aber z.B. nicht bestellt werden. Artikel **ohne Bestand** hingegen erscheinen nicht im Shop.
Damit die **Automatik-Lager** berechnet werden können, ist es zwingend notwendig, dass das **yanis42-Modul** [System-Dienste](/yanis42/systemdienste) innerhalb Ihres **yanis42-Systems** installiert wurde.<br>
Dies übernimmt die Installation des [yanis42 Grundsystems](/yanis42/yanis42-grundsystem) für Sie.