Variablen des Objekts "Invoicing"

 

Variablen sind Eingabe- bzw. Rechenfelder in der Belegerfassung. Hier können Werte entweder manuell eingegeben oder Rechenergebnisse durchgeführt und zwischengespeichert werden. Des Weiteren kann das Programmverhalten über diverse Invoicing-Objekte beeinflusst werden.

Achtung

Einige Invoicing-Objekte sind (in den meisten Fällen) nicht optional, d.h. es wird im Formeltext nach deren Vorkommen geschaut (auch im auskommentierten Bereich beim Laden von bestehenden Belegen) und entsprechend verfahren. Folgende Objekte sind davon betroffen:

 

ü  RefreshValues

ü  CalcTotal

ü  DifferentTotal

ü  KeepPriceOnDeliveryChange

ü  MainProductEntry

ü  ExtensionSaved

ü  FormulaOnChange

ü  FormulaInMacro

 

 

Ø  Weight

Gewicht, wird im Artikelstamm im Fenster "TEXT" eingetragen

 

Ø  Volume

Variable "Raumgewicht" aus dem Text-Fenster des Artikelstammes

 

Ø  Packaging

Variable "Verpackung" aus dem Text-Fenster des Artikelstammes

 

Ø  StorageLocation

Variable "Lagerort" aus dem Text-Fenster des Artikelstammes

 

Ø  CostOfGoods

Allg. EK-Preis - aus dem Preise-Fenster des Artikelstammes

 

Ø  CostOfGoodsSold

Aktueller Einstandspreis aus dem Artikelstamm

 

Ø  InventoryLevel

Lagerstand aus dem Artikelstamm

 

Ø  SalesUnit

Verpackungseinheit aus dem Artikelstamm (Colli) (Fenster Preise)

 

Ø  LotSize

Losgröße aus dem Artikelstamm (Fenster Lager)

 

Ø  SalesPrice1 bis 8

Sofern im Artikel Preislisten mit der Nummer 1 bis Nummer 8 angelegt wurden, werden die allg. Preislistenpreise dieser Preislisten in die Variablen VK1 bis VK8 kopiert, damit auf diese Preise in der Formel zugegriffen werden kann.

 

Ø  Quantity

Eingabefeld in der Belegerfassung. Die Zahl der Nachkommastellen ist abhängig von der Artikelgruppe. Das Feld Menge wird zur Errechnung des Feldes Gesamt benötigt. Ist der Wert im Feld Menge 0, unterbleibt die standardmäßige Berechnung des Feldes Gesamt (Gesamt = Menge * Preis - Zeilenrabatte). In diesem Fall ist in der Formel für die Beschickung des Feldes Gesamt zu sorgen.

 

Ø  Price

Eingabefeld für den Einzelpreis in der Belegerfassung. Wird der Preis nicht durch die Formel beschickt, kommt die Standardpreisautomatik zum Tragen. Je nach Organisation werden Netto-/Bruttopreise, Preislisten, individuelle Preise abgearbeitet.

 

Ø  Total

Gesamtpreis der Artikelzeile im Belegerfassen

Achtung

Wenn der Gesamtwert in der Zeile über eine Formel errechnet werden soll, muss entweder die Menge oder der Einzelpreis in der Formel auf ="0" gesetzt werden, da sonst am Ende wieder die im Programm vorhandene Automatik "Menge * Preis = Gesamt" greift und die Berechnung der Formel übersteuert.

 

Ø  Discount1 / Discount2

Zeilenrabatt 1 und 2 in der Belegzeile. Wird üblicherweise über die Rabattmatrix oder / und die Preislisten gesteuert. Kann durch die Formel beschickt werden. Wird das Feld nicht durch die Formel beschickt, kommt die Standardberechnung zum Tragen, das Feld wird dann in Abhängigkeit von Kunden/Artikelrelation, Mengenstaffeln, individuellen Vereinbarungen (Beleg Preise) beschickt.

 

Ø  Factor1 bis 3

Frei verwendbare und andruckbare Speichervariablen in der Belegzeile (z.B. um das Fassungsvermögen eines Kanisters einzugeben, in der Formel mit der verkauften Menge zu multiplizieren und diese Werte im Beleg neben dem Preis pro Flüssigkeitseinheit auch andrucken zu können). Diese Speichervars gelten nur innerhalb jeweils einer Belegzeile.

Hinweis

Weitere Informationen und Hinweise können dem Kapitel Wann werden die Faktoren bzw. Speicher gefüllt und gelöscht? entnommen werden

 

Ø  PackagingMatTotal

Summe der Packstoffarten, die aufgrund der in den Artikeln hinterlegten Collis und der darin gespeicherten Packstoffarten mit dem dazugehörigen Lizenzentgelt im Beleg automatisch aufgerechnet wird und damit im Beleg für den Andruck oder die Weiterberechnung zur Verfügung steht.

 

Ø  DeliveryCosts

Bezugskosten - können entweder über den Prozentsatz in der Artikelgruppe oder über die Betragsvorgabe im Artikel-Lager-Tab oder auch einfach nur manuell in der Belegzeile vorgegeben werden.

 

Ø  Commisioncode

Provisionscode in der Belegzeile. Üblicherweise wird der Provisionscode aus dem Artikelstamm (Fenster Preise) oder über die Preislisten in der Belegzeile gesteuert.

 

Ø  CalcTotal

Wenn diese Funktion aufgerufen wird, wird der Gesamtwert immer aus Menge * Preis - Rabatt errechnet, auch wenn der Preis oder die Menge 0 sind.

 

Ø  RefreshValues

Wenn diese Funktion aufgerufen wird, wird beim Ändern der Menge die Zeilenformel automatisch und nicht erst nach Druck der F9-Taste angestoßen.

 

Ø  DifferentTotal

Wenn diese Funktion aufgerufen wird, wird der Gesamtwert nie aus Menge * Preis - Rabatt errechnet, sondern muss in der Formel belegt werden.

Hinweis

Die Funktion muss am Ende der Formel stehen!

 

Ø  PriceFromFormula

Wenn diese Funktion in der Formel vorhanden ist, dann wird bei einer Änderung von Menge 0 auf Menge <> 0 keine Preisfindung durchgeführt.

 

Ø  KeepPriceOnDeliveryChange

Wurde in der Belegart (Register "Ausdruck") im Bereich "Preisliste - Datum" die Einstellung "1 - Lieferdatum" hinterlegt, so wird automatisch bei Änderung des Lieferdatums in der Belegzeile eine neue Preisfindung durchgeführt. Ist dieses nicht gewünscht so kann dieses mit einer Zeilenformel und der Funktion "KeepPriceOnDeliveryChange" unterbunden werden.

 

Ø  ExtensionSaved

Durch diese Funktion wird die Zeilenformel auch beim Hauptartikel ausgeführt, wenn der Button "Ok" im Ausprägungsfenster gedrückt wird.

Hinweis

Die Funktion "ExtensionSaved" ist nicht "optional", d.h. wenn irgendwo in der Formel die Funktion vorhanden ist (es wird auch der auskommentierte Bereich beim Laden von bestehenden Belegen kontrolliert), dann wird entsprechend verfahren. Eine Hinterlegung innerhalb einer "If / Then"-Anweisung wird somit nicht unterstützt. Des Weiteren sind die Mengenvariablen des Hauptartikels an sich zu diesem Zeitpunkt (Button "Ok" im Ausprägungsfenster) noch nicht gesetzt, können aber über die Variablen Value (0,212) für Menge1 und Value (0,256) für Menge2 abgefragt (nicht gesetzt!) werden.

 

Ø  MainProductEntry

Wenn diese Funktion in der Formel vorhanden ist, so wird die Zeilenformel bereits beim Öffnen des Ausprägungsfensters für den Hauptartikel ausgeführt.

Hinweis

Die Funktion "ExtensionSaved" ist nicht "optional", d.h. wenn irgendwo in der Formel die Funktion vorhanden ist (es wird auch der auskommentierte Bereich beim Laden von bestehenden Belegen kontrolliert), dann wird entsprechend verfahren. Eine Hinterlegung innerhalb einer "If / Then"-Anweisung wird somit nicht unterstützt.

 

Ø  FormulaOnChange

Mit Hilfe der Funktion "FormulaOnChange" ist es möglich eine Zeilenformel beim Ändern des Wertes einer Spalte erneut auszuführen. Dafür wird die Funktion "FormulaOnChange(x)" für jede benötigte Spalte in die Formel einzeln eingefügt. Der Parameter "x" steht hierbei für die physikalische Spalte aus der Belegmitte (T026).

Hinweis 1

Die Funktion "FormulaOnChange" ist nicht "optional" verwendbar. D. h. eine Hinterlegung z. B. innerhalb einer "If /Then"-Anweisung wird somit nicht unterstützt, denn egal in welchem Bereich der Formel der Funktionsaufruf stattfindet, wird diese ausgeführt. Der Funktionsaufruf darf zudem nicht auskommentiert werden, da er sonst beim Laden eines bestehenden Beleges trotzdem verwendet wird.

Hinweis 2

Für die Batcherfassung von Belegen wird FormulaOnChange nicht unterstützt. Der Formelaufruf kann über einen mesonic.ini-Eintrag gesteuert werden.

Beispiel

In der Formel wird am Anfang Invoicing.RefreshValues eingefügt und in der mesonic.ini-Datei wird folgender Eintrag hinzugefügt:

 

[RefreshValues]

Var007=1

Var021=1

Var022=1

 

Dieser Eintrag bewirkt, dass die Zeilenformel immer beim Verlassen/Bestätigen des Feldes Einzelpreis (C007), Rabatt 1 (C021) und Rabatt 2 (C022) ausgeführt wird.

 

Ø  FormulaInMacro

Wird ein Artikel per Makro-Funktion in die Belegerfassung eingefügt, so wird seine Zeilenformel immer nur 1x ausgeführt (nach dem Einfügen des Artikels, noch vor dem Setzen der Menge). Hierbei ist es irrelevant, ob mit den Funktionen "RefreshValues" und / oder "FormulaOnChange" gearbeitet wird.

Sollte die Ausführung der Zeilenformel auch nach dem Setzen der Menge benötigt werden, so muss die Funktion "FormularInMacro" hinterlegt werden. Zusätzlich muss eine der folgenden Funktionen ebenfalls enthalten ein:

 

ü  RefreshValues

ü  FormulaOnChange (5) => bei Angeboten und Aufträgen

ü  FormulaOnChange (6) => bei Lieferscheinen und Rechnungen

Beispiel

In der Belegerfassung wird der Typ "2 - Makro" gewählt oder ein Artikel erfasst, in welchem lt. Stammdaten ein Makro hinterlegt ist. Mit Hilfe der Funktion wird die Zeilenformel nach dem Einfügen des bzw. der Artikel ausgeführt und auch, wenn sich bei den Artikeln eine Mengenänderung ergibt.

 

Ø  Sonstige Vars

Auf alle anderen Variablen kann mit der Funktion Value (Syntax "Value (0,151)") bzw. NumValue (Syntax "NumValue(0,97)") zugegriffen werden.

Hinweis

Viele Programmvariablen (0,xxx) können gelesen und geschrieben werden. Ausnahme hiervon wäre z.B. "Interne Zeilennummer", welche von der WinLine immer selbst vergeben wird.

Beispiel

Quantity = Value (0,192)

Value (0,151) = "1"

 

Alle anderen Variablen, z.B. Value (21,201) können nur gelesen werden.

 

Ø  CompanyConstant(1) - (10)

Hier kann auf die 10 Firmenkonstanten zugegriffen werden, welche im Programm "Firmenkonstante" (WinLine START - Parameter - Firmenkonstante) hinterlegt werden können.

 

Ø  Storage(1) bis Storage(100)

Diese Speicher können mittels Formeln befüllt und zu späteren Zeitpunkten wieder abgeholt werden.

Achtung

Die Speicher1 bis Speicher10 werden immer pro Belegzeile initialisiert, wodurch die Verwendung in einer Zeilenformel in der Regel ausscheidet. Weitere Informationen und Hinweise können dem Kapitel Wann werden die Faktoren bzw. Speicher gefüllt und gelöscht? entnommen werden.

 

 

Operatoren

Operatoren dienen der Verknüpfung und dem Vergleich von Variablen und Konstanten.

 

Ø  Grundrechnungsarten

Zu den Grundrechnungsarten zählen folgende Operatoren:

 

ü  +

ü  -

ü  /

ü  *

Hinweis

Die Regel Punktrechnung vor Strichrechnung kommt nicht zur Anwendung. Die Operatoren werden in der Reihenfolge abgearbeitet. Die Änderung der Reihenfolge muss durch Klammerung erfolgen.

 

Ø  Logische Operatoren

Folgende logische Vergleichsoperatoren stehen zur Verfügung:

 

ü  < (kleiner)

ü  <= (kleiner gleich)

ü  > (größer)

ü  >= (größer gleich)

ü  = (ist gleich)

ü  <> (ungleich)