Beispiel: Aktivieren von zusätzlichen Eingabefeldern
Beispiel: Aktivieren von zusätzlichen Eingabefeldern
Abhängig von der Länge eines Bauteils sind zusätzliche Stützen erforderlich. Wenn die Länge eingegeben oder geändert wird, sollen zwei Eingabefelder für die Anzahl und die Art der Stützen entsprechend frei geschaltet oder gesperrt werden.
Im Eingabedialog sind dafür folgende Einstellungen notwendig:
bei dem Feld Länge muss die Eigenschaft Überprüfung angeschaltet werden, damit die Stützenanzahl direkt bei einer Änderung in diesem Feld aktiviert werden kann.
das Feld "Stützenanzahl" erhält den Namen „Stützen1", das Feld "Stützenart" den Namen „Stützen2" (Eigenschaft Benennung). Unter diesen Namen werden die Dialogfelder dann später angesprochen.
In der Entscheidungstabelle muss die Überprüfungslogik für das Feld Länge zugeordnet werden, bevor der Dialog aufgerufen wird:
ET "Dialog"
|
| R 01 | SONST |
B 01 |
|
|
|
A 01 | f$KontrollET( ’Länge’, ’Stuetzen’ ) | x |
|
A 02 | FID = f$DialogOeffnen( ’Artikel’ ) | x |
|
A 03 | p$Stuetzen() | x |
|
A 04 | Weiter = f$DialogStarten( FID ) | x |
|
A 05 | f$DialogBeenden(FID) | x |
|
Der Aufruf des Dialoges muss mit der Funktion f$DialogOeffnen erfolgen, damit später einzelne Felder angesprochen werden können.
Die Kontroll-ET "Stuetzen" wird zwischen dem Öffnen und dem Aktivieren des Dialogs aufgerufen, damit die Felder mit den Stützendaten gleich beim Aufruf im richtigen Zustand sind.
Wenn die Länge nun im Dialog geändert wird, wird ebenfalls die Kontroll-ET "Stuetzen" aufgerufen, die die beiden zusätzlichen Eingabefelder aktiviert bzw. deaktiviert:
ET "Stuetzen"
|
| R 01 | SONST |
B 01 | Länge > 10 | j |
|
B 02 |
|
|
|
A 01 | IstAktiv | 1 | 0 |
A 02 | f$SetzeBoolProp(FID,’Stützen1’,’aktiv’,IstAktiv) | x | x |
A 03 | f$SetzeBoolProp(FID,’Stützen2’,’aktiv’,IstAktiv) | x | x |
Anmerkung: In obigem Beispiel bleiben die Werte in den Stützenfeldern erhalten, so dass sie bei einer erneuten Aktivierung der Felder noch zur Verfügung stehen. Wenn dies nicht gewünscht ist, können die Werte im SONST-Fall auch mit f$Leer zurückgesetzt werden.