Autor Thema: rich text eingabevalidierung  (Gelesen 2327 mal)

Offline my head

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
rich text eingabevalidierung
« am: 18.08.04 - 11:33:38 »
hallo!

wie kann ich im frontend überprüfen, ob in einem richtext-feld text oder eine angehängte datei ist??? das ganze bräuchte ich mit script...

danke

Offline HarryB

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 521
  • Geschlecht: Männlich
Re:rich text eingabevalidierung
« Antwort #1 am: 18.08.04 - 14:29:20 »
Code
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem

'...doc auswählen

Set rtitem = doc.GetFirstItem("Body")
If (rtitem.EmbeddedObjects = Empty) Then

  'keine Anhänge vorhanden

Else

  'Anhänge vorhanden

End If

Viele Grüße
Harry
Harald "HarryB" Börger

2 x 7.0.2FP1 auf AIX (Cluster)
1 x 7.0.2FP2 auf AIX
1 x 6.5.5 auf AIX
4 x 7.02.FP2 auf WIN

Clients: 7.0.2

Offline my head

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
Re:rich text eingabevalidierung
« Antwort #2 am: 18.08.04 - 15:09:04 »
gib es eine möglichkeit mit uidoc

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re:rich text eingabevalidierung
« Antwort #3 am: 18.08.04 - 15:10:47 »
das von Harry genannte Script funktioniert leider erst nach dem Speichern....

Da es hier um eine Eingabevalidierung geht, bleibt Dir nur der Umweg über

@AttachmentNames (für Attachments) und einem extra- Feld mit @Abstract() wobei ich bei Abstract nicht sicher bin, ob das nicht auch erst NACH dem speichern gefüllt ist...

HTH
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline HarryB

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 521
  • Geschlecht: Männlich
Re:rich text eingabevalidierung
« Antwort #4 am: 19.08.04 - 10:34:18 »
das von Harry genannte Script funktioniert leider erst nach dem Speichern....

Wirklich? Ich meine auch schon Zugriff auf das Backend Dokument erlangt zu haben, wenn das Dokument noch nicht gespeichert ist. Auf das Backend Dokument bekommt man per uidoc.Document spielend.

Viele Grüße
Harry
Harald "HarryB" Börger

2 x 7.0.2FP1 auf AIX (Cluster)
1 x 7.0.2FP2 auf AIX
1 x 6.5.5 auf AIX
4 x 7.02.FP2 auf WIN

Clients: 7.0.2

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:rich text eingabevalidierung
« Antwort #5 am: 19.08.04 - 10:36:09 »
Zugriff auf das in-memory-backend-doc ist nicht das Problem, das Tode hier meint, es ist die Frage, wie aktuell das Backend-Doc ist, solange nicht gespeichert wurde.
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 HarryB

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 521
  • Geschlecht: Männlich
Re:rich text eingabevalidierung
« Antwort #6 am: 19.08.04 - 10:43:42 »
Zugriff auf das in-memory-backend-doc ist nicht das Problem, das Tode hier meint, es ist die Frage, wie aktuell das Backend-Doc ist, solange nicht gespeichert wurde.

Du meinst, es ist ein Unterschied ob ich von vorn (Frontend) oder von hinten (Backend) auf dieselben Speicherzellen im Speicher zugreife? Ich meine, das sollte kein Unterschied sein.

Angenommen, ich habe Zugriff auf ein bereits gespeichertes Dokument per uidoc, welches auch aktuell geändert wurde, wobei die Änderungen nicht gespeichert wurden. Wenn ich jetzt den Zugriff über die Backend Klasse per uidoc.Document vornehme, habe ich dann im Backend die Daten des noch nicht gespeicherten, im Speicher befindlichen Dokumentes oder die Daten des (veralteten) Dokumentes auf der Festplatte?

Viele Grüße
Harry
Harald "HarryB" Börger

2 x 7.0.2FP1 auf AIX (Cluster)
1 x 7.0.2FP2 auf AIX
1 x 6.5.5 auf AIX
4 x 7.02.FP2 auf WIN

Clients: 7.0.2

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:rich text eingabevalidierung
« Antwort #7 am: 19.08.04 - 11:20:16 »
Nö, das sind nicht dieselben Speicherzellen, die Sache ist hochkompliziert.
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 Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re:rich text eingabevalidierung
« Antwort #8 am: 19.08.04 - 14:07:42 »
@HarryB:

Wenn es sich um Richtext-Inhalte handelt, hast Du TASTSÄCHLICH die Inhalte des zuletzt gespeicherten (auf Platte befindlichen) Dokumentes und NICHT die Inhalte dessen, was Du gerade auf dem Screen siehst.

Alle anderen Felder werden wohl in Echtzeit auch im Backenddokument hintlerget, bei Richtextfeldern geht das NICHT.

Es hibt deshalb seit R5 einen Befehl, der da lautet uidoc.Refresh( [ IncludeRichTextItems ] )

Der holt tatsächlich die Inhalte des Frontends auch für Richtextfelder ins Backend... Der Befehl hat nur einen klitzekleinen Schönheitsfehler:
Er speichert das Dokument ab...

Mach mal folgendes: schreib mal in ein Querysave einer Testmaske (nur ein RT-Item ) folgende zwei Zeilen:

Call source.Refresh( True )
Continue = False

und Du wirst feststellen, dass die Änderungen, die Du machst TROTZDEM gespeichert werden...
Für eine Validierung ist das refresh = True also vollkommen sinnlos.

... zumindest war das bis vor kurzem noch so... ich habe das gerade in 6.5.2 getestet: DIE FUNKTION KLAPPT ENDLICH ! Ich fasse es nicht...
Kommando zurück... ich behaupte das Gegenteil... muss jetzt doch mal in den Releasenotes stöbern und schauen, ab welcher Version das refresh das Dokument nicht mehr implizit speichert...

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:rich text eingabevalidierung
« Antwort #9 am: 19.08.04 - 14:25:49 »
Wenn ich mich richtig erinnere, war die Methode schon längere Zeit da, hatte aber einen kritischen Bug drin, den die lieben Kollegen@Iris lange nicht beheben konnten :(
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 Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re:rich text eingabevalidierung
« Antwort #10 am: 19.08.04 - 14:34:59 »
@semeaphoros:
Du liest heute grundsätzlich nur die Hälfte, oder !? ;D

Der Bug war zunächst (frühe 5er Versionen <5.0.8) der, dass es schlicht und ergreifend nicht funktioniert hat. Ob der Schalter gesetzt war oder nicht, war ihm schnurz egal.

Nachdem es dann funktioniert hat, war der Bug, das ein uidoc.Refresh( True ) mit diesem Befehl gespeichert wurde... hat man also Änderungen vorgenommen, dann ein refresh aufgerufen, und das Dokument OHNE zu SPEICHERN geschlossen, dann waren die Änderungen trotzdem im Dokument...
Das war bis EINSCHLIESSLICH 5.0.11 der Fall..
später habe ich das nie mehr ausprobiert...
Erst heute habe ich das mal mit 6.5.2 getestet, und siehe da: der bug scheint stillschweigend (in den Release- Notes steht nix davon) behoben worden zu sein: refreh( true ) funktioniert endlich so, wie er soll...

Dann muss ich ab sofort meine Kommentare zu validation / Richtext ändern...

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz