Autor Thema: [LotusScript] Type Mismatch  (Gelesen 10616 mal)

Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Re: [LotusScript] Type Mismatch
« Antwort #20 am: 02.03.05 - 18:13:09 »
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!")
Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: [LotusScript] Type Mismatch
« Antwort #21 am: 02.03.05 - 18:25:16 »
Warum verwendest Du nicht NotesItem.CopyItemToDocument ? Das zieht Dir auch Anhänge mit etc.

Bernhard

Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Re: [LotusScript] Type Mismatch
« Antwort #22 am: 02.03.05 - 18:33:00 »
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...
Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: [LotusScript] Type Mismatch
« Antwort #23 am: 02.03.05 - 18:40:36 »
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

Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Re: [LotusScript] Type Mismatch
« Antwort #24 am: 02.03.05 - 18:49:23 »
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
Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: [LotusScript] Type Mismatch
« Antwort #25 am: 02.03.05 - 18:58:01 »
Gern geschehen, Daniel  ;)

Mit der Erfahrung sinkt auch die Zahl solcher Fehler - aber nie die generelle Möglichkeit, verbohrt auf der falschen Schiene zu fahren (dann eben auf "höherem Niveau). Ich kann das also lebhaft nachvollziehen.

Good luck,

Bernhard

Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Re: [LotusScript] Type Mismatch
« Antwort #26 am: 03.03.05 - 13:30:59 »
Ich mal wieder...  ::)

Also nu hab ich das ganze so hinbekommen wie es sich wohl eigentlich gehört. 2 simple Zeilen, und daran habe ich nun ewig rumgedoktort. Aber mit dem Schubs in die richtige Richtung war´s dann kein Problem mehr!  ;D

Danke Bernhard!
(und auch allen anderen die sich beteiligt haben!)

PS: hier auch die "Lösung" meines Problems

...
   Set bodyOld = docOld.GetFirstItem( "Body" )
   Call bodyOld.CopyItemToDocument( docNew, "Content" )
...

Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz