Domino 9 und frühere Versionen > ND6: Entwicklung

[LotusScript] Type Mismatch

<< < (5/6) > >>

DaWutz:
Ich nochmal...  ;)

ich hab mein Problem jetzt soweit gelöst, Code steht unten, ABER ich habe es nicht hinbekommen, das ich nur das Richtextfeld Body aus dem alten Dok bekommen habe, sondern ich musste (aus Unkenntnis wie anders) das ganze alte Doc in das "Content"-Feld der neuen DB hauen. Damit habe ich zwar alles erschlagen, alle Attachments, allen Text usw., aber wirklich befriedigen tut mich dieser Weg nicht. Zum einen hab ich nu viel Müll im Content-Feld, zum anderen hat das kopieren bei 360 Docs mal knappe 4 Min gedauert - performant ist also was anderes... (oder irre ich mich da)

Wie müsste ich vorgehen, wenn ich wirklich nur das komplette RT-Feld Body (mit allen Attachments, Text, etc.) in das neue RT-Feld kopieren wollte?

Mein Code:

Dim...

Set SourceDB = session.CurrentDatabase
   Set DestinationDB = session.GetDatabase(SourceDB.Server,"IT\it-kb.nsf")
   Set coll = SourceDB.UnprocessedDocuments
   Set docOld = coll.GetFirstDocument()   
   counter = 0
   
   Do While Not docOld Is Nothing
      Set docNew = New NotesDocument(DestinationDB)
      
      docNew.Form = "Documentation"
      docNew.Title = docOld.Subject
      docNew.CreatedBy = docOld.From
      docNew.CreatedOn = docOld.Date
      docNew.LastModifiedBy = docOld.LastEditor
      
      Set rtitem = New NotesRichTextItem(docNew,"Content")
      Call docOld.RenderToRTItem(rtitem)
      
      splitPart1 = Strtoken(docOld.getItemValue("Categories")(0), "\", 1)
      splitPart2 = Strtoken(docOld.getItemValue("Categories")(0), "\", 2)
      If splitPart2 = "" Then
         splitPart2 = splitPart1
         splitPart1 = "!! Kontrollieren !!"
      End If
      docNew.Category = splitPart1
      docNew.SubCategory = splitPart2
      
      Call docNew.Save(True,True)
      Set docOld= coll.GetNextDocument(docOld)
      counter = counter + 1
   Loop
   Msgbox( counter & " Dateien kopiert!")

koehlerbv:
Warum verwendest Du nicht NotesItem.CopyItemToDocument ? Das zieht Dir auch Anhänge mit etc.

Bernhard

DaWutz:
Hmm... weil ich nur die Methoden copyItem und copyAllItems finde.

Und mit copyItem habe ich es versucht, aber dann habe ich das zwar kompilieren können, aber die Content Felder waren einfach immer leer.  :(

Deshalb ja diese "um die Ecke"-Lösung...

koehlerbv:
Daniel, hallo ! Lesen ! Von welcher Klasse und Methode habe ich gesprochen ? Was Du erwähnst, ist doch was völlig anderes (was natürlich auch nicht das von Dir gewünschte Resultat bringen kann).

Bernhard

DaWutz:
Aua...

ja, da fällt es mir wie Schuppen aus den Haaren... ich war so vernagelt auf das NotesDocument.  :P

Aber nun... Hmmm - ok, das werde ich nachher daheim gleich mal probieren - nu gehts erstmal heimwärts.

Danke!  :D

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln