Automatik-Skript Preislisten

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.

Skript

Die Parameter des Skripts

zaehler

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.

anzahl

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"...

preis

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.

referenzPreis

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.

y42Artikel

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.

Im Skript zur Verfügung stehende Befehle

Neben den "normalen" C#-Befehlen stehen Ihnen folgende weitere Befehle zur Verfügung:

Log(string text)

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.

decimal? LagerBestand(lagerId)

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.

decimal? Preis(preisListenId, anzahl)

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.

decimal? ReferenzPreis(preisListenId, anzahl)

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.

decimal? Rabatt(preisListenId, anzahl)

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 Rückgabe des Skripts

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.