Seite 2 von 2

Duplizieren und einblenden

Verfasst: 24.07.2015, 12:38
von hurray
Hallo nochmal,

jetzt habe ich fast alles hinbekommen, was ich haben wollte. Nur das Sichtbarmachen von Feldern in Abhängigkeit eines Wertes in einem anderen Feld will nicht klappen.
Die nur in bestimmten Fällen sichtbaren Felder sind dann entweder Pflichtfelder oder es soll eine Warnung beim Nulltest ausgegeben werden.
Wenn ich den Code nur für 1 Feld angebe, klappt es... So wie unten angegeben, gerät beim Ausfüllen alles durcheinander. Habe ich in der Auflistung einen Fehler? Schreibweise des Codes oder sowas? Außerdem verstehe ich nicht, warum ein identischer Code beim Ereignis Click nicht funktioniert, beim Ereignis Mouse Exit aber schon.
Ich würde mich freuen, wenn mir da nochmal jemand auf die Sprünge helfen könnte.

Herzlichen Dank für die Mühe vorab :)

Formular1.LaunchApplicationStatementForm.Tabelle1.AddDelete.statusdropdown::mouseExit - (JavaScript, client)

if (this.rawValue!== null) {
  braincompldropdown = "hidden";
  estsub.presence = "hidden";
  estapp.presence = "hidden";
  braincompldropdown.validate.nullTest = "disabled";
  estsub.validate.nullTest = "disabled";
  estapp.validate.nullTest = "disabled";
  braincompldropdown.access = "readOnly";
  estsub.access = "readOnly";
  estapp.access = "readOnly";
 
  
 } else if (this.rawValue!== "planned") {
  braincompldropdown = "hidden";
  estsub.presence = "visible";
  estapp.presence = "visible";
  braincompldropdown.validate.nullTest = "disabled";
  estsub.validate.nullTest = "warning";
  estapp.validate.nullTest = "warning";
  braincompldropdown.access = "readOnly";
  estsub.access = "open";
  estapp.access = "open";
 
 
 } else if (this.rawValue!== "submitted") {
  braincompldropdown = "hidden";
  estsub.presence = "hidden";
  estapp.presence = "visible";
  braincompldropdown.validate.nullTest = "disabled";
  estsub.validate.nullTest = "disabled";
  estapp.validate.nullTest = "warning";
  braincompldropdown.access = "readOnly";
  estsub.access = "readOnly";
  estapp.access = "open";
   
 } else if (this.rawValue!== "registered") {
  braincompldropdown = "visible";
  estsub.presence = "hidden";
  estapp.presence = "hidden";
  estsub.validate.nullTest = "disabled";
  estapp.validate.nullTest = "disabled";
  braincompldropdown.access = "open";
  estsub.access = "readOnly";
  estapp.access = "readOnly";
 
 } else if (this.rawValue!== "not planned") {
  braincompldropdown = "hidden";
  estsub.presence = "hidden";
  estapp.presence = "hidden";
  braincompldropdown.validate.nullTest = "disabled";
  estsub.validate.nullTest = "disabled";
  estapp.validate.nullTest = "disabled";
  braincompldropdown.access = "readOnly";
  estsub.access = "readOnly";
  estapp.access = "readOnly";
  
 } else if (this.rawValue!== "no registration necessary") {
  braincompldropdown = "hidden";
  estsub.presence = "hidden";
  estapp.presence = "hidden";
  braincompldropdown.validate.nullTest = "disabled";
  estsub.validate.nullTest = "disabled";
  estapp.validate.nullTest = "disabled";
  braincompldropdown.access = "readOnly";
  estsub.access = "readOnly";
  estapp.access = "readOnly";
 }

Zugehöriges Formular:


Duplizieren und einblenden

Verfasst: 24.07.2015, 18:05
von armine
Hallo hurray,

initialize - (JavaScript, client)
PAGE1.medium.orientation = "landscape"
Kann nur zu einer Fehlermeldung führen, wenn es das Ding nicht gibt.

Weitere Fehlermeldungen habe ich abgestellt, in dem ich die Zielversion von der antiken 8.1 auf 9.1 hochgesetzt habe.
Speichern steht nicht mehr auf „manuell“ (dazu fehlt der Code), sondern auf „automatisch“.

Dein Code für „statusdropdown“ ist ins „exit“ gerutscht, damit beim Überstreichen des Felds mit dem Cursor nicht wie von Geisterhand (mouseExit) Felder auftauchen.
Du scheinst mit „!==“ irgendetwas nicht zu wollen. Ich habe mit die Freiheit genommen, mit „==“ aufs Gewollte zu zielen. Weil da immer wieder das Gleiche passiert, habe ich deine Fleißarbeit in eine Funktion ausgelagert.
Wenn der Übergabeparameter == 0, dann „presence = "invisible*", “nullTest = "disabled“ und „access“ = "readOnly".
Wenn der Übergabeparameter == 1, dann „presence = "visible*", “nullTest = "warning“ und „access“ = "open".
Bei jeder neuen Auswahl, werden die 3 traktierten Felder auf „null“ gesetzt, damit kein altes Zeug stehen bleibt.

vg armine

*) „invisible“, nicht „hidden“, das kommt bei Tabellenzellen nicht so gut und ist deswegen auch ausgegraut.

Duplizieren und einblenden

Verfasst: 27.07.2015, 09:18
von hurray
Hallo armine,

Vielen herzlichen Dank für die Überarbeitung/Berichtigung. Es funktioniert noch nicht ganz so, wie es sein soll.

Wenn die Felder "estsub" und "estapp" sichtbar sind, soll beim nulltest eine Warnung ausgegeben werden, d.h. diese Felder sollten möglichst ausgefüllt werden, es darf aber trotzdem gedruckt werden, wenn sie leer bleiben. Eine Warnung erscheint momentan nicht.
Wenn das Feld "braincompldropdown" sichtbar ist, soll kein nulltest ausgeführt werden, denn in diesem Fall ist die Eingabe absolut notwendig und es darf nicht gedruckt werden, bevor hier ein Eintrag erfolgt ist.

Der Code auf der Masterseite sollte bewirken, dass bei PDF Erzeugung per Button die Seite(n) im Querformat gespeichert werden. Wie kann man das festlegen?
this.rawValue = xfa.Orientation = "Landscape";
So vielleicht?

Vielen Dank im Voraus!

hurray

Duplizieren und einblenden

Verfasst: 27.07.2015, 13:28
von armine
Hallo hurray,

wann soll den der nullTest ausgeführt werden? Ich habe ihn mal ins prePrint der Tabelle geschrieben und bei braincompldropdown wurde der NullTest auf „error“ verschärft.
Das PDF-Format ist Querformat und so wird auch gespeichert/gedruckt. Was ist das Problem?

vg armine

Duplizieren und einblenden

Verfasst: 27.07.2015, 14:28
von hurray
Vielen Dank für die Anpassung - super :)

Das Querformat wollte ich "erzwingen", weil ich meistens die ausgefüllten Formulare hochkant bekomme und sie zum Lesen erst drehen muss...

Es gibt auch ein Problem, wenn der örtliche Drucker US Papiereinstellungen hat, aber damit kann ich leben.

Viele Grüße
hurray

Duplizieren und einblenden

Verfasst: 27.07.2015, 16:21
von armine
Wenn Formulare oft „verdreht“ aufgehen, dann solltest du dir die Tastaturkürzel zum Drehen merken (siehe Anzeige > Ansicht drehen).

Duplizieren und einblenden

Verfasst: 27.07.2015, 22:00
von hurray
Gute Idee :cool:

Nochmals herzlichen Dank für Hilfe und Geduld :)

hurray