Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: chock am 16.01.04 - 08:07:37

Titel: Error Creating Product Object
Beitrag von: chock am 16.01.04 - 08:07:37
Hallo,

ich benutzte folgendes Script in einer Maildatenbank um Dokumente auf einen bestimmten Laufwerk abzulegen. Wenn ich dieses Script manuell ausführe funktioniert es ohne Probleme. Auch Debugger zeigt keine Fehler.
Ich möchte nun dieses Script periodisch (nach Eingang einer neuen Mail) laufen lassen.
Dabei kommt auf der Serverkonsole die Fehlermeldung Error Creating Product Object.

Sub Initialize
   Dim session As New NotesSession
   Dim view As NotesView
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Dim rtitem As NotesRichTextItem
   Dim ws As New NotesUIWorkspace
   
   
   
   Set db = session.CurrentDatabase
   Set view = db.GetView( "($Inbox)" )
   Set doc = view.GetFirstDocument
   
   
   
   Do While Not doc Is Nothing
      
      Set rtitem = doc.GetFirstItem( "Body" )
      
      If doc.HasEmbedded Then
         
      If ( rtitem.Type = RICHTEXT ) Then
      
      Forall o In rtitem.EmbeddedObjects
         
      If ( o.Type = EMBED_ATTACHMENT )  Then
                  
      Call o.ExtractFile ( "\\khapp01\pcr\"&  o.Source )
      Call doc.Save( True, True )
                  
      End If
      End Forall
      End If
      
      doc.Detached = "1"
      
      End If
      
      Call ws.folder("PCR bearbeitet", True)
      
      Set Doc = View.GetNextDocument(Doc)
   Loop
   
End Sub
Titel: Re:Error Creating Product Object
Beitrag von: animate am 16.01.04 - 08:47:00
in periodischen Agents darfst du keine UI-Klassen verwenden
in deinem Fall NotesUIWorkspace.
btw: du instanziierst ein Objekt der Klasse aber du benutzt es nicht.

*edit* oh, du benutzt es ja doch. sorry hab ich übersehen. das ist nicht möglich in Agents, die auf dem Server laufen. Wer soll da schon mit welchem UI interagieren?
Titel: Re:Error Creating Product Object
Beitrag von: Don Pasquale am 16.01.04 - 10:35:57
Das Zugreifen auf Attachments scheint diese Woche in Mode zu sein.
Das Skript kann übrigens noch nie ordentlich funktioniert haben,
das doc.save(true,true) kommt ein wenig früh
denn   doc.Detached = "1"
wird zwar gesetzt, die Datei danach aber nicht mehr gespeichert.

Also lösche :   Dim ws As New NotesUIWorkspace
und setze das das doc.save(true,true) hinter das doc.Detached = "1"


Was bedeutet : Call ws.folder("PCR bearbeitet", True) ?


Ciao
Don Pasquale

Titel: Re:Error Creating Product Object
Beitrag von: koehlerbv am 16.01.04 - 10:47:50
NotesUIWorlkspace.Folder zeigt den MoveToFolder-Dialog. Natürlich nicht auf dem Server  ;D

Bernhard
Titel: Re:Error Creating Product Object
Beitrag von: chock am 16.01.04 - 15:12:02
Habe es jetzt so gelöst Dank eurer Hilfe.

Dim session As New NotesSession
   Dim view As NotesView
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Dim rtitem As NotesRichTextItem
   Dim dc As NotesDocumentCollection
   
   
   
   Set db = session.CurrentDatabase
   Set view = db.GetView( "($Inbox)" )
   Set dc = db.AllDocuments
   Set doc = view.GetFirstDocument
   
   
   
   Do While Not doc Is Nothing
      
      Set rtitem = doc.GetFirstItem( "Body" )
      
      If doc.HasEmbedded Then
         
      If Not doc.hasitem("Detached") Then
         
      If ( rtitem.Type = RICHTEXT ) Then
               
      Forall o In rtitem.EmbeddedObjects
                  
      If ( o.Type = EMBED_ATTACHMENT )  Then
                     
      Call o.ExtractFile ( "\\khapp01\pcr\"&  o.Source )
                     
      Sleep 5
               
                     doc.Detached = "1"
   Call doc.Save( True, True )
   'Call doc.RemoveFromFolder("($Inbox)")
   'Call doc.PutInFolder("PCR bearbeitet")
               
   End If
               
                End Forall
   End If
      
   End If
         
   End If
   If doc.hasitem("Detached") Then
   Call doc.RemoveFromFolder("($Inbox)")
   Call doc.PutInFolder("PCR bearbeitet")
      End If
      Set Doc = view.GetNextDocument(Doc)
      
   Loop
   
   
Titel: Re:Error Creating Product Object
Beitrag von: koehlerbv am 16.01.04 - 16:59:18
Gut zu wissen - vor allem, da ja nicht alle auch die Lösung ihrer Probleme hier posten.

Ein schönes Wochenende wünscht
Bernhard