Autor Thema: Konfilkt-Dokument  (Gelesen 1222 mal)

Offline Hedwig14

  • Aktives Mitglied
  • ***
  • Beiträge: 221
Konfilkt-Dokument
« am: 26.04.13 - 15:39:53 »
Hallo,
in einem Frontend Dokument habe ich folgenden Schalter eingebaut um aus einem anderen Backend-Dokument einen Dateianhang zu kopieren. Das klappt auch alles ganz gut. Leider bekomme ich beim nachträglichen Speichern die Frage, ob eine Konflikt-Dokument angelegt werden soll !

Was ist falsch in meinem Code:

Sub Click(Source As Button)
   Dim ses As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim uidoc As NotesUIDocument
   
   Dim docWork As NotesDocument
   Dim docMaster As NotesDocument
   
   Dim itemWork As NotesItem
   Dim itemMaster As NotesItem
   
   Dim masterID As Variant
   Dim workID As String
   
   Set db = ses.CurrentDatabase
   Set uidoc = ws.CurrentDocument
   
   Set docWork = uidoc.Document
   workID = docWork.UniversalID   
   uidoc.Save
   Call uidoc.Close(True)
   
   'Quell-Dokument auswählen
   Set collection = ws.PickListCollection(PICKLIST_CUSTOM, True, db.Server, db.FilePath, "Archiv\IGKnach Kunde", "Auswahl", "Bitte wählen Sie das Paket aus:" )
   Set docMaster = collection.GetfirstDocument
   Set itemMaster = docMaster.GetFirstItem( "tabelle" )
   
   Set docWork = Nothing
   Set docWork = db.GetDocumentByUNID(workID)
   
   'Kopieren
   Call docWork.RemoveItem("tabelle")
   Call itemMaster.CopyItemToDocument( docWork, "tabelle" )
   Call docWork.Save(True, False, False)
   
   'Zum weiteren Bearbeiten wieder öffnen
   Set uidoc = ws.EditDocument (True, docWork)
   
End Sub

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Konfilkt-Dokument
« Antwort #1 am: 26.04.13 - 16:31:35 »
Du hast ein Dokument im Frontend speicherst es und versuchst es zu schließen um dann im Backend nach Kopieren des Anhangs es wieder zu speichern. Vermutlich ist das Dokument noch nicht sauber geschlossen.

Versuch's mal so (allerdings habe ich es so nicht getestet):

   ...
   Set docWork = uidoc.Document
   
   'Quell-Dokument auswählen
   Set collection = ws.PickListCollection(PICKLIST_CUSTOM, True, db.Server, db.FilePath, "Archiv\IGKnach Kunde", "Auswahl", "Bitte wählen Sie das Paket aus:" )
   Set docMaster = collection.GetfirstDocument
   Set itemMaster = docMaster.GetFirstItem( "tabelle" )
   
   'Kopieren
   Call docWork.RemoveItem("tabelle")
   Call itemMaster.CopyItemToDocument( docWork, "tabelle" )

    'Reopen damit den Anhang sichtbar wird
    Call Reopen(docWork)

     'Weitere Anweisungen
     ....


Reopen-Funktion
Code
 REM Das aktuelle Dokument schließen und wieder öffnen...... 
    Function ReOpen(docThis As NotesDocument) As Integer 
        Dim ws As New NotesUIWorkspace 
        Dim uidoc As NotesUIDocument 
        Dim dbThis As NotesDatabase 
        Dim unid As String 
 
        ReOpen = 0 
        Set dbThis = docThis.ParentDatabase 
        Call docThis.Save(True , True) 
        unid = docThis.UniversalID 
        docThis.SaveOptions = "0" ' # ... Speicherabfrage vermeiden 
        Set uidoc = ws.CurrentDocument 
        Call uidoc.Close 
        Set docThis = dbThis.GetDocumentByUNID(unid) 
        Set uidoc = ws.EditDocument(True , docThis) 
        Set docThis = uidoc.Document 
        If docThis.HasItem("SaveOptions") Then  
            ' # ... das Feld SaveOptions wieder entfernen... 
            docThis.RemoveItem("SaveOptions") 
            Call docThis.Save( True , True ) 
        End If 
        ReOpen = 1 
        Print "Das Dokument wurde erneut geöffnet" 
    End Function
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Hedwig14

  • Aktives Mitglied
  • ***
  • Beiträge: 221
Re: Konfilkt-Dokument
« Antwort #2 am: 29.04.13 - 08:43:38 »
SUPER ! Danke !
Das hat geklappt !!!!

Viele Grüße

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz