You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

L

$IncDate([Datum][,+Tage][,+Monate]) 

Dadurch können zu einem Datum sowohl Tage als auch Monate addiert werden. 

Beachten Sie: 

"Tage" darf auch Null und negativ sein (negative Werte werden in Abzug gebracht) 

"Monate" darf auch Null und negativ sein (negative Werte werden in Abzug gebracht) 

Wird nur IncDate([Datum]) angegeben, so wird genau ein Tag zum Datum addiert.

$Calc()

Mit der Funktion $Calc() können Sie die verschiedensten Berechnungen durchführen. 

$CALC(<Formel>,<Formatanweisung>,<Nachkommastellen>,<Dezimal Seperator>,<Tausender Seperator>) 

Es ergeben ich folgenden mögliche Werte: 

<Formel>: String Ausdruck von Werten die Berechnet werden +-*/ Punkt vor Strich 

<Formatanweisung>: ohne Angabe: Betrag ansonsten Menge, Gewicht, Format 

<Nachkommastellen>: Anzahl, wie viele Nachkommastellen verwendet werden, maximal 9 

<Dezimal Seperator>: nur wirksam bei Formatanweisung Format. Hier wird der Dezimal Separator angegeben. (Ein Zeichen) 

<Tausender Seperator>: nur wirksam bei Formatanweisung Format. Hier wird der Tausender Seperator angegeben. (ein Zeichen) 

Wird der Parameter Format ohne den Parameter <Tausender Seperator> verwendet, erfolgt die Ausgabe ohne Tausender Trennzeichen. 

Beispiele: 

$Calc(«Vsd.Gew»*3,'',0) 

In diesem Beispiel wird das im Versanddatensatz angegebene Gewicht mit der Zahl 3 multipliziert. Das Ergebnis wird kaufmännisch gerundet und ohne Nachkommastellen dargestellt. 

Freie Formatierung ohne Tausender Seperator: 

