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