Zyklischer Artikel Detail

Die nachfolgende Beschreibungen gelten für ZAA wie auch ZAR. Die ZAA gelangen beim Auftragslauf zum Einsatz und die ZAR beim Rechnungslauf. Es wird auf spezifische Unterschiede hingewiesen.

Wählen Sie die Leistung und dann den Artikel aus, welcher im definierten Zyklus verrechnet werden soll. Zur Auswahl stehen alle nicht sendungsbezogenen Leistungen / Artikel.
Zur Berechnung des Zyklus wird ein Programm-Code hinterlegt.
Hat ein Kunde ein Mengen-Script für einen Zyklischen Artikel (ZAA) definiert, wird bei jedem Auftragslauf der Programm-Code dieses zyklischen Artikels gestartet. Gibt der Programm-Code den Wert fExecute = TRUE zurück, wird eine Auftragsposition mit dem entsprechenden zyklischen Artikel und der definierten Menge (Mengen-Script) angelegt. (dasselbe gilt für ZAR beim Rechnungslauf)

Es können aber auch andere Parameter der Auftrags- bzw. Rechnungsposition verändert werden wie, dblMenge, dblRabatt, curPreis, strArtikelBez, strLeistungBez, strBem, strUnit sowie dtAuftrag.

Wird bereits im Zyklus-Script die Menge bestimmt (dblMenge <> 0) wird das Mengen-Script nicht mehr aufgerufen, sondern direkt die Auftragsposition mit der entsprechenden Menge angelegt.

Ein hier definierter zyklischer Artikel kommt nur zum Einsatz, wenn er einem Kunden/Kostenstelle zugewiesen wurde. (Mengen-Script)

Achtung:

Werden unter zyklische Artikel für Aufträge solche für Rechnungen erfasst, führt das meist dazu, dass das Script fehlschlägt, da der Parameter lRechnungID nicht definiert ist.

Einstellung abhängig von der Rechnungsendsumme (ZAR)

Ist der zyklische Artikel abhängig von der Endsumme der Rechnung, so soll dieses Flag gesetzt werden. Nötigenfalls wird die Endsumme der Rechnung nochmals berechnet bevor der ZAR ausgeführt wird.

Script

Diese Funktion ist sehr mächtig und flexibel, benötigt jedoch etwas technisches Verständnis. Wenn Sie Programm-Code erstellen wollen, bitten wir Sie, unseren Support zu kontaktieren. Die Support-Adressen ist unten aufgeführt.

Wird ein Script erfasst, das Fehlerhaft ist, kann dieses nicht gespeichert werden und es er-scheint eine Fehlermeldung. Wird diese Fehlermeldung nicht angezeigt, kann im Datalogger die Fehlerbeschreibung nachgesehen werden.

Folgende Variablen dürfen für das Script verwendet werden:

fExecute Resultat (Vergleichswert)
lCalculateALDelay Tatsächlich berechnete Delay
dtLastAuftrag Datum der zuletzt erzeugten zyklischen Auftragsposition für den entsprechenden Kunden/Kostenstelle
dtAuftrag Datum des zu erstellenden zyklischen Auftrages
dtCurrent Aktuelles Datum
lKKSID Kunde/Kostenstelle ID
lArtikelID Artikel ID des zyklischen Artikels
dblRabatt Rabatt für Auftragsposition
curPreis Preis für Auftragsposition
strArtikelBez Artikelbezeichnung für die Auftragsposition
strLeistungBez Leistungsbezeichnung für die Auftragsposition
strBem Bemerkung zur Auftragsposition
strUnit Einheit für Auftragsposition
strDBConnection Datenbank Verbindung
lALDelay Verzögerung des Auftragslaufes
lATagSwitchHour Umschaltzeit (Stunde) eines Auftrag Tages
lATagSwitchMinute Umschaltzeit (Minute) eines Auftrag Tages
dtNextAL Zeitpunkt an dem der Auftragslauf ausgeführt wird
fEndeMonat Ist TRUE wenn der letzte Tag des Monats verrechnet wird
fEndeWoche Ist TRUE, wenn der letzte Tag der Woche verrechnet wird
lZyklischerArtikelID Zyklischer Artikel ID
lRechnungID Rechnung ID (nur für ZAR)

 

Script testen

Um das Script zu testen besteht die Möglichkeit verschiedene Eingabeparameter zu setzen. Dies sind folgende:

Aktuelles Datum:    dtCurrent
Letzte Verrechnung:   dtLastAuftrag
Nächster Auftragslauf: dtNextAL (Wenn nicht ausgewählt wird dieser aus der Datenbank gelesen; Custfield 1012, dtNextAuftragslauf)
Auftragslauf Verzögerung berücksichtigen Wird das Häkchen „Auftragslauf-Verzögerung berücksichtigen“ nicht gesetzt, wird das Script für den Auftragstag = Nächster Auftragslauf - 1 Tag ausgeführt. Mit dieser Funktion kann eine eingestellte Auftragslauf-Verzögerung ignoriert und damit Tests für jeden Kalendertag ausgeführt werden. Dies ist insbesondere hilfreich für zyklische Artikel, die „nur“ monatlich ausgeführt werden sollen, wenn z.B. der letzte Tag des Monates auf ein Wochenende fällt und kein Auftragslauf ausgeführt würde.
Kunden/Kost. UPOC: lKKSID wird aufgrund des UPOCs bestimmt
RechnungID lRechnungID (nur für ZAR)

 

Parameterliste

Der Benutzer kann hier neue Parameter für das Script erfassen. Wichtig: Wenn Parameter im Script verwendet werden, müssen diese unbedingt zuerst definiert werden, da sonst diese Parameterdefinitionen noch nicht existieren und somit das Script fehlschlägt.



CodX Software CodX Software AG
Sinserstrasse 47
6330 Cham
Switzerland
Support
http://support.codx.ch
CxSpickel