Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: tom_ate am 11.10.12 - 15:14:37

Titel: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: tom_ate am 11.10.12 - 15:14:37
Hallo,
habe die Forumssuche schon bemüht - aber bisher leider keinen wirklichen Erfolg gehabt.

Ich habe folgendes Problem:
Ich möchte in einer Erfassungsmaske ein Optionsfeld einbauen.
Mögliche Werte: "Ja" & "Nein"

Zusätzlich gibt es in der Maske ein Datumsfeld, welches frei bearbeitbar ist.
Wird im Optionsfeld die Auswahl "Ja" getroffen, soll das Datumsfeld mit dem Wert "Nicht erforderlich" gefüllt werden.
Wird im Optionsfeld "Nein" ausgewählt, bleibt das Datumsfeld frei bearbeitbar.

Hintergrund: Das Datumsfeld soll darstellen, wann eine Rechnung bezahlt wurde.
Wird "Ja" ausgewählt, wird gar keine Rechnung erfordelich.
Bei "Nein" wird dann irgendwann nach Zahlungseingang das Datum eingetragen.

Jemand einen Tipp für mich?

Danke schon mal vorab.

Achso, und ein freundliches "Hallo" an alle - bin ja neu hier....
Titel: Re: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: klaussal am 11.10.12 - 15:19:39
Datumsfelder können nicht mit "Nicht erforderlich" gefüllt werden.

Bei "Ja" das Feld ausblenden und dafür den Text "nicht erforderlich" einblenden.
Bei "Nein" genau anders herum.
Titel: Re: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: cebolina am 11.10.12 - 15:29:42
Eine Alternative wäre, auf das Optionsfeld ganz zu verzichten und nur das Datumsfeld anzuzeigen.
"Rechnung bezahlt am <Datumsfeld>"
Ist das Datumsfeld ausgefüllt, ist die Rechung bezahlt, bleibt es leer ist die Rechnung eben nicht bezahlt.

Stefan
Titel: Re: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: Klafu am 11.10.12 - 15:30:48
Hallo Tom und Willkommen hier im Forum.

Dein "Datumsfeld" ist deiner Beschreibung nach auch ein normales Textfeld, oder?
Du hast die Möglichkeit deinen Feldern vorab einen Wert mit zu geben. Den Vorgabewert von einem anderen Feld abhängig machen geht zum Beispiel so

If(FeldJaNein="JA";"Nicht erforderlich";"")

Das ist aber nur ein Beispiel für den Aufbau soeiner Formel, die du dem Datumsfeld gibst.
Denk dran, dass du die Maske dann aber auch so einstellst, dass das Ändern eines Feldwertes das Dokument nochmal aktualisiert.

Gruß
Chris
Titel: Re: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: Glombi am 11.10.12 - 15:31:49
"Nicht erforderlich" ist aber kein Datum  ;D

Ich würde im Falle von "Ja" mittels einer Verbergenformel das Datumsfeld gar nicht anzeigen.
In der Eingabeumsetzung des Datumfeldes dann folgende Formel:
@If(Auswahl = "Ja";"";@ThisValue)

wobei Du "Auswahl" durch den Feldnamen mit der ja/Nein Auswahl ersetzen musst.

Andreas
Titel: Re: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: tom_ate am 11.10.12 - 15:52:54
Danke für die schnellen Antworten.

Die Lösung mit dem Verbergen bei "Ja" erscheint mir am besten.

Hab's mit der Eingabeumsetzung von Andreas versucht.

In der Erfassungsmaske ändert sich aber nichts - egal, ob ich "ja" oder "Nein" auswähle.
Muss das "Ja/Nein"-Feld ein bestimmte Eigenschaften haben?
Zudem wäre es schön, wenn bei Auswahl "Ja" nicht nur das Datumsfeld nicht gefüllt wird,
sondern gleichzeitig in ein weiteres Feld "Nicht erforderlich" eingetragen wird....?
Titel: Re: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: Glombi am 11.10.12 - 16:00:08
Du musst in dem Feld für die Auswahl in den Feldeigenschaften (2. Reiter) "Felder automatisch aktualisieren bei Änderung" anklicken, dann werden auch die Verbergenformeln neu berechnet.

Das mit dem "Nicht erforderlich" machst Du dann in einem berechneten Feld, ebenfalls mit Verbergenformel versehen.
Hinweis: Die Verbergenformeln gelten immer absatzweise!

Andreas
Titel: Re: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: tom_ate am 11.10.12 - 16:24:52
Ok, ich nähere mich langsam an.

Das Feld "Nicht erforderlich" kriege ich mittlerweile bei der Auswahl "Ja" hin.

Allerdings habe ich jetzt noch 2 Probleme:

1. Das Datumsfeld verschwindet nach wie vor nicht. Egal, welche Auswahl ich treffe.
2. Ich benötige eine Ansicht, die dann sowohl die "Nicht erforderlich", als auch die "Datum noch offen", als auch die "Rechnung bezahlt am" enthält. Sortiert jeweils nach dem Kriterium.
Es handelt sich hier aber ja um 2 Felder (Bedingungsfeld "Nicht erforderlich" und "Datumsfeld")....oder habe ich hier gerade ein Brett vorm Kopf?? :-/
Titel: Re: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: Klafu am 11.10.12 - 16:35:59
Ein Beispiel

1.) Verstecke Feld wenn Feld txtCheck leer ist
2.) Und Felder beim Ändern eines Feldwertes aktualisieren
Titel: Re: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: Peter Klett am 11.10.12 - 16:38:34
Für die Kategorie würde ich das so machen

@If (JaNeinFeld = "Ja"; "Nicht erforderlich"; @Text (DatumFeld) = ""; "Noch offen"; "Bezahlt am "@Text (@Year (DatumFeld)) + "\\" @Right ("0" + @Text (@Month (DatumFeld)); 2) +  + "\\" @Right ("0" + @Text (@Day (DatumFeld)); 2))

Das Ergibt dann (wenn man es absteigend sortiert)

Noch offen
         Doc a
         Doc b
Nicht erforderlich
         Doc c
         Doc d
Bezahlt am 2012
   10
      08
         Doc e
         Doc f
      07
         Doc g
         ...


Das mit dem Verbergen des Datumsfeldes kann nur ein Fehler in der Verbergeformel sein, da musst Du nochmal genau hinschauen.
Titel: Re: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: tom_ate am 11.10.12 - 17:40:38
Sooo, das Verbergen des Datumsfeldes funktioniert jetzt auch! ;-)

Habe das Feld nochmal gelöscht und neu angelegt - irgendwo war offenbar 'n falscher Parameter nach der ganzen Bastelei....

@Peter: Danke für die Formel - leider kriege ich dort noch eine Fehlermeldung. (Ein Operator oder Semikolon....: ") Kann aber irgendwie kein fehlendes Zeichen erkennen?!

Titel: Re: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: Klafu am 11.10.12 - 18:22:49
Für die Kategorie würde ich das so machen

@If (JaNeinFeld = "Ja"; "Nicht erforderlich"; @Text (DatumFeld) = ""; "Noch offen"; "Bezahlt am "@Text (@Year (DatumFeld)) + "\\" @Right ("0" + @Text (@Month (DatumFeld)); 2) +  + "\\" @Right ("0" + @Text (@Day (DatumFeld)); 2))

 @If (JaNeinFeld = "Ja"; "Nicht erforderlich"; @Text (DatumFeld) = ""; "Noch offen"; "Bezahlt am " + @Text (@Year (DatumFeld)) + "\\" + @Right ("0" + @Text (@Month (DatumFeld)); 2) + "\\" @Right ("0" + @Text (@Day (DatumFeld)); 2))


Ich hab mal 2 Pluszeichen hinzugefügt und 1 plus entfernt. Kann das Script aber grad nicht auf korrektheit testen.


Chris
Titel: Re: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: Peter Klett am 11.10.12 - 18:34:16
@If (JaNeinFeld = "Ja"; "Nicht erforderlich"; @Text (DatumFeld) = ""; "Noch offen"; "Bezahlt am " + @Text (@Year (DatumFeld)) + "\\" + @Right ("0" + @Text (@Month (DatumFeld)); 2) + "\\" + @Right ("0" + @Text (@Day (DatumFeld)); 2))

Da fehlte auch noch ein Plus, dabei habe ich noch garnichts genommen. Vielleicht sollte ich ...

Titel: Re: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: tom_ate am 12.10.12 - 08:47:52
Sauber!! Es haut hin!

Danke an alle, die sich die Mühe gemacht haben!!

@Peter: Jetzt ist ja fast Wochenende - wünsch' Dir viel Spaß beim "einnehmen".... ;-)
Titel: Re: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: tom_ate am 12.10.12 - 09:06:31
Sorry, aber einen kleinen Änderungswunsch hätte ich noch:

Habe Peters Formel etwas abgewandelt, da nicht sooviele Dokumente eingehen:

@If (SVN_SPK = "Ja"; "Nicht erforderlich"; @Text (RE_Datum) = ""; "Noch offen";(RE_Datum))

Der Aufbau der Spalte Zahldatum sieht bspw. derzeit folgendermaßen aus:

Noch offen:
Dokument 1
Dokument 2

Nicht erforderlich:
Dokument 3

17.10.2012:
Dokument 4
Dokument 5
16.10.2012:
Dokument 6

...das ist die logische Spaltensortierung, wenn ich über die Spalteneigenschaft "Absteigend" wähle. Ich hätte aber gerne die Sortierung "Noch offen" --> "17.10.2012" --> "Nicht erforderlich"

Krieg ich das hin?

 
Titel: Re: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: Peter Klett am 12.10.12 - 09:35:52
Klar, geht auch. Vorher bedenke aber, dass das Datum in Deiner jetzigen Lösung alphabetisch sortiert wird, das wird dann später so aussehen:

17.11.2012
17.10.2012
16.11.2012
16.10.2012

Deshalb würde ich vor die kategorisierte Spalte eine absteigend sortierte Spalte einfügen, die verborgen wird. Formel dieser Spalte könnte sein

@If (SVN_SPK = "Ja"; [01.01.2000]; @Text (RE_Datum) = ""; [31.12.9999]; (RE_Datum))

Alle Werte in der Spalte sind jetzt Datum ,so dass nach Datum (und nicht nach Text) absteigend sortiert wird. Falls Du Rechnungen hast, die vor dem 01.01.2000 bezahlt wurden, musst Du natürlich bei "Ja" ein älteres Datum eintragen (nicht getestet, sollte aber so gehen).

Damit löst Du Deinen Wunsch und umgehst das alphabetische Sortieren des Datums.
Titel: Re: Optionsfeld mit bedingter Füllung eines weiteren Feldes
Beitrag von: tom_ate am 12.10.12 - 10:45:39
@Peter:

Danke, klappt 1a!