Häufig gestellte Frage

Beispiele für Validierungs- oder Feldzuweisungsregeln
Zuletzt aktualisiert vor 2 Jahren

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)


Bitte warten!

Bitte warten... es dauert eine Sekunde!