Autor Thema: Absatz ausblenden wenn.....  (Gelesen 4859 mal)

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Absatz ausblenden wenn.....
« am: 01.11.05 - 10:25:48 »
Hallo,

ich habe ein Dokument in welches ich mehrere Absätze(Teilmasken)
eingebaut habe. Nun möchte ich aber über ein Feld mit Mehrfachwerten
definieren wann diese Maske zu sehen ist.
Dafür habe ich ich folgenden Befehl verwendet:
Code
@If(Feld="":"1":"3":"4")

Nun habe ich aber das Problem wenn das Feld einer dieser Zahlen beinhaltet
wird die Maske ausgeblendet.

Nun meine Frage wie ich der Code aussehen muss wenn ich die Maske auch bei
Mehrfachwerten sichtbar haben möchte.

Gruß Jörg

Glombi

  • Gast
Re: Absatz ausblenden wenn.....
« Antwort #1 am: 01.11.05 - 10:27:20 »
!(Feld = "1":"3")

wenn es bei "1" oder "3" sichtbar sein soll.

Andreas

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re: Absatz ausblenden wenn.....
« Antwort #2 am: 01.11.05 - 10:39:18 »
Du hast nur das Sternchen vergessen:

@If( Feld *= "":"1":"3":"4")

Gruß,
Uwe

Glombi

  • Gast
Re: Absatz ausblenden wenn.....
« Antwort #3 am: 01.11.05 - 10:42:31 »
Du hast nur das Sternchen vergessen:

@If( Feld *= "":"1":"3":"4")

Gruß,
Uwe
Wozu braucht es ein Sternchen? Das ist doch der Permutationsoperator.

Ich vermute, dass Problem besteht
- in den unvollständigen if: kein then, kein else
- verbergen wenn Formel war ist => damit kommt man durcheinander. Denn eigentlich denkt man doch positiv, d.h. wann will ich was sehen.

Andreas
« Letzte Änderung: 01.11.05 - 10:44:49 von Glombi »

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re: Absatz ausblenden wenn.....
« Antwort #4 am: 01.11.05 - 10:52:27 »
Hallo Andreas,

@If( Feld = "":"1":"3":"4")

ergibt true,
wenn "Feld" alle diese vier Werte in dieser Reihenfolge enthält.


@If( Feld *= "":"1":"3":"4")
ergibt true,
wenn "Feld" mindestens einen dieser vier Werte irgendwo enthält.

Permutation ( *= ) ist daher nur notwendig, wenn es sich bei beiden Teilen um Listen handelt.

Das war mein Gedankengang wenn man abfragen möchte, ob einer dieser Werte in "Feld" enthalten ist und man in diesem Fall dann z.B. eine Teilmaske laden möchte.

Gruß,
Uwe

Nachtrag: 2.11:

Bug in Lotus Notes 6.0.4
Obwohl in der Lotus ND6 Hilfe genau das oben beschriebene steht:

Text equality, pair-wise

"A":"B":"C"="B":"C":"A"        0 False
"A":"B":"C"="B":"C"             1 True   
"B":"B":"C"="B":"C"             1 True
      

Text equality, permutation

"A":"B":"C"*="B":"C":"A"     1 True
"A":"B":"C"*="B":"C"          1 True
"B":"B":"C"*="D":"E"          0 False

verhält sich Lotus 6.0.4 anders - und verhält sich IMMER in der Form der Permutation, auch wenn keine Permutation angegeben ist. Ziemlicher Bug, würde ich sagen.
In ND 6.5.3 ist dagegen alles ok und analog wie in R5.

« Letzte Änderung: 02.11.05 - 13:16:51 von datenbanken24 »

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Re: Absatz ausblenden wenn.....
« Antwort #5 am: 01.11.05 - 10:54:37 »

- verbergen wenn Formel war ist => damit kommt man durcheinander. Denn eigentlich denkt man doch positiv, d.h. wann will ich was sehen.

Andreas

Hallo ,
Ich habe diesen Code im Feld "Abschnitt verbergen wenn Formel wahr" eingtragen.
Aber ich möchte den Abschnitt anzeigen wenn einer der Werte enthalten ist.

Gruss Jörg

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re: Absatz ausblenden wenn.....
« Antwort #6 am: 01.11.05 - 11:01:10 »
Hallo Jörg,

wenn Du mit "Abschnitt" wirklich wie oben eine "Teilmaske" meinst...
(das sind nämlich eigentlich zwei völlig verschiedene Sachen in Notes)

dann kann man das auch über eine BERECHNETE Teilmaske erledigen:

Die Formel für die berechnete Teilmaske lautet dann:

@If(
   Feld *= ("":"1":"3":"4");
   "Name_der_Teilmaske";
   ""
);

Wenn "Feld" einen dieser Werte enthält, dann wird die entprechende Teilmaske geladen,
wenn nicht, dann wird aufgrund des Leerstrings keine Teilmaske geladen.

Gruß,
Uwe

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Re: Absatz ausblenden wenn.....
« Antwort #7 am: 01.11.05 - 12:27:04 »

Ich habe im Document 3 Abschnitte die jeweils mit den unterschiedlichen
Teilmasken füllen wollte.
Muss ich dann etwas beachten wenn ich eine berechnete Teilmaske in einen
Abschnitt hinzufügen möchte??

Gruss Jörg
« Letzte Änderung: 01.11.05 - 12:29:16 von Jörg »

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re: Absatz ausblenden wenn.....
« Antwort #8 am: 01.11.05 - 12:36:18 »
Berechnete Teilmasken werden NUR einmalig BEIM ÖFFNEN der Maske (bzw. des Dokuments)
"berechnet", ob sie geladen werden oder nicht.

Danach (im offenen Dokument) kannst Du das Feld ändern, wie Du willst, das ändert an der Teilmaske nix mehr.
Erst ein Neuladen der Maske bzw. ein Neuöffnen des Dokuments entscheidet wieder über das Laden oder Nichtladen der Teilmaske.

Da wirst Du wohl um "Hide when" Formeln und einem @Command( [RefreshHideFormulas] ) nicht drumherum kommen.

Gruß,
Uwe

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Re: Absatz ausblenden wenn.....
« Antwort #9 am: 01.11.05 - 13:28:41 »
Ok ich habe mal die Notes-Hilfe durschucht und etwas gefunden um
das Dokument zu aktualisieren wenn ein Feld verlassen wird.

Code
Sub Exiting(Source As Field)
	Dim workspace As New NotesUIWorkspace
	Dim uidoc As NotesUIDocument
	Set uidoc = workspace.CurrentDocument
	Call uidoc.Refresh
End Sub
Das die Seite neu aufgebaut wird ist auch zuerkennen.
Aber die Abschnitte werden nicht mit den berechneten Teilmasken gefüllt.
Daher nun die Frage wo der Befehl @Command( [RefreshHideFormulas]
zum tragen kommt.

Gruss Jörg

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Absatz ausblenden wenn.....
« Antwort #10 am: 01.11.05 - 14:37:15 »
Berechnete Teilmasken werden tatsächlich nur eingefügt beim Öffnen des Dokuments und den dann güktigen Bedingungen. Jegliches Refreshing (was nur Felder neu berechnet) "beeindruckt" die Teilmasken in keinster Weise.
Du müsstest also das Dokument schliessen und komplett neu laden.

Bernhard

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Re: Absatz ausblenden wenn.....
« Antwort #11 am: 01.11.05 - 14:56:05 »
Kann ich da evt. mit einen Script reagieren, welches erkennt es wurde eine Änderung an
diesen Feld gemacht und speichert das Dokument und öffnet es sofort wieder????

Gruß Jörg

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Absatz ausblenden wenn.....
« Antwort #12 am: 01.11.05 - 15:04:47 »
Wenn die betreffenden Felder (Dokument aktualisieren, wenn Feld geändert wurde) oder ersatzweise "Alle Felder bei Feldänderung neu berechnen" (Maskeneigenschaft) eingestellt ist, dann wird das PostRecalc-Event getriggert. In diesem kannst Du dann reagieren. Du wirst hier aber einen Agent aufrufen müssen, der das Dokument schliesst und wieder öffnet, da der Code im PostRecalc zusammen mit dem (sich schliessenden) Dokument terminiert.

HTH,
Bernhard

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Re: Absatz ausblenden wenn.....
« Antwort #13 am: 02.11.05 - 12:11:44 »
Danke für die Hinweise, aber leider kann ich die berechnete Teilmaske nicht
verwenden , da ich hier auch Felder habe , die Dateien beinhalten sollen.

//Edit
ich nehme nun die gefundene Abfrage
Code
_anzeigen := @False;
_verbergen := @True;
@If(
um die WErte in dem Feld zu überprüfen.
Nochmals viele Dank.......


Gruss Jörg
« Letzte Änderung: 02.11.05 - 12:54:02 von Jörg »

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re: Absatz ausblenden wenn.....
« Antwort #14 am: 02.11.05 - 13:24:06 »
Noch ein Nachtrag zu meiner Antwort #4:

Ich habe in der Antwort 4 noch einen Hinweis editiert,
der auf einen Notes Bug in 6.0.4 gerade beim Permutationsvergleich hinweist.

Nimmt man die gleiche Formel einmal in 6.0.4 (Bug) und andererseits in R5 oder 6.5.3 kommt ein anderes Ergebnis heraus.

Nachzuvollziehen sehr einfach z.B. hiermit:
Unter 6.0.4 gibt diese Formel ein völlig abweichendes Ergebnis als in den anderen Versionen.

_x := "A" : "B" : "C";
_y :=  "A": "F";

@StatusBar( @Text(_x = _y) + @Text(_x  *= _y));

Nur zur Info.

Gruß,
Uwe

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Absatz ausblenden wenn.....
« Antwort #15 am: 02.11.05 - 19:48:31 »
Danke für die Hinweise, aber leider kann ich die berechnete Teilmaske nicht
verwenden , da ich hier auch Felder habe , die Dateien beinhalten sollen.

Diese Begründung erschliesst sich mir nun überhaupt nicht. Was willst Du uns damit sagen ? Das eine hat doch mit dem anderen nichts zu tun ...

Bernhard

Offline Jörg

  • Aktives Mitglied
  • ***
  • Beiträge: 175
Re: Absatz ausblenden wenn.....
« Antwort #16 am: 03.11.05 - 07:39:06 »
NAch dem ich das Dokument erneut geöffnet hatte habe ich zwar die Teilmaske
welches den Werten entsprach sehen können , aber wenn ich dieses Dokument
bearbeiten wollte , so ging nur ein Teil zu edotoeren und nicht die Teilmaske.

Gruss Jörg

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re: Absatz ausblenden wenn.....
« Antwort #17 am: 03.11.05 - 12:06:29 »
Da hast Du mittlerweile scheinbar einen ziemlichen Kuddelmuddel aus berechneten Teilmasken, Zugriffs-Abschnitten und Verbergen-when-Formeln "angerichtet",
der von jemanden außen (über das Forum) nicht mehr nachvollziehbar ist.

Jedenfalls hat Dein jetziges Editierproblem nix mit der Teilmaske zu tun.
Denn, wenn die geladen wird, dann ist die auch editierbar, genau wie der Rest der Maske.

Wahrscheinlich hast Du diese aber in einen Notes-Maskenabschnitt mit Zugriffsbeschränkung hineingeladen - und daher rührt nun Dein neues Problem. Die Teilmaske kann jedenfalls nix dazu.

Gruß,
Uwe

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz