Hallo Forum,
ich sehe den Wald vor lauter Bäumen wohl nicht mehr!!
Mein Problem:
Eine Anwendung hat ein Profildokument. Dieses will ich zu Backupzwecken manuell in ein "normales" Notesdokument sichern. Allerdings muss noch eine
Datei angehängt werden, die auf dem Dominoserver liegt.
Hört sich erst mal nicht dramatisch an!
Aber...
Wenn ich nun das Profildokument in ein neues Dokument kopiere und dieses dann per agent.runonserver dem Backend übergebe um auf dem Dominoserver noch eine Datei anzuhängen die dort im Dateiverzeichnis liegt, gibt es lauter seltsame phänomene.
Wie z.B.:
- Das per agent übergebene Dokument ist manchmal nicht vorhanden
- Das Profildokument ist manchmal zurückgesetz nach dem Kopiervorgang
- usw.
Für mich sieht es aus, als wenn beim kopieren eine Referenz zwischen den Dokumenten bestehen bleiben würde die hier alles zum spinnen bringt.
initialisierung usw...
Set konfigDoc = ws.Currentdocument.Document
If konfigDoc Is Nothing Then
IB_MsgBox "No UI document" , 64, "Co_Hinweis"
Exit function
End If
Set archiveDoc = CurrentDatabase.Createdocument()
Call konfigDoc.Copyallitems(archiveDoc, True)
Call archiveDoc.Save(True, False)
Call archiveDoc.Replaceitemvalue("Form", "BackupConfiguration")
Call archiveDoc.Replaceitemvalue("C_Dokart", "BackupConfiguration")
Call archiveDoc.Replaceitemvalue("BackupName", vZwerg)
Call archiveDoc.Save(True, False)
'Agent zum sichern der Client.Store Datei auf dem Server starten
Set agent = CURRENTDatabase.Getagent("Backup_Save_Client.Store")
If agent Is Nothing Then
Call C_ALog("E", 1, "Agent: Backup_Save_Client.Store not found!", "")
Else
Call agent.Runonserver(archiveDoc.Noteid)
End If
Hier der Azuszug aus dem RunOnServer Agenten
Ich habe hier versucht zu testzwecken das Dokument nochmals mit der UNID zu öffnen. Hier kommt dann die Meldung, dass das Dokument nicht vorhanden ist!
' Aktueller Agent
Set agent = ses.CurrentAgent
Set archivDoc = CURRENTDatabase.GetDocumentByID(agent.ParameterDocID)
If archiveDoc Is Nothing Then
Call C_ALog("E", 1, "Can't find dbsetup for detache client.store file!", "")
Exit sub
End If
unid = archivDoc.Universalid
Print "#### unid: " & unid
Set archivDoc = Nothing
Set archivDocNew = CURRENTDatabase.Getdocumentbyunid(unid)
If Not archivDocNew Is Nothing Then
Call C_ALog("E", 1, "archiveDoc not found!", "")
exit sub
End If
Umgebung:
Notes und Domino 9 deutsch aktuellste Version
Grüße
Bernd