$CALC(«Variable»+1.55,Format,4,') = 1234'1234 

Freie Formatierung mit Tausender Seperator: 

$CALC(«Variable»+1.55,Format,5,',",") = 1,234'12345 

Bitte beachten Sie im letzten Bsp ist der letzte Parameter ein , (Komma) womit es eigentlich einen weiteren Parameter darstellen würde. Um dennoch ein , (Komma) als Parameter übergeben zu können, wurde das , (Komma) durch zwei " separiert ",". 

Mit dieser Funktion können in Feldzuweisungen Zahlenwerte berechnet werden, wobei die vier Grundrechenarten (addieren, subtrahieren, multiplizieren, dividieren) verwendet werden können. (siehe auch Beispiel "Berechnen des Einzelgewichtes einer Vorgangsposition" im Kapitel: Regeln mit der Auswertungsposition "Vor dem Speichern (nach einer Neuanlage, Änderung oder beim Import)"

M

$Mid (string, start, anzahl) 

In "string" werden ab "start" "anzahl" Zeichen zurückgegeben. 

Beispiel: 

$Mid(testen, 2, 3) 

Man erhält: est 

In "Testen" werden ab der 2. Position 3 Zeichen ausgegeben. 

L

Wie kann man in einer Artikelbezeichnung Text ersetzen? 

Funktionsaufbau: $Replace(Text,Suchtext,Ersetzungstext) 

In den Regeln kann mit dieser Funktion ein Wert in einem Feld ersetzt werden. 

Beispiel

In der Artikelbezeichnung soll der Wert "Auskünfte" gegen "Rückfragen oder eine Beratung" ersetzt werden. 

In der Regel für Artikel ist die Auswertungsposition "Suchen und Ersetzen" auszuwählen. Es sollte noch eine Bedingung hinterlegt werden, dass es nur die Artikel betrifft, welche in der Artikelbezeichnung 1 den Wert "Auskünfte" haben. Diese Formel könnte z.B. lauten: 

Pos('Auskünfte',ToText(«Art.Bez1»)) >0 

Anschließend ist eine Anweisung zu erstellen, welche das Feld "Bezeichnung1" enthält. 

In der Art der Feldzuweisung wird "Feldwert über Formel füllen" eingestellt. 

Als Vorgabewert wird folgende Formel hinterlegt: 

$Replace(«Art.Bez1»,Auskünfte,Rückfragen oder eine Beratung) 

Beachten Sie: Die Formatierung im Artikel-Text kann nicht beibehalten werden. 

M

Wie kann in einer Feldzuweisung mit einem Datum gerechnet werden? 

$IncDate(Datum,Wert) 

Es werden zum Datum die bei "Wert" angegebenen Tage addiert. 

Beispiel: 

Mit $IncDate(«Vsd.Dat»,2) werden auf das Versanddatum 2 Tage addiert. 

Wie kann in einem Vorgang ein frühester und spätester Liefertermin angegeben werden? 

In einer Vorgangsposition wird bei einem Artikel ein Lieferdatum hinterlegt. Da sich das Lieferdatum in einem Zeitraum von plus/minus einem Monat bewegt, wird hierfür ein Selektionsfeld für den frühesten Termin und ein Selektionsfeld für den spätesten Termin angelegt. Über eine Regel mit Feldzuweisung für Vorgangspositionen wird dieses Datum mittels folgenden Formeln ermittelt: 

Formel für den frühesten Termin: $IncDate(«VPo.LiefDat», ,-1) 

Formel für den spätesten Termin: $IncDate(«VPo.LiefDat», , 1) 

Wie kann man die Informationen aus den Selektionen des Ansprechpartners in die Positionen des Vorgangs übergeben? 

Möchte man mit der Regel-Erweiterung "Feldänderung während der Vorgangserfassung" (NE-1081) in ein Positionsselektionsfeld (Selektion 1) den Inhalt eines Selektionsfeldes (auch Selektion 1) aus dem Ansprechpartner der Rechnungsanschrift des Vorgangs eintragen lassen, so kann dies beispielsweise mit folgender Formel realisiert werden: 

$DBInfo(Ansprechpartner,IX;AdrNrAnsNrNa;3,«Vog.AdrNr»,«Vog.AnsNr»,«Vog.Re.Asp.Ansp»,Sel1) 

Beachten Sie: 

  • Es wird ein abweichender Index übergeben.
  • Der Name des Ansprechpartners muss eindeutig sein.

L

Soll eine $DBInfo-Formel in einer $IF-Abfrage mit einem String verglichen werden, muss die $DBInfo-Formel zwischen Hochkomma stehen.

Beispiel: 

Der Inhalt eines Vertreter-Selektionsfeldes soll abgefragt und mit einem Text verglichen werden: 

$if('$DBInfo(Vertreter,«Vog.VtrNr»,Sel1)' = 'bis 50% Rabatt' ,«VPo.ProvSz»,'')

XL

Wie lassen sich Reaktionszeiten in Abhängigkeit zu den Öffnungszeiten einer Firma berechnen?

$IncWhour

Über die Funktion: $incWhour lässt sich die Zeit bestimmen, bis wann eine Reaktion in Abhängigkeit von Arbeitszeit und Feiertagen zu erwarten ist.

Es können auch Float-Werte ("Fließkommawerte") angegeben werden, dabei gilt die Einheit Stunden. Entsprechend gilt 0,5 für eine halbe Stunde (= 30 Minuten).

Beispielaufbau der Werte:

  • Der erste Wert gibt den Tag an (unter Beachtung von Feiertage und Wochenende)
    • So  bedeutet "0.4" z. B. "plus 4 Stunden", bei einer Stunde Pause dazwischen, entsprechend "plus 5 Stunden". Fällt das Ende eines Arbeitstages in diese Zeit, so wird entsprechend im nächsten Tag weiter gerechnet
  • Der zweite  Wert gibt die Stunden an (unter Beachtung der Pausenzeiten)
    • Ein Wert von "1.4" steht für "morgen (ein Tag)" plus die 4 Stunden. Dies trifft natürlich nur zu, wenn am heutigen und morgigen Tag gearbeitet wird. Feierabend, Feiertage, Wochenende oder Pausenzeiten verschieben entsprechend diese Zeiten.
$incWhour($getaktdate(,time),1.4)


Beispiel: Auf die aktuelle Zeit sollen drei Stunden Arbeitszeit aufaddiert werden.

Die Formel ist folgendermaßen aufzubauen: Angabe der zu addierenden drei Stunden ("3"):

$incWhour($getaktdate(,time),3)

Die Formel kann auch folgendermaßen aufgebaut sein: Angabe, dass kein Tag addiert wird ("0"), aber drei Stunden  ("0.3"):

$incWhour($getaktdate(,time),0.3)

Die Formel kann auch folgendermaßen aufgebaut sein: Angabe, dass 4 Tage addiert werden ("4"), und zwei Stunden  ("0.2"):

$incWhour($getaktdate(,time),4.2)
  • Die Arbeitszeitberechnung erfolgt auf Grundlage der Öffnungs- und Arbeitszeiten unter: PARAMETER - SONSTIGE - ÖFFNUNGS & -ARBEITSZEITEN - Register: ARBEITSZEITEN.
  • Zusätzlich werden auch die Feiertage aus dem Kalender berücksichtigt. Die Feiertage werden unter: PARAMETER - KALENDER - FEIERTAGE hinterlegt.


Die oben gezeigte Formel lässt sich z. B. über die Funktion $Calc erweitern, um zusätzlich Eingrenzungen zu erreichen, z. B. $incWhour($getaktdate(,time),$calc(7/0.5)).

Info:

Weitere Informationen zur Funktion $Calc erhalten Sie unter: Allgemein (Beispiel-Formeln)) sowie am Anfang dieser Seite.

Weitere Informationen zur Fuktion $getaktdate erhalten Sie unter: Funktionen im Feldeditor (Regeln).

  • No labels