Domino 9 und frühere Versionen > ND6: Entwicklung
Bodyfeld überschrieben, alte Attachments werden noch angezeigt
DAU-in:
Hi @all!
ich hänge mal wieder fest.
Bei einer Lese-DB zur Veröffentlichung von Dokumenten (diese werden aus einer anderen DB kopiert) werden gelöschte Attachments (bzw. Attachments deren Richtextfeld überschrieben wurde) recht unschön angezeigt (siehe Bild).
Das Problem ist jetzt beim Löschen von Attachments jetzt behoben (ich gehe in einer Schleife durch die EmbeddedObjects und lösche das jeweilige Objekt), aber wie komme ich an die alten, sozusagen gelöschten Attachments ran, damit auch die alten Dokumente ohne diese gelöschten Attachments angezeigt werden?
Das Update der Dokumente erfolgte über
Lesekey = doc.InfoDocID(0)
Set Lesedoc = Leseview.GetDocumentByKey(Lesekey)
If Not Lesedoc Is Nothing Then
doc.tStatus = "2"
Call doc.Save(True,False)
Call doc.CopyAllItems(Lesedoc,True)
Call Lesedoc.Save( True, True )
End If
Das Bodyfeld, in dem die Attachments eingehängt werden, wurde also einfach überschrieben, die Files selber wurden aber nicht gelöscht. Ich kann auch die $File-Items sehen. Sie haben auch noch die alten Längen. Ich finde aber keinen Unterschied zu einem 'ordentlichen' Attachment. Wenn ich sie öffnen will, kommt ein 'keine Applikation gefunden'., der Dokumententyp scheint entfernt worden zu sein. Wie kann ich jetzt genau diese Attachments feststellen, und diese alten Attachments komplett entfernen, ohne jedes Dokument manuell zu öffnen?
Gerade bin ich ratlos. :-:
Grüsse
Dau-in
ata:
... da scheinen tatsächlich mehrere Sachen passiert zu sein.
Wenn du alle RichText-Felder löschst, dann hängen die Attachments unter dem Dokument, verlieren aber eigentlich nicht die Dateitypen - da scheint noch was anderes eine Rolle zu spielen...
Toni
DAU-in:
Hi, ata!
irgendwo muss ja die Information stecken, dass diese Files nicht mehr zu dem Bodyfeld gehören, das aktuell in den Dokumenten enthalten ist.
Die Filegrösse etc. stimmt ja.
Was genau passiert ist, kann ich nur ungefähr nachvollziehen an Hand des Codes, der in der DB ist, da ich die DB übernommen habe, und der Fehler letzte Woche gemeldet wurde, da es als 'ist halt so' bekannt war.
Grüsse
Dau-in
ghost:
Ich glaube du kannst mit
--- Zitat ---notesDocument.GetAttachment( fileName$ )
--- Ende Zitat ---
darauf zugreifen.
Viele Grüße
ghost
ata:
... du übernimmst die Attachments über CopyAllItems - gibt es in deinem Lesedoc-Dokument bereits Rich-Text-Felder mit Attachments? Da könnte es Probleme geben.
Ansonsten, sollten die Felder dort leer sein, dann solltest du sie zuerst löschen.
Ich würde eher dazu neigen die Attachments einzeln auszulösen und zu übernehmen...
Toni
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln