[Allegro] Notwendige Teilfelder im Eingabeformular

Sibylle Koczian Sibylle.Koczian at t-online.de
Sa Jun 3 11:26:40 CEST 2017


Lieber Herr Eversberg, liebe Liste,

Am 02.06.2017 um 09:00 schrieb Bernhard Eversberg:
>> 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.
>
Eingabe im Formular ist kein Problem: da wird nur der Inhalt für ein 
Teilfeld abgefragt und die Eingabe landet genau dort. Da stört eben nur 
die Fehlermeldung bei leerem Feld. Fehlerträchtig ist die direkte 
Eingabe im Schreibfeld.

> 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.
>

Das müsste auch bei einer Eingabe im Schreibfeld funktionieren, richtig?

Besten Dank und frohe Pfingsten,
Koczian



Mehr Informationen über die Mailingliste Allegro