Werte von Felder (im speziellen Datumsfelder) einschränken

acam_gruber

Member
Wir haben aktuell das Problem, dass Aufgaben angelegt werden/wurden, bei welchen das End-Datum vor dem Start-Datum liegt.

Wie ist es möglich, diese Abfrage (ob Start vor Ende bzw. Ende nach Start) zu kontrollieren?

Danke, noch einen schönen Tag
 

Alexis Kälin

Administrator
Teammitglied
Hallo Michael

Ja, das Thema kennen wir uns ist eigentlich auch so von der CAS Software gewünscht. Hier die Antwort, welche wir in der Vergangenheit zu dem Thema erhalten haben:

-->
Auf den ersten Blick ein ungewohntes Verhalten, doch korrekt.

Das Ende-Datum bei Aufgaben ist ein Fälligkeitsdatum, bis wann eine Aufgabe gelöst sein sollte, das Start-Datum gibt an, wann die Aufgabe wirklich begonnen ist. D. h. darüber wird/kann berechnet werden, wie lange oder auch welche Aufgaben überfällig waren bzw. sind und entsprechend danach filtern.

Nun könnte man eine Prüfung bei Neuanlage solcher Aufgaben einbauen (Web-Client), dies würde dann aber verhindern, dass man solche Aufgaben noch nachträglich anlegen kann, um z. B. Transparenz oder Nachvollziehbarkeit zu gewährleisten.

=> Aktuell keine Verhaltensänderung im Standard angedacht.

<--

Im Desktop gäbe es nur über das SDK die Möglichkeit, dies wirklich abzufangen / zu unterdrücken. Über die Bordmittel (Formdesigner) könntest du dir einen Abschnitt dynamisch einblenden lassen (auch farblich eingefärbt), wo den Benutzer auf die Tatsache hinweist. Andere Möglichkeiten sind uns derzeit nicht bekannt.

Ich hoffe die Erläuterung hilft etwas weiter.

Beste Grüsse

Alexis
 

acam_gruber

Member
Ok, und im Formdesigner bei der Anlage eine Abfrage einbauen bzgl. Datum davor/danach mit Formelfelder?
Quasi wenn Ende vor Beginn wird Ende auf Beginn gesetzt oder so?!
 

Alexis Kälin

Administrator
Teammitglied
Hallo Michael

Ich würde dazu einfach einen neuen Abschnitt anlegen:

cas-genesisworld-formdesigner-abschnitt.jpg

Diesem Abschnitt dann folgende Bedingung hinterlegen:

cas-genesisworld-formdesigner-abschnitt-einblenden.jpg

if IsNull({Aufgabe.Erzeugt am}) then
if {Aufgabe.Ende} <{Aufgabe.Beginn} then true
else false else
false

In obigen Fall frage ich explizit noch ab, ob es sich um einen neuen Datensatz handelt (also noch nicht gespeichert wurde). Nur dann wird der Hinweis angezeigt. Falls du dies nicht haben möchtest, kannst es natürlich auch immer einblenden lassen.

Danach einfach ein neues Formelfeld einbauen:

cas-genesisworld-formdesigner-formelfeld.jpg

Und unter Anzeige eine Farbe definieren:

cas-genesisworld-formdesigner-formelfeld-farbe.jpg

Und wenn du dir die Sache nachher im Client anschaust, wird dynamisch (wenn Ende bevor Beginn) automatisch folgender Hinweis angezeigt:

cas-genesisworld-formdesigner-abschnitt-einblenden-ergebnis.jpg

Ich hoffe der Ansatz hilft weiter.

Beste Grüsse

Alexis
 
Oben Unten