[Allegro] Notwendige Teilfelder im Eingabeformular

Bernhard Eversberg b-eversberg at gmx.de
Fr Jun 2 09:00:37 CEST 2017


> Gesendet: Donnerstag, 01. Juni 2017 um 15:51 Uhr
> Von: "Sibylle Koczian" <Sibylle.Koczian at t-online.de>
> 
> Ich habe eine Reihe von Kategorien, in denen ein Teilfeld Pflicht ist, 
> in der Konfiguration also mit $N angegeben. Im Formular sollen diese 
> Teilfelder ggf. schon vorhandenen Inhalt überschreiben, nicht angehängt 
> werden, also sind sie dort so angegeben:
> $a-#xxf"Bezeichnung"
> Aber: obwohl so ein Teilfeld ja nur Pflicht ist, wenn die Kategorie 
> überhaupt belegt ist, bekomme ich pro Kategorie dieser Sorte eine 
> Warnmeldung, wenn sie im Satz leer bleibt - und das ist ein häufiger Fall.
> 
> Da außer mir niemand Eingaben in diese Datenbank macht, könnte ich den 
> Pflichtstatus der Teilfelder aufheben, aber so un-vergesslich bin ich 
> nun auch wieder nicht. Was also tun?
> 

Sehr schwierig, vielleicht gar nicht perfekt lösbar, weil Haupt- und Unterfeld
in zwei Formularfeldern einzugeben sind, die formal nichts miteinander zu tun haben,
und man muß ja nicht ein Feld nach dem andern abarbeiten, sondern kann springen.
Und irgendeine wenn-dann-Logik ist in die Abarbeitung eines Formulars nicht eingebaut.
Tiefe und schwierige Eingriffe wären unumgänglich, um zu einer halbwegs besseren
Funktionalität zu gelangen im Hinblick auf Unterfeld-Logik.

Das einzige beim Status quo wäre wohl, in den  onput.flx  Prüfungen einzubauen, ob die
Pflicht-Unterfelder vorhanden sind. Z.B. nach diesem Muster:

:123
var "#123 " #123 "$x"
ins $f
var #123$x
if #123 if "" jump fehler

:124
// evtl. mehrere solche Abschnitte ...
...
// Keine Fehler gefunden
put
end

:fehler
var $f " fehlt, noch eingeben?"
yesno
if no jump 124
 // An dieser Stelle evtl. Eingabe mit ask einfordern und in #123 einsetzen
end

Und aus der CFG die $N-Angaben rausnehmen.
Den modifizierten  inut.flx  natürlich in den Datenordner legen.

Während der Formulareingabe würde dann nichts passieren hinsichtlich Unterfeld-
Pflicht-Logik, sondern erst zum Zeitpunkt direkt vor der Speicherung des Satzes.

B.E. 



Mehr Informationen über die Mailingliste Allegro