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

Compare with Current View Page History

« Previous Version 15 Next »

Inhalt

Folgende Funktionen können in den Exporten ins Textformat genutzt werden:

 
$COND bzw. $IF

Mit der Funktionen $COND bzw. $IF können Sie sich auf einfache Weise selbst eine WENN - DANN - SONST Bedingung gestalten: 

WENN <erstes Argument> DANN <zweites Argument> SONST <drittes Argument>. 

$Cond(Bedingung,Rückgabe wenn Bedingung wahr[,Rückgabe wenn Bedingung falsch]) 

$If(Bedingung,Rückgabe wenn Bedingung wahr[,Rückgabe wenn Bedingung falsch]) 

Hinweis: 

Die ersten beiden Parameter sind Pflicht. Der dritte ist optional. 

Ein Text muss zum Vergleichen mit einem Feld in einfache Anführungszeichen eingeschlossen werden ( '123' ). 

Als Bedingung sind einfache mathematische Ausdrücke erlaubt: 

= , <>, >, >=, <, <=, Klammersetzung, 

and, or, not, is null, 

Beispiel 1: 

$Cond(«VPA.AuftrNr»='123',Auftragsnummer ist 123,«VPA.AuftrNr») 

Lautet die Auftragsnummer 123, dann wird der Text "Auftragsnummer ist 123" exportiert, andernfalls wird die Auftragsnummer exportiert. 

Hinweis: 

Parameter die ein Komma, eine schließende Klammer oder ein Anführungszeichen enthalten, müssen in Anführungszeichen eingeschlossen werden. Eventuell enthaltene Anführungszeichen müssen verdoppelt werden. 

Beispiel 2: 

Um beispielsweise zu überprüfen, ob das Feld Artikelbezeichnung 1 (Art.Bez1) den Inhalt << Version ("2,x") COM >> enthält, kann folgender Ausdruck verwendet werden: 

$Cond(«Art.Bez1»=' Version (""2,x"") COM','Ja','Nein') 

Dabei wird der Inhalt Version ("2,x") COM absolut gesucht. Wird der Inhalt gefunden, erfolgt die Ausgabe "Ja", ansonsten "Nein".

Weitere Funktionen:

$BetToWaehr(Betrag,Iso-Bezeichner von Währung1,Iso-Bezeichner nach Währung2)

"betrag“ (Variable oder Zahl) wird von Währung 1 in Währung 2 umgerechnet 

Beispiel: $BetToWaehr(100,EUR,DEM) gibt 195,58 zurück oder 

$BetToWaehr(«Art.Vk0.Preis»,LW1,LW2) 

Der Wert der Variable «Art.Vk0.Preis» wird von der Leitwährung 1 in Leitwährung 2 umgerechnet.

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

$Center(string,anzahl,fillchar)

der "string" wird zentriert auf die Länge "anzahl" mit dem Füllzeichen "fillchar" aufgefüllt. Wenn das Füllzeichen nicht angegeben ist, wird ein Leerzeichen verwendet. 

Beispiel: $Center("muster", 10, "*") "**muster**" zurück

$DBFieldIsNull(Datenbankfeld)

Mit der Funktion "$DBFieldIsNull(Datenbankfeld) = ['','FALSE'] wird das Feld abgefragt, ist dieses leer wird " " zurückgegeben, aus diesem Grund sollte immer der positive Fall abgefragt werden.

$DBInfo(Name der Datentabelle,Schlüsselwert[e],Zielfeldname)

Mit Hilfe der DB-Info-Formeln kann ein Wert aus einer Datentabelle unter Verwendung eines Primärindex abgefragt werden. Es soll beispielsweise die Auftragsnummer des Vorgangs beim Export der Versanddaten im Versandmodul mit ausgegeben werden. Diese steht als Variable im Versandmodul nicht zur Verfügung. 

Lösung: Hier muss die Formel 

$DBInfo(Vorgang,«Vsd.BelegNr»,AuftrNr) 

in das Export-Layout eingetragen werden. 

Erläuterung zum Aufbau der Formel: 

$DBInfo(Name der Datentabelle,Schlüsselwert[e],Zielfeldname) 

Name der Datentabelle: Name der Datentabelle, aus der ein Wert abgefragt werden soll. 

Schlüsselwert[e]: kann beliebigen Typs sein. Sollte jedoch zum 1. Feld des Primärindex der abzufragenden Tabelle passen. 

Zielfeldname: Optionaler Name des Feldes, dessen Wert zurück geliefert werden soll. Falls dieser Parameter ausgelassen wird, wird dieselbe Zeichenfolge zurückgegeben mit der der Datensatz z. B. beim Löschen bezeichnet wird. 

$DeleteChar(delstring,string)

in "string" werden Einzelzeichen von "delstring" gelöscht 

Beispiel: $DeleteChar(".,", "123.456,78") gibt "12345678" zurück $Delete(delstring, string) in "string" wird "delstring" gelöscht 

Beispiel: $Delete("123","123.456,78") gibt ".456,78" zurück

$FormatDateTime(<Format-Zeichenkette>,<Datumsvariable>)

Mit der Formel $FormatDateTime(<Format-Zeichenkette>,<Datumsvariable>) kann innerhalb eines Exportes oder einer Tabellenansicht das Datum in verschiedenen Formaten ausgegeben werden. 

FormatDateTime formatiert ein Datum. Dabei wird die im ersten Teil angegebene Zeichenkette zur Umformatierung verwendet.

Informationen über die unterstützten Formatmöglichkeiten:

Zeigt das Datum in dem in Windows angegebenen Format an. Dahinter wird die Uhrzeit dargestellt. Die Uhrzeit erscheint nicht, wenn der Datums-/Zeitwert exakt Mitternacht ergibt. 

Zeigt den Tag als Zahl ohne führende Null an (1-31). dd Zeigt den Tag als Zahl mit führender Null an (01-31). 

ddd 

Zeigt den Wochentag als Abkürzung (Son-Sam) an. dddd Zeigt den ausgeschriebenen Wochentag (Sonntag-Samstag) an. 

ddddd 

Zeigt das Datum in dem in Windows hinterlegten Kurzen Datumsformat an. dddddd Zeigt das Datum in dem in Windows hinterlegten Langen Datumsformat an. 

Zeigt die Kalenderwoche an (1-52). m Zeigt den Monat als Zahl ohne führende Null an (1-12). Wenn auf den Bezeichner m unmittelbar der Bezeichner h oder hh folgt, werden an Stelle des Monats die Minuten angezeigt. 

Zeigt den Monat als Zahl ohne führende Null an (1-12). Wenn auf den Bezeichner m unmittelbar der Bezeichner h oder hh folgt, werden an Stelle des Monats die Minuten angezeigt. 

mm 

Zeigt den Monat als Zahl mit führender Null an (01-12). Wenn auf den Bezeichner mm unmittelbar der Bezeichner h oder hh folgt, werden an Stelle des Monats die Minuten angezeigt. mmm Zeigt den Monatsnamen als Abkürzung (Jan-Dez) an. 

mmmm 

Zeigt den ausgeschriebenen Monatsnamen (Januar-Dezember) an. yy Zeigt das Jahr als zweistellige Zahl an (00-99). 

yyyy 

Zeigt das Jahr als vierstellige Zahl an (0000-9999). 

Zeigt die Stunde ohne führende Null an (0-23). 

hh 

Zeigt die Stunde mit führender Null an (00-23). 

Zeigt die Minute ohne führende Null an (0-59). 

nn 

Zeigt die Minute mit führender Null an (00-59). 

Zeigt die Sekunde ohne führende Null an (0-59). 

ss 

Zeigt die Sekunde mit führender Null an (00-59). 

Zeigt die Uhrzeit in dem in Windows angegebenen Format an. 

tt\ 

Zeigt die Uhrzeit in einem langen Zeitformat an. am/pm Verwendet die 12-Stunden-Zeitanzeige für den vorhergehenden Bezeichner h oder hh und zeigt alle Stunden vor Mittag mit dem String 'am' und alle Stunden nach Mittag mit dem String 'pm' an. Der Bezeichner am/pm kann in Großbuchstaben, in Kleinbuchstaben oder in gemischter Schreibweise eingegeben werden. Die Ausgabe wird entsprechend angepasst. 

a/p 

Verwendet die 12-Stunden-Zeitanzeige für den vorhergehenden Bezeichner h oder hh und zeigt alle Stunden vor Mittag mit dem Zeichen 'a' und alle Stunden nach Mittag mit dem Zeichen 'p' an. Der Bezeichner a/p kann in Großbuchstaben, in Kleinbuchstaben oder in gemischter Schreibweise eingegeben werden. Die Ausgabe wird entsprechend angepasst. ampm Verwendet die 12-Stunden-Zeitanzeige für den vorhergehenden Bezeichner h oder hh und zeigt alle Stunden vor Mittag mit dem String aus der in Windows hinterlegten Formatierung an. 

Zeigt als Datumstrennzeichen das in Windows angegebene Zeichen an. : Zeigt als Uhrzeittrennzeichen das in Windows angegebene Zeichen an. 

'xx'/"xx" 

Zeichen, die in einfache oder doppelte Anführungszeichen 

Im Export der Vorgangspositionen kann dann folgende Formel hinterlegt werden, um die Kalenderwoche aus dem Lieferdatum der einzelnen Positionen auszugeben: 

$FormatDateTime(w,«VPo.LiefDat»)

$GetAktBzr()

Mit dieser Funktion wird das Benutzerkürzel des aktuellen Benutzers ausgegeben.

$GetAktDate()

Mit dieser Funktion wird das aktuelle Programmdatum ausgegeben.

L

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

Durch diese Formel 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.


XL

$DiffDate([vonDatum],[bisDatum])

DiffDate ermittelt die Anzahl der Tage zwischen zwei Daten.

M

$Left(string,anzahl,fillchar)

der "string" wird linksbündig auf die Länge "anzahl" mit dem Füllzeichen "fillchar" aufgefüllt 

Beispiel: $Left("test", 5, 0) "test0" zurück 

$Left("test", 3, 0) gibt "tes" zurück


XL

$Length()

Gibt die Zeilenlänge zurück.

Beispiel: Selektion1 enthält: Ich bin ein Test!

Die Funktion "$length(Sel1)" liefert den Wert 17 zurück.


M

$Mid(string,start,anzahl)

in "string" werden ab "start" "anzahl" Zeichen zurückgeliefert 

Beispiel: $Mid(testen, 2, 3) gibt "est" zurück
$Right(string,anzahl,fillchar)

der "string" wird rechtsbündig auf die Länge "anzahl" mit dem Füllzeichen "fillchar" aufgefüllt 

Beispiel: $Right("test",5,0) "0test" zurück

$NurHausNr()

Bei einem Aufruf $NurHausNr() wird nur die Hausnummer zurückgegeben.

$NurStrasse()

Bei einem Aufruf $NurStrasse() wird nur die Strasse zurückgegeben.

$NurOrt()

