Autor Thema: RichText-Feld mit Doclinks erzeugen  (Gelesen 1663 mal)

Offline dottore

  • Frischling
  • *
  • Beiträge: 8
  • Geschlecht: Männlich
  • Notes-Neuling
RichText-Feld mit Doclinks erzeugen
« am: 25.09.03 - 10:40:39 »
Hallo,

ich arbeite gerade an einer Meeting-Datenbank.

Die TOPs sollen als Antwortdokumente angelegt werden, allerdings soll die Möglichkeit bestehen, über das Haupdokument via Doclink auf die einzelnen Antwortdokumente zuzugreifen. Hie ist der Code, den ich mir ausgedacht habe:

Function TOPReiterAktualisieren ( uidoc As NotesUIDocument )
   Dim s   As New NotesSession   'Session
   Dim db   As NotesDatabase   'Aktuelle Datenbank
   Dim doc   As NotesDocument   'Aktuelles Dokument
   Dim unid   As Variant      'Array von UniqueIDs, das alle Antwortdokumente enthält
   Dim topdoc As NotesDocument   'AntwortDokument
   Dim topnr()   As Integer   'Array von Nummern
   Dim tthema()   As String      'Array von Themen
   Dim tlink      As Variant   'Hier wird das RT-Feld für die Doclinks gespeichert
   Dim i   As Integer      'Zählvariable
   Set db   = s.currentDatabase
   Set doc   = uidoc.Document
   'Nicht bei Entwürfen
   If doc.MStatus(0) > 10 Then
      
      'Editiermodus für Feldänderungen erforderlich
      If Not uidoc.EditMode Then
         uidoc.EditMode = True
      End If
      
      'Array der Unid der TOPs einlesen
      unid = doc.getItemValue( "TopListe" )
      'Arraylängen = Anzahl Einträge im Feld TopListe
      Redim topnr( Ubound( unid ) )  As Integer
      Redim tthema( Ubound( unid ) ) As String
      doc.RemoveItem( "TLinks" )
      Set tlink = doc.CreateRichTextItem( "TLinks" )
      
      For i = Lbound( unid ) To Ubound( unid )
         topnr(i) = i + 1         
         Set topdoc = db.GetDocumentByUNID( unid( i ) )
         tthema(i) = topdoc.TThema(0)
         If ( tlink.Type = RICHTEXT ) Then
            Call tlink.AddNewLine( 1 )
            Call tlink.AppendText( "--> " )
            Call tlink.AppendDocLink( topdoc, "Klicken Sie hier, um den TOP einzusehen." )
         End If
      Next
      Call doc.ReplaceItemValue( "TopNr", topnr )
      Call doc.ReplaceItemValue( "TopThema", tthema )
      'Call doc.ReplaceItemValue( "TLinks", tlink ) 'macht keinen Unterschied...
      Call doc.save( False, False )
   End If
End Function


Das Problem dabei ist, das alles Funktioniert, nur das RT-Feld wird nicht übertragen. Im Debugger zeigt er Text an, aber im Dokument nicht. ( Auch nach schliessen und wieder öffnen nicht)

Ich freue mich über jede Idee.
Romanus eunt domus! (Mensch, genannt Römer, gehen das Haus!)

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:RichText-Feld mit Doclinks erzeugen
« Antwort #1 am: 25.09.03 - 19:27:26 »
a) was spricht gegen einen embedded View? Das leistet doch genau diese Arbeit (allerdings nicht via Doclink aber dafür mit einer Liste, die soviel Angaben haben kann, dass das Oeffnen des Docs vielleicht nicht einmal mehr nötig ist)

b) sollte das im Fuss nicht "in ventum" in 2 Wörtern heissen?
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 koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:RichText-Feld mit Doclinks erzeugen
« Antwort #2 am: 25.09.03 - 22:32:20 »
@Semaphoros:
"Gegen den Wind" sollte lateinisch wirklich "in ventum" heissen, also in zwei Wörtern stehen.
Zitat
Das ist für mich als ehemaligem Sprachlehrer und einer, der sich fast sein Leben lang mit Sprachtheorie und ähnlichem beschäftigt hat, nicht wirklich überraschend.

Von der Ausbildung bin ich zwar auch Lehrer wie Jörg (aber Physik und Astronomie), und ich habe im Gymnasium verstärkten Fremdsprachenunterricht genossen (wirklich genossen !), aber da war kein Latein dabei (man lernt aber trotzdem einiges, was dann sogar Latein erschliessen hilft). "In ventum" in zwei Wörtern erschien mir logischer, aber ich habe sicherheitshalber mal nachgefragt: Der Präsident der Thüringer Akademie der Wissenschaften (mein Vater ;-) hat mir bestätigt: "in ventum" ("in den Wind", übertragen sicher auch "gegen den Wind") ist richtig, inventum hiesse Erfindung. Spaß am Rande: Auf russisch hiesse das "protiv wetera" ;-))

Ciao,
Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:RichText-Feld mit Doclinks erzeugen
« Antwort #3 am: 25.09.03 - 23:15:26 »
Mensch Bernhard, gute Forschungsarbeit :-), würde einem Philologen alle Ehre machen.

War allerdings ein Eigentor, hab ich doch Lat und Griechisch unterrichtet. Uebrigens lat. "in" mit Akkusativ kann "in, an, auf, nach, gegen" heissen, also "in ventum" ist generisch gegen den Wind, nicht "nur" übertragen. Ja, "inventum" würde "das Erfundene" oder eben "die Erfindung" heissen und das passt so überhaupt nicht zum Rest des Satzes.
« Letzte Änderung: 25.09.03 - 23:16:41 von Semaphoros »
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 koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:RichText-Feld mit Doclinks erzeugen
« Antwort #4 am: 25.09.03 - 23:27:58 »
@Semaphoros
He, ich hab's doch nur geahnt, der "Herr Präsident" hat's dann auf meine Nachfrage gelöst - war also nicht gerade mein Verdienst ;-)

Aber gegen den Wind pinkelt halt eben wirklich kein vernünftiger Mensch ;-)

Ciao,
Bernhard

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:RichText-Feld mit Doclinks erzeugen
« Antwort #5 am: 25.09.03 - 23:30:31 »
Bei dem ganzen Off-Topic-Geraffel sollten wir jetzt nicht die eigentliche Frage vergessen:
Was mich stutzig macht: Es wird ein NotesUIDocument and ie Function übergeben und dann im BackEnd an einem RTF gebastelt. Was passiert den weiter (ausserhalb der Function) im NotesUIDocument ? Wird da eventuell das BackEnd-Document gleich wieder überschrieben ? Sieht irgendwie danach aus ...

HTH,
Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:RichText-Feld mit Doclinks erzeugen
« Antwort #6 am: 26.09.03 - 00:48:42 »
Ok, nachdem Bernhard mich "enttarnt" hat, an die Arbeit, bevor er noch meinen Nick knackt :-)

Was heisst "nach Schliessen und wieder öffnen?" das Backend Dock oder das UI Doc? Meiner Meinung nach müsste man das UI-Doc schliessen und wieder öffnen, um das RT zu refreshen.

Ist es möglich, dass wir es mit diesem Problem zu tun haben? Das ist aus dem NotesUIDocument.Reload Help ausgeschnitten, steht aber auch anderweitig zu lesen:

Modifications made to rich-text items on the back-end document do not appear on the current document until it is closed and reopened.

Closed und Reopened meint hier ganz klar dasi UIDocument. Normalerweise sieht der Code etwa so aus:

     Call doc.save(False,False)
     
'Set save options to zero so that user does not get prompted to save after closing uidoc    
     doc.saveoptions = "0"
     Call uidoc.close
     
'Use handle to the back end document to open it in the front end
     Set uidoc = w.EditDocument(True, doc, False)
     
'Reset doc and set saveoptions back to "1"    
     Set doc = uidoc.document
     doc.saveoptions = "1"    
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 dottore

  • Frischling
  • *
  • Beiträge: 8
  • Geschlecht: Männlich
  • Notes-Neuling
Re:RichText-Feld mit Doclinks erzeugen
« Antwort #7 am: 26.09.03 - 10:06:44 »
Jau Prima,

das Problem ist gelöst! Tatsächlich habe ich im Backend editiert und dann beim schliessen des FrontEnds die Änderungen wieder überschrieben. Und dann natürlich nix mehr gesehen von meinen Änderungen.
Wieder was dazugelernt!

Auch über Latein und meine Signatur. Vielen Dank für die Korrektur. Ich habe diesen Satz nur von einem Latein-LKler gehört, selber hatte ich nie Latein.
Romanus eunt domus! (Mensch, genannt Römer, gehen das Haus!)

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:RichText-Feld mit Doclinks erzeugen
« Antwort #8 am: 26.09.03 - 11:02:11 »
Jetzt ändere mal Romanus in Romani, sonst ist es nämlich nur ein Römer .......... :-) .... sorry, konnte nicht widerstehen ...
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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz