Das Notes Forum

Lotus Notes / Domino Sonstiges => Java und .NET mit Notes/Domino => Thema gestartet von: Sebastianh am 18.12.08 - 16:51:05

Titel: verschwundene Dokumente
Beitrag von: Sebastianh am 18.12.08 - 16:51:05
Hallo,

folgender Code:

Code
Vector<String> folderReferences = dokument.getFolderReferences();
String dokumentFolder = folderReferences.firstElement();
   -erstelle neues dokument mit eigenschaften von altem und lösche altes-
   -(dokument_alt = dokument_neu-
   -return dokument_alt)-
dokument.putInFolder(dokumentFolder);

führt dazu, dass das Dokument komplett verschwindet. Nichtmal mehr in der AllDocumentsview bekomme ich es angezeigt. FolderReferences auf der entsprechenden DB sind eingeschaltet, immerhin bekomme ich auch den richtigen Folder als String zurück.

Jemand eine Idee?
Titel: Re: verschwundene Dokumente
Beitrag von: Ralf_M_Petter am 18.12.08 - 16:55:43
Also der Code:

-erstelle neues dokument mit eigenschaften von altem und lösche altes-
   -(dokument_alt = dokument_neu-
   -return dokument_alt)-

ist sicher keine Javasyntax und mit 99%iger Wahrscheinlichkeit steckt der Fehler hier.

Grüße

Ralf
Titel: Re: verschwundene Dokumente
Beitrag von: Sebastianh am 18.12.08 - 23:03:55
Natürlich ist das kein Javacode, dass is nur eine Kurzdarstellung dessen, was zwischen den entsprechenden Zeilen von ein paar Methoden gemacht wird.
Titel: Re: verschwundene Dokumente
Beitrag von: Ralf_M_Petter am 19.12.08 - 07:39:35
Ich meinte eigentlich du solltest genau diesen Code posten, den dann würde man eventuell sehen wo das Problem besteht.

Grüße

Ralf
Titel: Re: verschwundene Dokumente
Beitrag von: Sebastianh am 19.12.08 - 09:04:08
Ok, dann war das wohl ein Missverständniss, sorry.

Den kompletten Code zu posten würde wohl etwas viel werden im Endeffekt passiert folgendes:

Code
Document tmpDok = db.createDocument();
...(versehe tmpDok mit Eigenschaften von dokument und neuem Body)...
dokument.remove(true);
dokument = tmpDok;
dokument.save();
return dokument;
Titel: Re: verschwundene Dokumente
Beitrag von: Sebastianh am 19.12.08 - 09:31:13
Wenn ich nachdem putinfolder ein getfoldereferences auf das Dokument mache, bekome ich eine:
NotesException: Folder References are not enabled on the database

???
Titel: Re: verschwundene Dokumente
Beitrag von: Ralf_M_Petter am 19.12.08 - 09:42:36
Dann gehe ich mal zu sehr hoher Wahrscheinlichkeit davon aus, dass dein dokument.save nicht ausgeführt wird aufgrund des Fehlers. Kann man aber nur mithilfe des gesamten Codes sagen, der den Fehler reproduizeren kann.

Also um Fehler einzugrenzen immer einen einfachen Testcase in einer anderen Datenbank machen die man auch versenden kann. Das selbe brauchst du auch bei Eröffnung eines PMR's.

Dann sollte das Problem leicht zu lösen sein.

Grüße

Ralf
Titel: Re: verschwundene Dokumente
Beitrag von: m3 am 19.12.08 - 10:11:33
Wenn ich nachdem putinfolder ein getfoldereferences auf das Dokument mache, bekome ich eine:
NotesException: Folder References are not enabled on the database
Na da sagt er Dir doch eh alles! Wo ist da jetzt das Problem? In der Datenbanken sind die "Folder References" nicht aktiviert, also kann er Dir nicht sagen, in welchen Foldern das Dokument ist. Genau, wie es die Fehlermeldung sagt.

Und die Designer-Hilfe (http://lnweb90.worldbank.org/help/help8_designer.nsf/2e73cbb2141acefa85256b8700688cea/5b51bcb87b99e44e8525731b004ac749?OpenDocument) sagt weiters dazu:
Zitat
The database must have the $FolderInfo and $FolderRefInfo hidden views to support folder references. These views can be copied from the mail template. This property does not return view references.

Folder references must be enabled for the database. See the FolderReferencesEnabled (http://lnweb90.worldbank.org/help/help8_designer.nsf/f4b82fbb75e942a6852566ac0037f284/e3802c58527aa4528525731b004ab87b?OpenDocument) property of Database. ]
Titel: Re: verschwundene Dokumente
Beitrag von: Ralf_M_Petter am 19.12.08 - 10:15:39
Das Problem, dass er hat ist wahrscheinlich, dass es nicht nur nicht im folder ist, sondern gar nicht vorhanden. Aber dass wird sein, weil er aufgrund der Fehlermeldung gar nie zum Save kommt. Aber da Sebastian den Code nicht posten will kann man auch schwer helfen.

Grüße

Ralf
Titel: Re: verschwundene Dokumente
Beitrag von: m3 am 19.12.08 - 10:21:34
Ralf, glaub ich nicht, sonst hätte er ja gar kein Dokument-Objekt - und das dürfte er ja haben.

Aber mal schauen ob/wann eine Rückmeldung kommt.
Titel: Re: verschwundene Dokumente
Beitrag von: Sebastianh am 19.12.08 - 11:15:05
Also, das Objekt dokument hat an der der Stelle
Code
dokument.putInFolder(dokumentFolder)
durchaus einen Wert, die ID ist exakt die selbe wie die vom Objekt tmpDok in der aufgerufenen Methode. Es wird also korrekt übergeben.
Selbst wenn ich jetzt direkt nach dem putInFolder ein
Code
dokument.save()
aufrufe, und dann Versuche an die FolderReferences zu kommen, bekomme ich den Fehler / die Exception, die References seien in der Datenbank nicht aktiviert, was aber offensichtlich nicht der Fall sein kann, da ich bei dem ursprünglich aus der Datenbank geholten Dokument ja auf die References zugreifen kann, und mir ein
Code
maildb.getFolderReferencesEnabled()
hier auch ein true zurückgibt.

Ich stehe echt vor einem Rätsel.
Titel: Re: verschwundene Dokumente
Beitrag von: m3 am 19.12.08 - 11:21:33
Hast Du mein Posting bis zum Ende gelesen? Sind ALLE Voraussetzungen für die Folder erfüllt?
Titel: Re: verschwundene Dokumente
Beitrag von: Sebastianh am 19.12.08 - 12:23:32
Ok, wenn ich mir die Eigenschaften eines Dokumentes im NotesClient anschaue hat es (unter anderem) folgende 3 Tags:

$FolderRef
$FolderRefFlags
$FolderRefID

allerdings kein $FolderInfo, sollte es denn daran liegen?

Wenn ja, wie setze ich die Datenbank denn so, dass dieses Tag erstellt/mitgeführt wird (seitens Java)?
Titel: Re: verschwundene Dokumente
Beitrag von: m3 am 19.12.08 - 12:25:21
Die Info wird nicht nachträglich eingetragen.
Schau Dir mal neu erstellte Dokumente an. Dort sollte es jetzt passen.
Titel: Re: verschwundene Dokumente
Beitrag von: Sebastianh am 22.12.08 - 09:25:45
Leider nein, wenn ich ein neues Memo erstelle/verschicke sind nach wie vor nur die 3 bereits erwähnten Tags in Sachen Folder vorhanden. Wie komm ich denn an das Infotag, bzw. wo finde ich den Schalter der bestimmt, ob es angelegt wird?
Titel: Re: verschwundene Dokumente
Beitrag von: Sebastianh am 22.12.08 - 09:51:16
ok, Problem scheint gefunden zu sein, vor der Bearbeitung des Dokuments gibt
Code
dokument.getParentDatabase()
mail/aktuellerNutzer.nsf zurück. Wenn ich dann später auf das neue erstellte Dokument die Funktion anwende, bekomme ich names.nsf zurück. Ich weiss zwar noch nicht warum und wieso, aber zumindest erklärt dass, warum ich im Client nach der Bearbeitung keine Mails mehr sehe.
Titel: Re: verschwundene Dokumente
Beitrag von: Ralf_M_Petter am 22.12.08 - 10:10:53
Hallo Sebastian!

Meinst du nicht, dass es schneller zum Ziel führen würde, wenn du den Code posten würdest. Der Fehler kann doch nur eine Kleinigkeit sein.

Grüße

Ralf
Titel: Re: verschwundene Dokumente
Beitrag von: Sebastianh am 22.12.08 - 10:59:22
Da es sich um mehrere hundert Zeilen Code handelt, lasse ich das lieber.
Der Fehler ist inzwischen auch gefunden (zwischendrin wurde die Referenz auf die DB vertauscht). Das ganze tut nun das was es soll, allerdings haben die Dokumente immer noch kein FolderInfo Tag, aber scheint auch nicht gebraucht zu werden.
Trotzdem Danke für eure Mühen.