Domino 9 und frühere Versionen > ND9: Entwicklung
Profildokument
Legolas:
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.
--- Code: ---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
--- Ende Code ---
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!
--- Code: ---' 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
--- Ende Code ---
Umgebung:
Notes und Domino 9 deutsch aktuellste Version
Grüße
Bernd
Peter Klett:
konfigdoc ist das Profildokument und archivedoc das "normale"?
Ich könnte mir vorstellen, dass Du mit
Call konfigDoc.Copyallitems(archiveDoc, True)
irgendwelche Flags oder Felder mitkopierst, die Dir in die Suppe spucken, z.B. ein Leserfeld für den Benutzer, das dafür sorgt, dass das Dokument nicht vom Agentenunterzeichner gelesen werden kann.
Ich würde mir mal die Felderliste vom archivedoc ansehen, ob da Items enthalten sind, die Du dort definitiv nicht benötigst. Diese Items könntest Du nach dem Copyallitems einzeln löschen, oder Du definierst, welche Felder Du übernehmen willst. Erstes ist vermutlich einfacher und wartungsfreier.
ascabg:
Hallo,
Eventuell konnte man in diesem Fall auch einmal kontrollieren, was NotesDocument.IsProfile
(hier also atchivedoc.IsProfile) zurueckliefert.
Andreas
Thomas Schulte:
Aus bitterer Erfahrung mit einer Funktion, die genau das tun sollte, Items aus einem Profildokument in ein neues normales Dokument kopieren um dort Werte vorzubelegen, kann ich dir sagen, das funktioniert so nicht. Du musst durch alle Items einzeln durchgehen und jedes Item für sich kopieren.
Übrigens, das war noch mit Version 5 und 6. Da hat sich seitdem nichts geändert.
Ich hatte ähnliche Verhaltensweisen. Profildocument war plötzlicht leer. Oder ganz weg. Oder das neue Dokument war leer und solche Spielereien.
Legolas:
Hallo Zusammen,
danke für die Rckmeldung.
Ich habe dies leider schon geahnt!
Werde wohl nicht drum rum kommen, die gefühlten 200.000 Felder manuell zu kopiern.
Grüße
Bernd
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln