Refreshes the current document with any changes that have been made to the corresponding back-end document. Refreshing the current document updates its representation in memory, as well as visually on the workspace, to reflect the changes that have been made to the back-end document.
Das steht doch alles in der Hilfe:ZitatRefreshes the current document with any changes that have been made to the corresponding back-end document. Refreshing the current document updates its representation in memory, as well as visually on the workspace, to reflect the changes that have been made to the back-end document.
PS: Wie soll der User denn die Änderung mitbekommen ? Den blauen Kringel gibt's ja nicht.
Aber woher soll der User denn wissen, ob und wann er den Knopf drücken soll ?
Wenn dann so:
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
dim doc as NotesDocument
Set uidoc = workspace.CurrentDocument
set doc = uidoc.Document
If Not ( uidoc.IsNewDoc ) Then
call uidoc.Close
call ws.EditDocument(False,doc)
End If
End Sub
UNID merken,
dann Set doc = db.GetDocumentByUNID
und dann dieses doc über ws.EditDocument öffnen
Sodala,Es könnte natürlich auch sein, dass Kollege und Kollegin jeweils auf eigenen, lokalen Repliken der DB arbeiten. Und solange die nicht ausrepliziert haben, sieht der Kollege nicht die Änderungen der Kollegin.
script läuft durch, aber es ändert nix.
Hab das entsprechende Dok geöffnet im Lesemodus.
Meine Kollegin ändert derweil einen Feldwert und speichert es ab.
Ich lass das Script drüberlaufen, aber der Feldwert ist immer noch der alte.
Benötige deshalb immer noch Eure hilfe bitte.
Es könnte natürlich auch sein, dass Kollege und Kollegin jeweils auf eigenen, lokalen Repliken der DB arbeiten. Und solange die nicht ausrepliziert haben, sieht der Kollege nicht die Änderungen der Kollegin.
benutzt du eigentlich den Debugger?
Grüsse
Dau-in
Dirks Post hat Du gelesen?
Dim s As New notessession
Dim db As notesdatabase
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim unid As String
On Error Goto ERROR_ME
Set db = s.currentdatabase
Set uidoc = ws.CurrentDocument
If uidoc.IsNewDoc Then
' Msgbox "Sie können diese Aktion nicht von neuen Dokumenten aus ausführen!" ,64, "Hinweis"
Exit Sub
End If
If uidoc.Editmode Then
Msgbox "Das aktuelle Dokument befindet sich im Bearbeitungsmodus!" ,64, "Abbruch"
Exit Sub
End If
unid = uidoc.document.universalID
If unid = "" Then
Msgbox "Das aktuelle Dokument ist nicht gespeichert oder defekt!" ,64, "Hinweis"
Exit Sub
End If
Set doc = db.GetDocumentByUNID (unid )
If Not doc Is Nothing Then
Call uidoc.Close
Call ws.EditDocument(False,doc)
Else
Msgbox "Das Kontextdokument konnte nicht initialisiert werden!" , 16 , "Fehler"
End If
EXIT_OK:
Exit Sub
ERROR_ME:
Msgbox "Fehler aufgetreten: " & Error & " (" & Err & ") - Zeile " & Erl
Err = 0
Resume EXIT_OK
springt der Debugger denn an, wenn du die Aktion aufrufst???
Natürlich hat das Dokument eine andere UNID, es ist ja auch ein anderes Dokument !?!?Ja mir auch klar, so hab ich es auch geschrieben.
IsNewDoc: du führst die Aktion in einem frisch erstellten Dokument durch oder in einem alten?In einem alten.
an welcher Stelle springt der Debugger raus?
uidoc ist im Lesemodus und du versuchst zu speichern, richtig?
SAve und das erste 'set doc' auskommentieren, wie weit kommst du dann?Dann läuft er durch und ändert wieder nix.
Michael Test öffnet um 8:00 Uhr aus einer Ansicht ein Dokument im Lesemodus. In den Bearbeitenmodus geht er gar nicht rein.
Das Dok bleibt den ganzen Vormittag auf.
Anna Meier öffnet um 9:00 das gleiche Dokument und ändert jedoch zwei Feldwerte.
Irgndwie drehen wir uns im Kreis.Tja nur das die Lösung nicht funzt.
Die Lösung wird hier x-fach gepostet ( siehe z.B. #26 und #42).
Mehr geht nicht.
Es muss was anderes sein.
Ich klinke mich dann aus und were Projektarbeit machen... :-X
Schmeiß mal zwischendurch das doc weg und/oder setze mit GetDocumentByUNID ein anderes NotesDocument.