Das Automatik-Skript Preislisten dient dazu, die Preise aller Artikel einer Automatik-Preisliste zu bestimmen.
D.h. Das Skript wird für jedem einzelnen Artikel in der Artikelverwaltung und für jede einzelne Automatik-Preisliste aufgerufen. So können Sie z.B. festlegen:
Jeder Artikel mit einem Lagerbestand von > 5 Stück in unserem Lager xyz
bekommt einen Preis in der Automatik-Preisliste abc
der 5% unter dem "normalen" Preis liegt.
Dies ist z.B. dann nützlich, wenn Sie einen Online-Shop oder ähnliches mit Preisen versehen 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 in der Preisliste aufzunehmen.
Sollten Staffelpreise vorliegen, so wird das Skript bei jeder Staffelung erneut aufgerufen um die für diese Staffelung gültigen Preise zu berechnen.
Dieser Parameter wird in der Regel an die aufgerufenen Befehle "durchgereicht"...
Der Preis des Artikels.
Sie **müssen** diesen Wert innerhalb des Skripts setzen.<br>
Die Zuweisung von `NULL` ist dabei erlaubt und bewirkt, dass der Artikel nicht in der Preisliste erscheint.
Der Referenz-Preis des Artikels. Sie können diesen Preis angeben, wenn es sich beim Preis
um einen Sonderpreis handelt. Der Referenz-Preis entspricht dann dem "Normal-Preis".
Sie **müssen** diesen Wert innerhalb des Skripts setzen.<br>
Die Zuweisung von `NULL` ist dabei erlaubt und bewirkt, dass dem Artikel kein Referenzpreis zugewiesen wird.
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
.
Die von Ihnen gesetzten out-Parameter preis
und referenzPreis
wird dem yanis42-System übergeben. Sie bestimmen den Preis bzw. Referenz-Preis des übergebenen Artikels in der jeweiligen Preisliste.
Sollten Sie für den Parameter `preis` den Wert `null` zurück geben, so wird der aktuelle Artikel **nicht in die Preisliste aufgenommen**. So können Sie z.B. verhindern, dass manche Artikel in der Preisliste enthalten sind.<br>
Sollten Sie stattdessen `0` zurück geben, so ist der Artikel in der Preisliste **enthalten** und hat einen Preis von 0.
Damit die **Automatik-Preislisten** berechnet werden können, ist es zwingend notwendig, dass Sie das **yanis42-Modul** [System-Dienste](/yanis42/systemdienste) innerhalb Ihres **yanis42-Systems** installieren.<br>
Für dieses Modul entstehen Ihnen keinerlei Lizenz-Zusatzkosten.