Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Don Pasquale am 10.02.03 - 14:18:53
-
Hallo Leute,
ich bin ratlos. Bei der einen Hälfte der User klappt alles problemlos, bei der anderen funktiniert nichts.
Ich habe einen Ordner mit folgendem Code im Ereignis
im QueryOpen
Dim ws As New NotesUiWorkspace
Dim s As New NotesSession
Dim view As NotesView
Dim dc As NotesDocumentCollection
Dim db As NotesDatabase
Dim ORDNER_DOKS_NACH_INITIATOREN As String
Dim ORDNER_DOKS_NACH_SENDEN_AN As String
Dim ORDNER_EIGENE_DOKUMENTE As String
ORDNER_DOKS_NACH_INITIATOREN = "_Initiator"
ORDNER_DOKS_NACH_SENDEN_AN = "_Senden"
ORDNER_EIGENE_DOKUMENTE = "Eigene Dokumente"
' Vielleicht sollte der Ordner vorher komplett geleert werden ?
' On Error Resume Next
Set db = s.CurrentDatabase
Set view = db.GetView( ORDNER_EIGENE_DOKUMENTE )
Set dc = view.GetAllDocumentsByKey(s.CommonUserName, True)
Call dc.RemoveAllFromFolder( ORDNER_EIGENE_DOKUMENTE )
Set view = db.GetView(ORDNER_DOKS_NACH_INITIATOREN)
Set dc = view.GetAllDocumentsByKey(s.CommonUserName, True)
Call dc.PutAllInFolder( ORDNER_EIGENE_DOKUMENTE )
Set view = db.GetView(ORDNER_DOKS_NACH_SENDEN_AN)
Set dc = view.GetAllDocumentsByKey(s.CommonUserName, True)
Call dc.PutAllInFolder(ORDNER_EIGENE_DOKUMENTE )
Set view = db.GetView( ORDNER_EIGENE_DOKUMENTE )
Call ws.ViewRefresh
und folgende Fehlermeldung erscheint :
Notes Error: Wenn Sie ein Antwortdokument in einen Ordner verschieben möchten, der die Antworthierarchie anzeigt, müssen Sie das Hauptdokument der obersten Ebene verschieben.
Ich weiss aber von keinen Antwortdokumenten in meiner Anwendung ?
Wo kann ich suchen ?
Kennt das jemand ?
Äusserst unruhig
Don Pasquale
-
- gibt es wirklich keine doks mit einem $REF - ich würde das mal checken.
- kommt darauf an wo die private Kopie gespeichert wurde - in der Datenbank oder in der desktop.dsk.
- bei Benutzern die create personal folders/view haben müsste es funktionieren auf dem Server, bei Benutzern ohne dieses Recht die auf die lokale Kopie zurückgreifen kann diese Problem auftreten
- weil diese Art der view "anfällig" ist mache ich nur shared desktop private on first use. Wenn es da ein Problem gibt kann man die Kachel löschen und wieder anlegen - somit werden alle Verweise auf diese db gelöscht.
cu
-
@Performance
Wie suche ich dieses REF ?
Ja, die Datenbank liegt auf dem Server, kein Nutzer hat eine lokale Kopie
(das meinstest Du doch oder ?)
Ciao
Don Pasquale
-
- ich nemhme an das du alle doks siehst
- baue dir eine view mit einer Spalte $Ref
cu
-
@Don
... wenn im Dokument ein $Ref-Feld ist es ein Antwortdokument. In diesem Feld steht die UNID des Elterndokumentes...
ata
-
Ich habe eine View über alle Dokumente und in einer Spalte die Formel $REF.
Die ist bei allen Dokumenten leer.
Weiterhin taucht nun ein Problem auf
Set view = db.GetView(ORDNER_DOKS_NACH_INITIATOREN)
Set dc = view.GetAllDocumentsByKey(s.CommonUserName, True)
Call dc.PutAllInFolder( ORDNER_EIGENE_DOKUMENTE )
Das Call ist mittlerweile ohne Wirkung und ich weiss nciht, was ich dran gedreht habe, es lief 2 Wochen Fehlerfrei.
Ciao
Don Pasquale
-
... gibt es denn die Felder und sie sind leer, oder gibt es die Felder nicht?
ata
-
@Ata:
Also in der Ansicht sind die Spalte $REF leer,
Im Designer wird mir in der Auswahl der Felder auch kein $REF angeboten, ich musste das mit Formel eingeben. Also kann ich annehmen das $REF nicht existiert
-
interne Felder werden nie angeboten im View bei den Feldnamen.
Heißt noch lange nix.
Ansicht $all mit select @isavailable($REF) aufgemacht?
-
Aha,
also ich habe eine Spalte mit
@IsAvailable($REF)
da erscheinen nur Nullen
Ist das das gewünschte Ergebnis ?
pascal
-
rechte Maus auf ein doc (wegen den Nullen, da Du wohl in der Spalte irgendetwas ausliest...) und über Feldeigenschaften $REF rauspicken und wenn Du magst, mal nach dem Elterndoc suchen damit.
-
Es sind die Replizierkonflikte, die haben ein REF !
-
... die könnten durchaus Schuld sein...
ata
-
*schaut von seinem Sternengucker Gerät hoch und Don Pille an*
*"faszinierend"*
*und wirft einen Blick auf Cpt. Ata rüber*
"aus"
-
Hallo Leute,
ich möchte die Fehlermeldung für den Anwender unterdrücken
(auch wenn ich mir nicht sicher bin das das Sinnvoll ist)
Was spricht dagegen, das
' On Error Resume Next
mit reinzu nehmen?
Ciao
Don Pasquale
Dim ws As New NotesUiWorkspace
Dim s As New NotesSession
Dim view As NotesView
Dim dc As NotesDocumentCollection
Dim db As NotesDatabase
Dim ORDNER_DOKS_NACH_INITIATOREN As String
Dim ORDNER_DOKS_NACH_SENDEN_AN As String
Dim ORDNER_EIGENE_DOKUMENTE As String
ORDNER_DOKS_NACH_INITIATOREN = "_Initiator"
ORDNER_DOKS_NACH_SENDEN_AN = "_Senden"
ORDNER_EIGENE_DOKUMENTE = "Eigene Dokumente"
' On Error Resume Next
Set db = s.CurrentDatabase
Dim session As New NotesSession
Dim vc As NotesViewEntryCollection
' Call dc.RemoveAllFromFolder( ORDNER_EIGENE_DOKUMENTE )
Set db = session.CurrentDatabase
Set view = db.GetView(ORDNER_DOKS_NACH_INITIATOREN)
Set vc = view.GetAllEntriesByKey(session.CommonUserName,False)
Call vc.PutAllInFolder( ORDNER_EIGENE_DOKUMENTE, True)
Set view = db.GetView(ORDNER_DOKS_NACH_INITIATOREN)
Set vc = view.GetAllEntriesByKey(s.CommonUserName, False)
Call vc.PutAllInFolder( ORDNER_EIGENE_DOKUMENTE, True )
Set view = db.GetView(ORDNER_DOKS_NACH_SENDEN_AN)
Set vc = view.GetAllEntriesByKey(s.CommonUserName, False)
Call vc.PutAllInFolder(ORDNER_EIGENE_DOKUMENTE, True )
Set view = db.GetView( ORDNER_EIGENE_DOKUMENTE )
Call ws.ViewRefresh
-
was nutzt dir on error resume next - die doks werden dann nicht verschoben.
- genau diese Replizierkonflikte verursachen dir Kopfzerbrechen
- bau dir eine view mit allen Replizierkonflikten und lösche diese radikal
cu
-
*schaut von seinem Sternengucker Gerät hoch und Don Pille an*
*"faszinierend"*
*und wirft einen Blick auf Cpt. Ata rüber*
"aus"
He´s dead, Jim.
Don Pasquale