Domino 9 und frühere Versionen > ND7: Entwicklung

Richtext Doklink ergänzen

(1/2) > >>

Hatschi:
Hallo,

an folgendem Problem habe ich mich verbissen und komme nicht weiter. Vielleicht hat von euch jemanden einen Hinweis den ich zur Lösung nachgehen kann.

Ich habe ein Dokument mit einem Richtextfeld. In dem RTItem befindet sich Text und ein Doklink. Jetzt soll per Agent ein weiterer Doklink an das RTItem angehangen werden. Der Doklink wird auch angefügt, jedoch wird aus dem schon vorhandenen Doklink ein Ansichtslink! Zur Erläuterung habe ich hier die Grafik eingefügt.


Mit folgendem Code ergänze ich den Doklink unter Notes 7.0.3:
...
'Frontend schliessen
  Call uidoc.close()
  Set rtitem = doc.GetFirstItem("Body")
'Doklink anhängen
  Call rtitem.AddNewline(1)
  Call rtitem.appenddoclink(Fassdoc, Fassdaten(i-1).Anhang +| wurde ins Anhangsarchiv geschoben.|)
'Dokument speichern
  Call doc.Save(True, True)
'Dokument schliessen und wieder neu öffnen
  Call ws.EditDocument(False, doc)
...

Da habe ich echt ein Brett vor dem Kopf und kann mir das Verhalten von Notes nicht erklären. Neustart und Cache löschen brachte leider keine Verbesserung. Danke für jeden Tipp der mir helfen kann.

Bernd

Ralf_M_Petter:
Ohne vollständigen Code kann man da gar nichts sagen. Der Code den du gezeigt hast kann gar nicht funktionieren, da doc nie gesetzt wird. Sollte eigentlich einen Abbruchfehler bringen.

Am einfachsten du baust das mal in einer Testdatenbank nach und schaust, ob es dort funktioniert. Dann kannst du auch problemlos den ganzen Code posten. Der Fehler wird nämlich sicher in dem Codeteil sein, den du nicht zeigst.

Grüße

Ralf

pram:
1. Ralf hat wahrscheinlich recht
2. ich vermisse ein rtitem.compact() oder rtitem.update() vor dem Save
3. Gibt es in deinem Doc ein Feld namens $Links? In diesem verwaltet Notes die Links und wenn man in den RT-Items "rumpfuscht" kann es passieren, dass die Links nicht mehr da hin führen wo sie sollen.

Gruß
Roland

Hatschi:
Guten Morgen Ralf,

ich habe nur den Codeteil gepostet, indem ich auch das Dokument verändere. Deshalb habe ich den Codeschnipsel in ... gesetzt um damit anzudeuten das es eben nur ein Teil ist.
Das Dokument hole ich mir aus dem aktuellen Workspace
   Set ws=New notesuiworkspace
   Set uidoc=ws.CurrentDocument
   Set doc=uidoc.Document
An eine Testdatenbank habe ich noch nicht gedacht.

Guten Morgen Roland,
rtitem.compact() und update() kenne ich noch nicht. Das werde ich gleich  nachlesen was es damit auf sich hat und es eventuell einbauen.
Ein Feld $Links gibt es nicht.

Was mir aber noch aufgefallen ist, die Dokumenteigenschaften zeigen mir nur ein Item Body an, während die Lite Version von ScanEz mir zwei Felder anzeigt (siehe Screenshot). Das kann ich aber nicht deuten.

Ich vermute das es vielleicht an diesem einen Dokument liegt und werde noch ein wenig testen.

Wenn euch noch etwas einfällt, dann bitte her damit.

Bernd

Ralf_M_Petter:
Hm ich würde mal probieren  genau den von dir jetzt geposteten codeteil zu ändern. Du holst das doc von einem uidoc, dass du nachher schliesst. Ich würde das doc mal nach dem schliessen über die unid neu holen eventuell sind dann deine Probleme schon behoben.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln