Frequently Asked Question
Beispiel 1:
Der Wert im Feld "Document_Date" darf nicht mehr als ein Jahr in der Zukunft bzw. Vergangenheit liegen.
Today.AddYears(1).Greater(Document_Date) Today.AddYears(-1).Less(Document_Date)
Beispiel 2:
Datum im Feld Document_Date darf nicht älter als 14 Tage sein.
Today.SubtractDays(14).Less(Document_Date)
Beispiel 3:
Fälligkeitsdatum(Due_Date) muss größer als das Belegdatum(Document_Date) sein.
Due_Date.Greater(Document_Date)
Beispiel 4:
"Mindestens ein Häkchen muss gesetzt sein" in den Feldern der Gruppe Ärzte.
Not(And(And(Equals(AerzteMittel,False),Equals(AerzteSchlecht,False)),And(Equals(AerzteSehrGut,False),Equals(AerzteGut,False))))
Beispiel 5:
"Es dürfen keine zwei Häkchen gesetzt sein" in den Feldern der Gruppe Ärzte
Not(And(Equals(AerzteSehrGut,True),Equals(AerzteGut,True))) Not(And(Equals(AerzteSehrGut,True),Equals(AerzteMittel,True))) Not(And(Equals(AerzteSehrGut,True),Equals(AerzteSchlecht,True))) Not(And(Equals(AerzteGut,True),Equals(AerzteMittel,True))) Not(And(Equals(AerzteGut,True),Equals(AerzteSchlecht,True))) Not(And(Equals(AerzteMittel,True),Equals(AerzteSchlecht,True)))
Beispiel 6:
Der innerhalb der Regel berechnete Brutto-Betrag (Multiply(NettoBetrag,Add(1,MwSt-Satz))) muss mit dem Wert aus dem Feld "BruttoBetrag" übereinstimmen.
Der letzte Parameter (0.01) der Equals-Funktion gibt eine Toleranz an. Das ist hier nötig, weil es keine klassische Rundungsfunktion gibt.
In diesem Beispiel darf der errechnete Wert (NettoBetrag x 1,19) um 0,01 (d.h. um einen Cent) vom BruttoBetrag abweichen.
Equals(Multiply(NettoBetrag,Add(1,MwSt-Satz)),BruttoBetrag,0.01)
Beispiel 7:
Hier wird das Ergebnis, ob Netto*MwSt=Brutto ergibt (True/False) der Checkbox BruttoKorrekt zugewiesen.
BruttoKorrekt=Equals(Multiply(BetragExklMwSt,Add(1,MwstSatz_String)),BetragInklMwSt,0.01
Beispiel 8:
Eines von zwei Feldern muss gefüllt sein.
Entweder muss in Feld_A ein Wert stehen oder in Feld_B. Beide zusammen dürfen nicht leer sein.
Not(And(IsNull(Feld_A),IsNull(Feld_B)))
Beispiel 9:
Übernahme eines Wertes von einem Kopfdatenfeld in Positionsdatenfelder, wenn Positionsdatenfelder leer sind.
Hier wird die Bestellnummer von den Kopf- in die Positionsdaten übernommen, wenn bei den Positionsdaten keine Bestellnummer vorhanden ist.
PosBestellnummer=If(Or(Equals(PosBestellnummer,""),IsNull(PosBestellnummer)),Bestellnummer,PosBestellnummer)
Beispiel 10:
Betragsfeld soll immer positiv sein.
Hier wird geprüft, ob der Wert im Feld Betrag kleiner 0 ist. Wenn ja wird der Wert mit -1 multipliziert.
Betrag=If(Betrag.Less(0),Betrag.Multiply(-1),Betrag)
Beispiel 11:
Buchgstext soll mit dem Wort "Rechnung" und einem anderen Feldinhalt (hier Firmenname) gefüllt werden.
Buchungstext = Concat("Rechnung ",Firmenname)