Angelehnt an diesen
Thread, möchte ich das Thema nochmals aufgreifen.
Die vorgeschlagenen Änderungen bezüglich der Selectbox wurden umgesetzt, die Plausibilitätsprüfung fehlt aber noch.
Hat man mehr als ein bezugsberechtigtes Gebäude, so muss man zunächst eines davon aus der Liste auswählen. Dies ist gut so, denn dadurch werden versehentliche Fehllieferungen durch leichte Fahrlässigkeit unterbunden (z.B.: Lieferung ins 'falsche' Gebäude, weil man die Stückzahl mit ENTER bestätigte).
Verbesserungswürdig ist weiterhin, dass man bei einer falschen Eingabe (Absenden trotz unterlassener Ziel-Auswahl oder mit unpassender Waren-Stückzahl) den gesamten Vorgang von vorne beginnen muss, weil der Auftrag zu Recht vom Server abgelehnt wird. Besser wäre, wenn - clientseitig, also bevor die Daten über den Äther gehen - überprüft würde, ob die Bestellung durchführbar ist. In diesem Falle blieben die eingegebenen Daten erhalten und eine Korrektur wäre ohne großen Aufwand für den User möglich (try&error).
Konkret hieße das, dass
- der "Kaufen"-Button nur dann entsperrt wäre, wenn die Bestellung grundsätzlich durchgeführt werden kann, weil ein Empfänger (Gebäude) ausgewählt wurde und
- die Daten nur dann gesendet werden, wenn
- genug Geld auf dem Konto und genug Lagerplatz vorhanden ist,
- die Bestellung nicht größer als das Warenangebot ausfällt und
- das ausgewählte Gebäude bezugsberechtigt ist (oder 'falsche' Waren auf disable).
Macht man bei der Bestellung einen kleinen Tippfehler, darf man diese Prozedur komplett neu beginnen, da der "zurück"-Link faktisch lediglich einen "vorwärts"-Link ohne Gedächtnis (pre-selected values; dies wäre die serverseitige Alternative, die m.E. nicht diskutabel ist) darstellt.
Lästig finde ich diesen Umstand auch bei der Warenproduktion (anderes Thema, aber gleiche Problematik, wenn nicht sogar ein identischer Plausibilitätstest). Will man z.B. in der Bäckerei 6 Produkte gleichzeitig herstellen, muss man wenigstens fünf unterschiedliche Multiplikationsergebnisse fünfmal mit weiteren Zahlen addieren und abschließend mit dem eigenen Lagerbestand vergleichen, bevor man erfolgreich einen bestandsoptimierten Auftrag erteilen kann. Hat man sich verrechnet, darf man diesen Vorgang ebenfalls vollumfänglich wiederholen. Ein Hinweis auf externe Hilfsmittel (Stift und Papier oder Tabellenkalkulationsprogramm) dürfte zwar eine Lösung herbeiführen, aber ziemlich unangebracht erscheinen.
Begrüßenswert fände ich, wenn, wie bereits im anderen Thread vorgeschlagen, eine Auftragskontrolle vor der Kontaktierung des Servers erfolgte. Wenigstens zwei ärgerliche Klicks mit unnötigen Server-Anfragen je Fehlauftrag würden dadurch entfallen und auch ein kleines Mathematikdefizit wäre nicht ganz so entmutigend. Im entsprechenden Fenster, dem Haupt-Frame, sind alle erforderlichen Daten (Ausnahme: Kontostand) zur Verwendung beim jeweiligen Formular-Aufbau bereits vorhanden.