Posts Tagged: ‘None’

Notes Fehler: Ansicht nach Feldwerten sortiert – Austausch der Dokumente

11. September 2015 Posted by Christoph Salka

Bei der Entwicklung einer Anwendung stießen wir auf einen Fehler, der unter Umständen kritische Folgen haben kann. Wird mit Dokumenten gearbeitet, die sich in einer sortierten Ansicht befinden, kann es passieren dass Notes ein bereits geöffnetes Dokument durch ein anderes austauscht. Das tritt immer dann auf, wenn in den Lesemodus gewechselt wird, nachdem ein Feldwert, der Einfluss auf die Sortierung hat, geändert und gespeichert wurde.

Konkreter an einem Beispiel dargestellt:
In einer Ansicht befinden sich zwei Dokumente, welche beide in dem Feld "Nummer" einen numerischen Wert enthalten. Das Feld im ersten Dokument hat den Wert 1, im zweiten Dokument den Wert 2. In der Ansicht sind die Dokumente nach dem Feld "Nummer" aufsteigend sortiert.
pic1.png

Das erste Dokument wird im Bearbeitungsmodus geöffnet und der Wert des Feldes "Nummer" von 1 in 3 geändert.
pic2.png
pic3.png

Anschließend wird gespeichert und in den Lesemodus gewechselt.
pic4.png

Statt dem ersten Dokument mit dem Feldwert 3, befindet sich jetzt das zweite Dokument mit dem Feldwert 2 im Lesemodus.
pic5.png

Warum passiert das? Weil das Dokument durch die Sortierung in der Ansicht nach unten gerutscht ist und dies scheinbar Auswirkungen auf das anzuzeigende Dokument hat.

Wir haben diesem Blogeintrag eine Datenbank hinzugefügt, an welcher Sie den Fehler gut nachvollziehen können. Dort finden Sie zwei Ansichten (view1, view2). In der view1 haben wir für das Problem bereits eine Lösung implementiert. In der view2 können Sie den Fehler anhand des eben beschriebenen Beispiels nachvollziehen.

Folgenden Code haben wir zur Lösung des Problems im "QueryModeChange" der Maske der Dokumente aus view1 hinzugefügt:

  Dim uiws As New NotesUIWorkspace    
  Dim doc As NotesDocument  
  Dim docReopen As notesDocument  
  Dim newUIDoc As NotesUIDocument
  Dim item As NotesItem
  Dim unid As String
  Dim msgSave As Integer
  Dim msgReset As Integer
  
  If source.EditMode Then
    If source.ModifiedSinceSaved Then
      msgSave = Messagebox("Möchten Sie Ihre Änderungen speichern?", MB_YESNOCANCEL, "IBM Notes")
      If msgSave = IDYES Then
        source.Save
      Elseif msgSave = IDNO Then
        msgReset = Messagebox("Möchten Sie das Dokument zurücksetzen?" + Chr$(10) + Chr$(10) + _
        |Bei "Ja" wird das Dokument in den Zustand der letzten Speicherung versetzt.| + Chr$(10) + _
        |Bei "Nein" werden die letzten Änderungen ungespeichert angezeigt.|, MB_YESNO, "IBM Notes")
      End If
    End If
    If Not msgSave = IDCANCEL Then
      Set doc = source.Document  
      unid = doc.UniversalID      
      Set item = New NotesItem(doc, "SaveOptions", 0)  
      source.Close    
      If msgReset = IDYES Then
        Delete doc
      End If        
      Set docReopen = uiws.CurrentDatabase.Database.GetDocumentByUNID(unid) 
      Set newUIDoc = uiws.EditDocument(False, docReopen)
      Call uiws.ViewRefresh
    End If
    continue = False
  End If

IBM Notes und Windows 10

31. Juli 2015 Posted by Bernd Hort

Notes_90x90.png

Laut dem IBM Collaboration Solutions Support blog bereitet die IBM gerade eine offizielle Technote vor mit den folgenden Aussagen

  • Der Notes-Client unterstützt Windows 10 ab dem Release 9.0.1 Fix Pack 4
  • iNotes und das Notes Browser Plug-in wird Windows 10 ab dem kommenden Release 9.0.1 Fix Pack 5 unterstützen

About Windows 10 support for Notes, iNotes & Notes Browser Plug-in

Wie immer werden wir Sie auf dem Laufenden halten.