Autor Thema: Error Creating Product Object  (Gelesen 1501 mal)

Offline chock

  • Senior Mitglied
  • ****
  • Beiträge: 337
  • Geschlecht: Männlich
Error Creating Product Object
« 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

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Error Creating Product Object
« Antwort #1 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?
« Letzte Änderung: 16.01.04 - 12:00:54 von Thomas Völk »
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Error Creating Product Object
« Antwort #2 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

« Letzte Änderung: 16.01.04 - 10:37:07 von Don Pasquale »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Error Creating Product Object
« Antwort #3 am: 16.01.04 - 10:47:50 »
NotesUIWorlkspace.Folder zeigt den MoveToFolder-Dialog. Natürlich nicht auf dem Server  ;D

Bernhard

Offline chock

  • Senior Mitglied
  • ****
  • Beiträge: 337
  • Geschlecht: Männlich
Re:Error Creating Product Object
« Antwort #4 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
   
   

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Error Creating Product Object
« Antwort #5 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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz