Autor Thema: Anhang aus virtuellem Dokument lösen  (Gelesen 1964 mal)

Offline Speedy

  • Frischling
  • *
  • Beiträge: 16
  • Geschlecht: Männlich
Anhang aus virtuellem Dokument lösen
« am: 23.02.07 - 10:31:47 »
Hallo,

ich habe hier ein Problem, an dem ich derzeit nicht weiterkomme.

Über einen Button innerhalb einer Maske starte ich einen Scriptcode.
Dieser Code erzeugt ein neues Object einer Klasse.

Im Konstrukor der Klasse wir ein Parameterdokument angelegt und ein Agent aufgerufen.
Dieser Agent wird mit "RunOnServer" aufgerufen und er bekommt die NoteId des erzeugten Parameterdokumentes übergeben.
Der Agent sucht in einer anderen Datenbank nach einem bestimmten Dokument (die Angaben dazu, wurden im Parameterdoc übergeben).
Wird das Dokument gefunden, so wird mittels CopyAllItems das Dokument in das Parameterdoc kopiert und vorhandene Leserfelder entfernt. Das Parameterdoc wird gespeichert und der Agent beendet.

Dies ist notwendig, da nur der Agent alle Dokumente in der entsprechnden Datenbank sehen kann. Die Dokumente sind mit Leserfeldern versehen!!!

Nachdem der Agent beendet wurde, wird das Parameterdokument ausgelesen und die Felder in private Variablen der Klasseninstanz kopiert. Danach wird das Parameterdokument gelöscht. Dazu wird ein weiterer Agent verwendet, der Löschrechte in der aktuellen Datenbank hat. (Der Anwender hat keine Löschrechte!!)

Nach der Initialisierung kann mit dem erzeugten Objekt gearbeitet werden.
Die Klasse hat eine Funktion ExtractAttament, die einen evtl. vorhandenen Anhang aus dem ermittelten Dokument lösen soll. (Dieses Dokument ist ja jetzt nur noch in der privaten Klassenvariable prv_FoundDoc vorhanden!!)

Hier beginnt nun mein Problem:
Die Funktion deklariert eine Variable o_Attachment as NotesEmbeddedElement und initialisiert diese mit dem entsprechenden Item

Set o_Attachment = prv_FoundDoc.GetAttachment( Attachmentname )

, jedoch führt der Aufruf von

Call o_Attachment.ExtractFile( filepath )

zur Fehlermeldung"Invalid oder nonexisting document".
Hinweis: filepath und o_Attachment sind ordnungsgemäß gefüllt.

Frage:
Muss das derzeit nur im Speicher befindliche Dokument prv_FoundDoc (welches mit CopyAllItems aus dem Parameterdoc erzeugt wurde und derzeit bewußt nicht gespeichert wurde!!) zunächst abgespeichert werden?
Dies wäre ziemlich übel, denn dann muss das in einer lokalen Datenbank passieren, das der Anwender keine Löschrechte in der aktuellen Datenbank hat.

Fällt Euch eine andere Möglichkeit ein, einen Anhang aus einem Dokument zu lösen, das nur "virtuell" im Speicher vorhanden ist?

Speedy

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Anhang aus virtuellem Dokument lösen
« Antwort #1 am: 23.02.07 - 11:09:43 »
Hallo
ich denke das Problem liegt da
Zitat
Nachdem der Agent beendet wurde, wird das Parameterdokument ausgelesen und die Felder in private Variablen der Klasseninstanz kopiert. Danach wird das Parameterdokument gelöscht. Dazu wird ein weiterer Agent verwendet, der Löschrechte in der aktuellen Datenbank hat. (Der Anwender hat keine Löschrechte!!)

Was passiert, wenn Du das Parameterdokument nicht sofort löschst?
Funktionierts dann?
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline Speedy

  • Frischling
  • *
  • Beiträge: 16
  • Geschlecht: Männlich
Re: Anhang aus virtuellem Dokument lösen
« Antwort #2 am: 23.02.07 - 13:37:16 »
Hallo,

Hallo
Was passiert, wenn Du das Parameterdokument nicht sofort löschst?
Funktionierts dann?

Leider nicht!
Ein Versuch den Anhang aus dem prv_FoundDoc zu extrahieren wenn das Parameterdok. noch vorhanden ist scheitert!

Wenn ich natürlich als Grundlage das Parameterdok. verwende ist alles prima. Dieses Dok. ist ja auch gespeichert!
Dies ist aber nicht gewollt, da Initialisierung der Klasse und aufrufen der Funktion nichts miteinander zu tun haben und ich möchte die Lebensdauer des Parameterdoc so kurz wiie möglich halten!

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Anhang aus virtuellem Dokument lösen
« Antwort #3 am: 23.02.07 - 13:44:32 »
Naja, was Du willst und was Notes kann scheint in diesem Falle nicht ganz dasselbe zu sein.

Was sagt denn der Debugger zu der ganzen Geschichte? werden die Objekte angelegt, sind die Attachments vorhanden?

Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline Speedy

  • Frischling
  • *
  • Beiträge: 16
  • Geschlecht: Männlich
Re: Anhang aus virtuellem Dokument lösen
« Antwort #4 am: 23.02.07 - 14:21:57 »
Hallo,

Naja, was Du willst und was Notes kann scheint in diesem Falle nicht ganz dasselbe zu sein.
ist das nicht meistens so  ;)

Was sagt denn der Debugger zu der ganzen Geschichte? werden die Objekte angelegt, sind die Attachments vorhanden?
Innerhalb des Debuggers sind alle Items im prv_FoundDoc vorhanden.
Auch das EmbeddedObject läßt sich einwandfrei holen, daher war ich ja auch so vermessen darauf den ExtractFile auszuführen !

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz