Autor Thema: Überprüfen ob Feld im uidocument vorhanden ist  (Gelesen 2490 mal)

Offline qojote

  • Aktives Mitglied
  • ***
  • Beiträge: 229
  • I love YaBB 1G - SP1!
Überprüfen ob Feld im uidocument vorhanden ist
« am: 08.05.05 - 00:29:12 »
Hi,

eigentlich hat ich es mir so schön überlegt.

Also eine gewisse Anzahl von Felder wird im uidocument unter gewissen Umständen versteckt. Da ich aber beim Schliessen des Dokuments nicht weiß welche es sind hab ich ein Problem im Querysave wo ich nochmal ein paar Bedinngungen überprüfe weil dann unter Umständen die Felder die ich Prüfe nicht da sind.

Wie macht Ihr das denn ?

Danke
Gruß
Qojote

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Überprüfen ob Feld im uidocument vorhanden ist
« Antwort #1 am: 08.05.05 - 00:47:10 »
Das müsstest Du jetzt mal genauer erklären. Als Programmierer weiss man doch, welche Felder vorhanden sind und vor allem hast Du doch Vorstellungen davon, was Du prüfen willst.
Was verstehst Du überhaupt unter "Feld" und wie grenzt Du dies zu einem Item ab ?
Kannst Du ein Beispiel nennen, um Dein Problem zu verdeutlichen ?

Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Überprüfen ob Feld im uidocument vorhanden ist
« Antwort #2 am: 08.05.05 - 01:14:20 »
@Bernhard: er meint da vermutlich (sicherlich) mittels Hide-When verborgene / versteckte Felder.

@Qojote:
Die Bedingungen, die Du in den Hide-When - Formeln einzelner Absätze (Paragraphs) hast, kannst Du nicht auslesen. Genau das müsstest Du hier aber können, wenn ich Dich richtig verstehe.

Für die Querysave-Überprüfung der Maske musst Du IMHO dort die Logik des Verbergens programmatisch erneut abbilden. Leider.

Ist aber in Notes besser gelöst wie zum Beispiel Access (pfui  ;D). Habe erst letztens in Access 2003 Hide-When gemacht. Ist super umständlich dort, man muss das per Script in einem globalen Code machen. Und dann unter Umständen doppelter Code, wenn refreshed werden soll bei Mausklick (z.B. per Options-Schaltfläche).
« Letzte Änderung: 08.05.05 - 01:18:23 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Überprüfen ob Feld im uidocument vorhanden ist
« Antwort #3 am: 08.05.05 - 01:24:26 »
Hut ab, Matthias. Diese These macht offensichtlich Sinn in Bezug auf die Frage.

Ein Beispiel von Qujote wäre aber trotzdem nicht schlecht.

Bernhard

Marinero Atlántico

  • Gast
Re: Überprüfen ob Feld im uidocument vorhanden ist
« Antwort #4 am: 08.05.05 - 02:49:32 »
Ich würde Validierungsformeln möglichst einfach halten und da nicht versuchen irgendeine komplizierte Logik reinzubringen.
Welche Felder versteckt sind, sollte ja letztlich von einem bestimmten state des Dokuments abhängen.
Bsp: Wenn dieses Feld den Wert hat, dann werden diese Felder versteckt.
Wie ben schon gesagt, kann man diese einfache if-thens dann auch im querySave benutzen.
Ich hab schon total verwurstete Validierungslogik in Datenbanken gesehen.
Würde man da smartere Verknüpfungen schaffen, würde das auf eine Art von - ich glaub das heisst - DataBinding Framework schreiben.
Und dabei kann man eben auch viel Mist bauen, der am Ende komplizierter ist, als wenn man von Anfang einen simpleren Weg mit if-then-Duplizierung gewählt hätte.

Ich bin sowieso auf den Tripp, Frameworks von anderen zu benutzen, die in dem bestimmten Bereich auf jeden Fall besser als ich sind. Das reicht an Komplexität.

Axel

Offline qojote

  • Aktives Mitglied
  • ***
  • Beiträge: 229
  • I love YaBB 1G - SP1!
Re: Überprüfen ob Feld im uidocument vorhanden ist
« Antwort #5 am: 09.05.05 - 09:07:19 »
hi,

@tmc genau das ist mein Problem

@all

Beispiel:
Also ich habe eine Maske die hat verschiedene Anschnitte in der immer zwei Felder vorhanden sind das erste Feld ist eine Checkbox für einen Artikel und das zweite Feld die zugehörige Anzahl des Artikels.
Die verschiedenen Abschnitte werden mittels  Hide when aus bzw. eingeblendet.
Nun wollte ich im Querysave einfach Abfragen ob in einem Abschnitt eine Checkbox Angehakt ist aber keine Anzahl in dem dazugehörigen Feld angegeben ist.
Da kam das Problem das ich logischerweise mit fieldgettext natürlich nicht auf versteckte Felder zugreifen kann.
Daher die Frage gibt es eine Möglichkeit die Verfügbaren Elemente aus dem uidoc auszulesen. ?

Logischerweise kann ich auch die Berechnung für die Hide When Formeln nochmal im Querysave durchführen.
Ich hätte es anders eben eleganter gefunden.

 
Gruß
Qojote

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Überprüfen ob Feld im uidocument vorhanden ist
« Antwort #6 am: 09.05.05 - 09:16:12 »
ich würde mir ein Feld erzeugen, in dem ...

- eine "1" steht, wenn Abschnitt 1 angezeigt werden soll,
- eine "2" steht, wenn Abschnitt 2 angezeigt werden soll,
...
- ein "x" steht, wenn Abschnitt x angezeigt werden soll.

Im QuerySave kannst Du dann relativ einfach über das Feld die entsprechenden Felder überprüfen ohne die HW-Formel nochmal nachzuprogrammieren.
« Letzte Änderung: 09.05.05 - 09:20:04 von diali »
Gruß
Dirk

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Überprüfen ob Feld im uidocument vorhanden ist
« Antwort #7 am: 09.05.05 - 09:22:54 »
Hi,

... und wieso machst du das nicht mit Backend-Funktionen. Da ist es egal, ob das Feld versteckt ist oder nicht?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline qojote

  • Aktives Mitglied
  • ***
  • Beiträge: 229
  • I love YaBB 1G - SP1!
Re: Überprüfen ob Feld im uidocument vorhanden ist
« Antwort #8 am: 09.05.05 - 09:28:24 »
@diali das ist natürlich eine Alternative
schau ich mir mal an.

@Axel Backendfunktionen kannst du erst nutzen wenn das Dokument gespeichert wurde sonst hast du noch keine Items im Backend.

Gruß
Qojote

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Überprüfen ob Feld im uidocument vorhanden ist
« Antwort #9 am: 09.05.05 - 09:35:41 »
@Axel Backendfunktionen kannst du erst nutzen wenn das Dokument gespeichert wurde sonst hast du noch keine Items im Backend.

Wer sagt das?

Die einzigsten Felder, die erst nach dem Speichern "so richtig" vorhanden sind, sind die RTF-Felder. Alle anderen Felder kannst du mit Backend-Funktionen abfragen, auch wenn das Dokument noch nicht gespeichert wurde.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Überprüfen ob Feld im uidocument vorhanden ist
« Antwort #10 am: 09.05.05 - 09:48:44 »
a) Axel hat Recht, im Backend lässt sich das wunderbar machen auch ohne das das Doc schon gespeichert ist, so tue ich es normalerweise

b) alternativ kann man das (eigentlich sowieso sinnvolle) Error-Handling dafür verwenden und über on Error abfangen, wenn ein Feld im Frontend nicht zugänglich ist. Lösung a) ist aber imA zu bevorzugen.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline qojote

  • Aktives Mitglied
  • ***
  • Beiträge: 229
  • I love YaBB 1G - SP1!
Re: Überprüfen ob Feld im uidocument vorhanden ist
« Antwort #11 am: 09.05.05 - 10:17:51 »
@Axel sorry

habs grad probiert und es geht du hattest vollkommen recht.

Ich hatte das mal in einem anderen Zusammenhang probiert und da war das item nicht da kann sein das es sich um ein rtf- Feld handeltet.

Das schöne ist ja das ich dabei was gelernt habe. :-)

Gruß
Qojote

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz