Domino 9 und frühere Versionen > Entwicklung
doc.UniversalID = unid erstellt eine Kopie
koehlerbv:
Hi, TMC,
das war ja eine erfrischende Antwort von Dir - bei der Frage hätte ich erstmal was anderes erwartet (auch dieses Forum ist leider nicht frei von Deppen, die dann erstmal hunderte Fragezeichen austeilen und ohne jede Ahnung irgendwelche Belehrungen).
Entschuldige bitte daher meinen "bösen Verdacht".
Wenn Du die UNID eines bestehenden Docs wechselst, dann erzeugt dies auf jeden Fall ein neues Doc beim Speichern - die UNIDs sind der "Kitt, der eine Notes-DB zusammenhält".
Sich eine neue ID auszudenken, ist (mehr als) kritisch. Wenn Du aber eine UNID eines bestehenden Docs übernehmen willst, dann hol' Dir diese, knall' das alte Doc weg und versehe dann das Doc mit der bestehenden ID.
Worüber ich mir jetzt aber nicht ganz im Klaren bin, ist das Replikationsverhalten: Welches Doc wird dann gelöscht / erzeugt / geupdated ?
Wegen "Weichei": Erstens Respekt, zweitens: Ich meß' auch lieber dreimal, bevor ich abschneide. "Kamikaze" verdient keinen Respekt, und wer mich wegen der zweiten Sicherheitskopie oder Test-DB anzählt, dem zeig' ich einen Vogel. Lieber eine "unnötige" Absicherung als die grosse Katastrophe.
Und wenn Du auf weitere Fragen stößt - sag' an ;-)
Farvel (das war dänisch ;-)
Bernhard
TMC:
Hi Bernhard,
kommst Du aus Dänemark? Will ich nächstes Jahr mal für 2-3 Wochen hin....
Ich hab jedenfalls kein Problem wegen Deines "Verdachts" :-)
Und Nein: Du hast schon Recht, ohne Background-Know-how irgendwelche Hardcore-Geschichten zu machen, das sollte man sich vorher genau überlegen. (und dazu zähle ich auch die UNID-Sache, wie Du schön schreibst vom "Kit"... :)
However: Ich teste das jetzt mal lokal, und dann die Tage auf einer Test-DB auf einem Testserver. In der Tat ist das Arbeiten mit Repliken dabei interessant.....
Melde mich wieder mit dem ersten Script.....
bye,
TMC
koehlerbv:
Nein, ich komme (noch;-) nicht aus Dänemark, aber ich verbringe jeden Sommer den August dort (Sallingsund kommune).
Wenn Du Tipps braucht für einen geplanten DK-Urlaub, laß es mich (off-list) wissen ;-)
Siegsdorf (Chiemgauer Alpen) -> Sallingsund sind ca. 1.300 km - da muß man also wirklich dahin wollen ;-)
Sallinsunds "amtskommune" ist Viborg amt, und dann schau Dir mal die Website der "Hauptstadt" an: www.viborg.dk. Das *.nsf sagt uns doch was ;-)
Herzliche Grüsse- und meld' Dich auch wegen Deines UNID-Problems,
Bernhard
PS: Vi ses pa Sallingsund og pa Vesterhavet
PSS: Wobei ich mir jetzt doch nicht so sicher bin mit meinem "dänisch", aber ich geb mir Mühe ;-)
TMC:
Vielleicht ist es schon zu spät für mich ???
Jedenfalls stoße ich hier auf Object Variable not set:
--- Zitat ---Sub Click(Source As Button)
Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim unid As String
Dim docZuErsetzen As NotesDocument
Set uidoc = uiws.CurrentDocument
Set doc = uidoc.Document
'die UNID des freigegebenen Doc holen....
unid = uidoc.FieldGetText("IDAPPROVED")
Messagebox unid, MB_OK, "Field Get Text"
'jetzt mal das alte Doc herholen welches ich ersetzen will und dann wegwerfen - die UNID hab ich ja bereits :-)
Set docZuErsetzen = db.GetDocumentByUNID( unid )
Messagebox "Set doc zu Ersetzen", MB_OK, "Test"
docZuErsetzen.remove (True)
Messagebox "Remove doc zu Erstetzen", MB_OK, "Test"
'und nun die ID setzen....
doc.UniversalID = unid
Messagebox "Setze ID", MB_OK, "Test"
Call doc.save(False, False)
End Sub
--- Ende Zitat ---
Nach diversen Tests hat er bei folgender Zeile das "Variable not set" - Problem:
Set docZuErsetzen = db.GetDocumentByUNID( unid )
Aber warum nur? Ich übergebe die Variable (unid) wohl sauber als String. Also sollte er doch auch das Doc finden?
Oder ein Denkfehler?
TMC
Thomas Schulte:
Irgendwie begreife ich die Logik die hinter dem Ganzen stecken soll nicht. Du willst ein neues Dokument an die Stelle eine bereits bestehenden Dokumentes setzen? Und dafür verbiegst du die Internen Mechanismen von Domino was die Vergabe von UNID's angeht?
Tschuldigung aber das ist doch von hinten durch das Knie in die Brust geschossen.
Warum kopierst du nicht einfach den Kontent des neuen Dokumentes in das alte Dokument nachdem der entsprechende Status erreicht wurde? Und löscht anschließend das neue Dokument!
Benefit 1: Die Change History geht nicht verloren
Benefit 2: Du bekommst keinen Ärger mit der Replikation, naja, zumindest nicht zuviel Ärger
Wenn du willst kannst du ja dann auch die entsprechenden Teile des neuen Dokumentes die sich geändert haben kopieren.
Thomas
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln