Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: oson00 am 16.01.07 - 16:57:37

Titel: Konflikte beim Speichern
Beitrag von: oson00 am 16.01.07 - 16:57:37
Ich erzeuge ein Dokument mit folgendem Code.

   Dim session As New NotesSession
   Dim doc As NotesDocument
   
   Set doc = session.CurrentDatabase.CreateDocument
   
   With doc
      
      Call .ReplaceItemValue("Form", "Testmaske")
      Call .ReplaceItemValue("Feld_1", "1")
      Call .ReplaceItemValue("Feld_2", "2")
            .
            .
            .
      
      Call .save(True, False)
   End With

   
   Dim ws As New NotesUIWorkspace
   Call ws.EditDocument(True, doc)


Anschließend wird es ja im Bearbeitungsmodus geöffnet.

In meiner Maske habe ich einen Button "Speichern" eingebaut. Wenn ich darauf klicke, wird die Formel @Command([FileSave]) ausgeführt. Sobald ich das tue, erscheint eine Hinweismeldung, ob ich ein Konfliktdokument erstellen möchte, da ein anderer User das Dokument bereits bearbeitet hat.

Bin ich schizophren? Ich bin der einzige, der gerade Testet. Ich habe die Vermutung, dass es an berechnete Felder in der Maske liegt, die ich per LotusScript nicht setze, aber warum speichert Notes das Dokument dann nicht trotzdem mit den neuen Feldern?
Titel: Re: Konflikte beim Speichern
Beitrag von: oson00 am 16.01.07 - 18:29:02
Interessant ist noch, dass ich "Dokumente Sperren" in den Datenbank-Eigenschaften aktiviert habe. Sobald ich das deaktiviert habe, funktioniert es.

Kann mir das einer erklären?
Titel: Re: Konflikte beim Speichern
Beitrag von: LN4ever am 16.01.07 - 21:20:45
Mach mal hinter das END WITH ein SET DOC=NOTHING, damit das Backend das Dokument wieder freigibt. Und gib dem Locking einmal zwei Sekunden zum Entsperren (mit einer Messagebox z.B.).

Gruß

Norbert
Titel: Re: Konflikte beim Speichern
Beitrag von: dirk_2909 am 17.01.07 - 07:26:16
Zitat
END WITH ein SET DOC=NOTHING,

Warum soll er das machen?!
Was soll er dann ws.EditDocument( ... ) übergeben ?  :-: