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.
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. 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.
Liefert den Referenz-Preis des Artikels innerhalb der übergebenen Preisliste. 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 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.