| ... | ... | @@ -86,6 +86,9 @@ Wenn man nun mit der rechten Maustaste ein Maskenfeld öffnet, findet man diese |
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
#### Menge oder Staffel berechnen
|
|
|
|
Anstatt "nur" Feldinhalte zu übernehmen kann hier auch eine Formel hinterlegt werden. Siehe dazu Anhang Maskenfeld-Befehle.
|
|
|
|
|
|
|
|
#### Texte generieren
|
|
|
|
Das Maskenfeld kann nun Bestandteile der zu erzeugenden Gruppe definieren.
|
|
|
|
|
| ... | ... | @@ -101,6 +104,122 @@ Auch eine zu berechnende Position kann erzeugt werden. Dazu wird der Positionsha |
|
|
|

|
|
|
|
|
|
|
|
# Anhänge und tiefere Erläuterungen
|
|
|
|
## Maskenfeld Inhalt mit Formel berechnen
|
|
|
|
Mögliche Schnellmasken-Befehle:
|
|
|
|
|
|
|
|
###HAS {feldname}
|
|
|
|
Inhalt von feldname>0 = 1
|
|
|
|
feldname=0 oder nicht vorhanden = 0
|
|
|
|
|
|
|
|
IF bedingung THEN wertBeiWahr ELSE wertBeiFalsch
|
|
|
|
Beispiel: IF {feldname} > 100 THEN 10 ELSE 5
|
|
|
|
Inhalt von feldname=55 -> Bedingung Falsch = 5
|
|
|
|
Inhalt von feldname=230 -> Bedingung Wahr = 10
|
|
|
|
|
|
|
|
[OFF]
|
|
|
|
Feldinhalt wird nicht durch Formel überschrieben
|
|
|
|
und auch nicht auf 1 oder 0 gesetzt. Das ist sinnvoll,
|
|
|
|
wenn das Feld z.B. durch den Staffel-VK eines
|
|
|
|
anderen Artikelfeldes gesetzt wird.
|
|
|
|
|
|
|
|
CEIL(wert) oder CEIL({feldname})
|
|
|
|
Nächsthöherer ganzzahliger Wert
|
|
|
|
Beispiel: CEIL(10,3) -> 11
|
|
|
|
|
|
|
|
FLOOR(wert)
|
|
|
|
Nächstniedriger ganzzahliger Wert
|
|
|
|
Beispiel: FLOOR(4,9) -> 4
|
|
|
|
|
|
|
|
ROUND(wert)
|
|
|
|
Kfm. gerundeter Wert
|
|
|
|
Beispiele: ROUND(10,4) -> 10 ROUND(10,6) -> 11
|
|
|
|
|
|
|
|
ABS(wert)
|
|
|
|
Wert ohne Vorzeichen, z.B. ABS(-12) -> 12
|
|
|
|
|
|
|
|
wert MOD teiler
|
|
|
|
Divisionsrest, z.B. 12 MOD 3 -> 0 10 MOD 3 -> 1
|
|
|
|
|
|
|
|
Rechenarten:
|
|
|
|
- Minus
|
|
|
|
+ Plus
|
|
|
|
/ Division
|
|
|
|
\ Ganzzahl-Division (quasi FLOOR(wert/teiler))
|
|
|
|
* Multiplikation
|
|
|
|
^ Potenzierung (z.B. 2^8 -> 256)
|
|
|
|
|
|
|
|
|
|
|
|
Diese Befehle sind teilweise kombinierbar, z.B.
|
|
|
|
|
|
|
|
IF ROUND({Quadratmeter je Exemplar}) >10 THEN 1 ELSE 9
|
|
|
|
|
|
|
|
|
|
|
|
SQL-Where-Klausel
|
|
|
|
|
|
|
|
Innerhalb der WHERE-Klausel darf geklammert werden mit ( ), das ist auch verschachtelt möglich.
|
|
|
|
|
|
|
|
Texte müssen entweder in 'einfachen' oder "doppelten" Anführungszeichen stehen.
|
|
|
|
|
|
|
|
Dezimaltrenner ist der Punkt, also z.B. 10.2 (aber nicht in Anführungszeichen)
|
|
|
|
|
|
|
|
Datumswerte werden in Anführung gesetzt, also z.B. "28.05.2008"
|
|
|
|
|
|
|
|
|
|
|
|
Bedingungen:
|
|
|
|
|
|
|
|
feldname = "suchwort" -> ist WAHR, wenn Inhalt GENAU suchwort entspricht
|
|
|
|
|
|
|
|
feldname LIKE "suchwort%" -> ist WAHR, wenn Inhalt mit suchwort beginnt
|
|
|
|
|
|
|
|
feldname LIKE "%suchwort" -> ist WAHR, wenn Inhalt mit sichwort endet
|
|
|
|
|
|
|
|
feldname LIKE "%suchwort%" -> ist WAHR, wenn Inhalt suchwort enthält
|
|
|
|
|
|
|
|
feldname1 > feldname2 (oder auch <, <=, >=)
|
|
|
|
|
|
|
|
|
|
|
|
Befehle (statt feldname):
|
|
|
|
|
|
|
|
IF(bedingung,wertBeiWahr,wertBeiFalsch)
|
|
|
|
Beispiel: IF(matchcode LIKE '%GESAMTLAGER%',1,0)
|
|
|
|
|
|
|
|
NVL(feldname,AlternativWert) -> liefert AlternativWert, wenn Inhalt von Beispiel: feldname noch nie gesetzt wurde, also
|
|
|
|
NVL(gesperrt,$FALSE) absolut leer ist ($NULL)
|
|
|
|
|
|
|
|
$NOW -> heutiges Datum, aktuelle Uhrzeit
|
|
|
|
|
|
|
|
YEAR(datumsfeld), MONTH(datumsfeld), DAY(datumsfeld)
|
|
|
|
|
|
|
|
TOUPPER(textfeld) -> Feldinhalt in Großbuchstaben
|
|
|
|
|
|
|
|
TOLOWER(textfeld) -> Feldinhalt in Kleinbuchstaben
|
|
|
|
|
|
|
|
CEIL(zahlenfeld), FLOOR(zahlenfeld) -> siehe erste Seite
|
|
|
|
|
|
|
|
feldname IN(kommaseparierteWerteListe) -> WAHR, wenn enthalten
|
|
|
|
Beispiel: YEAR(changed) IN (2009,2008,2007)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bedingungen können verknüpft werden mit
|
|
|
|
|
|
|
|
bed1 OR bed2 -> es muss mindestens eine Bedingung wahr sein
|
|
|
|
bed1 AND bed2 -> es müssen beide Bedingungen wahr sein
|
|
|
|
NOT bed -> bedingung darf nicht wahr sein
|
|
|
|
|
|
|
|
|
|
|
|
Beispiel:
|
|
|
|
WHERE matchcode LIKE '%gesamtlager%' AND
|
|
|
|
NVL(gesperrt,$FALSE)= $FALSE AND kurzbezeichnung LIKE 'ColorCopy%' AND NOT kurzbezeichnung LIKE '%bogen%'
|
|
|
|
|
|
|
|
MatchCode enthält "gesamtlager", darf nicht gesperrt sein, der Name beginnt mit "ColorCopy" und der Name darf nich "bogen" enthalten.
|
|
|
|
ColorCopy 100g/qm, 50cm Rolle GESAMTLAGER
|
|
|
|
ColorCopy 90g/qm, 50cm Rolle GESAMTLAGER
|
|
|
|
ColorCopy 120g/qm, 50cm Rolle GESAMTLAGER
|
|
|
|
ColorCopy 160g/qm, 50cm Rolle GESAMTLAGER
|
|
|
|
ColorCopy 200g/qm, 50cm Rolle GESAMTLAGER
|
|
|
|
ColorCopy 250g/qm, 50cm Rolle GESAMTLAGER
|
|
|
|
|
|
|
|
## Maskenfeld füllt anderes Maskenfeld
|
|
|
|
|
|
|
|
DigiCalc Auswahlliste welche anderes Feld mit Feld füllt, alle Werte manuell eingegeben:
|
| ... | ... | |