Bei einem Aufruf $NurOrt(Bad Kreuznach ORTSTEIL Winzenheim') wird 'Bad Kreuznach' zurückgegeben. Die Groß-/Kleinschreibung wird beim Text "ORTSTEIL" nicht beachtet.

$NurOrtsteil()

Bei einem Aufruf $NurOrtsteil(Bad Kreuznach ORTSTEIL Winzenheim') wird 'Winzenheim' zurückgegeben. Die Groß-/Kleinschreibung wird beim Text "ORTSTEIL" nicht beachtet.

L

$ToDate()

Mit dieser Funktion kann ein String-Feld in ein Datumsformat gewandelt werden.

$Pos([Suchstring],[Text])

Die Funktion Pos() steht für Regeln, Filter und Exporte, Importe sowie für die Bearbeitung von E-Mail-Layouts zur Verfügung. 

Der Rückgabewert der Funktion zeigt die erste Stelle im Suchstring an, an dem der Suchbegriff beginnt. 

Beispiel: 

  • $Pos(aa,bbb) bedeutet: es wird im Text "bbb" nach "aa" gesucht; das Ergebnis = '' (leer), weil im Text nichts gefunden wurde
  • $Pos(c,abc) bedeutet: es wird im Text "abc" nach "c" gesucht; das Ergebnis = 3, weil das "c" im Text an 3. Stelle steht

In verschiedenen Konstellationen kann es dazu kommen, dass die Funktion keinen Rückgabewert liefert. In diesen Fällen ist eine Variante der Funktion zu verwenden, die einen Vorgabewert beinhaltet: 

$Pos(gesuchter Text,Variable,optionaler Vorgabewert)

$Replace(Text,Suchtext,Ersetzungstext)

Funktionsaufbau: $Replace(Text,Suchtext,Ersetzungstext) 

Mit dieser Funktion kann beim Export in eine Textdatei ein Zeichen ersetzt werden. 

Beispiel 1: 

Sie möchten alle Artikel mit Artikel-Bezeichnungen exportieren. In der Artikelbezeichnung soll jedoch die Bezeichnung "Einfarbig" durch "Unifarben" ersetzt werden. Beim Export muss für die Artikelbezeichnung 1 daher folgende Formel hinterlegt werden: 

$Replace(«Art.Bez1»,Einfarbig,Unifarben) 

Beispiel 2: 

Beim Export der Artikel sollen in der Artikelkurzbezeichnung enthaltene Kommas durch ein x ersetzt werden. 

$Replace("«Art.KuBez1»",",",x) 

Beachten Sie: Text und Suchtext müssen in Anführungszeichen angegeben werden.

XL

$Hash(String-Variable)

Mit der Funktion $Hash(String-Variable) wird ein MD5-Hashwert aufgrund des String-Wertes erzeugt. 

Beispiel

Es soll für die Projektnummer ein MD5-Hashwert erstellt werden, welcher dann in einer E-Mail (aus der Datenbank Kontakte) als Link an einen Kunden gesendet wird. Der Link darf nicht im Klartext lesbar sein. 

Muster-Syntax: http://www.ihre-webseite.de/umfrage.php?id=PLATZHALTER-HASH [^] 

Den Syntax $Hash(«Kkt.PrjNr») platzieren Sie an der Stelle von PLATZHALTER-HASH. 

Daraus ergibt sich: http://www.ihre-webseite.de/umfrage.php?id=$Hash(«Kkt.PrjNr») 

Bei der Ausgabe / dem Export ist an dieser Stelle dann der HASH-Wert zu dem Rückgabewert der Variable «Kkt.PrjNr» zu finden.

Beachten Sie:

Klammern in Strings (Texten) müssen in doppelten Anführungszeichen eingeschlossen werden. Beispiel: $Cond(«OPo.ZahlBed»='per Lastschrifteinzug "("mtl. Zahlweise")"', [...] Erklärung: Da im Datensatz des Offenen Posten in den Zahlungsbedingungen der Ausdruck 'per Lastschrifteinzug (mtl. Zahlweise)' hinterlegt ist, würden die beiden Klammern in der Cond-Bedingung dazu führen, dass diese im String ausgewertet würden. Daher müssen die Klammern () mit doppelten Anführungszeichen "(" sowie ")" auskommentiert werden.

Nachfolgende Exportfunktionen werden häufig beim Datenaustausch mit einem Online-Shop oder mit anderen Datenbanken sowie für das Erstellen einer Hyperlink-Regel verwendet. 

L

UrlEncode() 

Die Funktion URL-Encoding (auch Prozentkodierung genannt) kodiert alle Zeichen außerhalb von ASCII in das URL-Format. Die Kodierung findet unter Verwendung bestimmter Zeichen des ASCII-Zeichensatzes statt. Ohne diese Kodierung wären einige Informationen nicht in einer URL darstellbar. Beispielsweise muss das Leerzeichen in einer URL durch eine andere Zeichenfolge übergeben werden, da ein Browser sonst das Leerzeichen als Ende der URL interpretieren würde. In microtech büro+ wird z. B. als reserviertes Zeichen ein Plus ("+") für das Leerzeichen verwendet. Weitere Informationen finden Sie auch in nachfolgendem Wikipedia-Artikel: https://www.wikiwand.com/de/URL-Encoding (Externer Link).

D

Beachten Sie:

In microtech büro+ ist bei der Nutzung des URL-Encoding eine Besonderheit zu beachten:

  1. Die Funktion erwartet als ersten Parameter den umzuwandelnden String
  2. Als zweiter Parameter können Flags angegeben werden. Bei mehreren Parametern sind diese durch Pipes zu trennen: "|" - dabei sind die Reihenfolge sowie Groß-/Kleinschreibung nicht von Belang

Das Pipe-Zeichen erzeugen Sie durch diese Tastenkombination:

Mögliche Flags sind:

Es gilt:

RFC3986 entscheidet darüber, welche Zeichen gewandelt werden. NoUTF8 entscheidet über das Format.


Beispiel-Aufruf, in welchem NoUTF8 und RFC3986 Anwendung finden:

$UrlEncode("John's $m@rt*Software",RFC3986|NoUTF8)

In den Anführungszeichen der Funktion stehen die für die im URL-Encoding verwendeten Zeichen. Nach dem Kommazeichen folgen die Flags.

AnsiToUtf8() 

Diese Funktion kodiert alle Zeichen von ANSI nach UTF8 

Beispiele: 

aus Jürgen Müller wird im URL-Format: J%FCrgen+M%FCller 

aus Jürgen Müller wird im UTF8-Format: Jürgen%20Müller 

Beispiel für eine Hyperlink-Regel für die Google-Suche nach einem Ansprechpartner-Datensatz mit Vorname und Name: 

http://www.google.de/search?q=$UrlEncode(«Asp.VNa» «Asp.NNa») 

Dadurch wird folgende Seite aufgerufen: 

http://www.google.de/search?q=J%FCrgen+M%FCller

  • No labels