Hello,
I made a mistake when i was working on my lotus workflow application. I deleted 9 documents’ cover document 🙂
I created a script to solve this problem and want to share with the world.
Create an agent –> Trigger : On Event / Action Menu Selection , Target : All Selected Documents
Sub Initialize() Dim oWorkspace As New NotesUIWorkspace Dim oSession As New NotesSession Dim oDatabase As NotesDatabase Dim oCollection As NotesDocumentCollection, oCoverCollection As NotesDocumentCollection Dim oSelectedDoc As NotesDocument Dim oOriginalCoverDoc As NotesDocument Dim oNewCoverDoc As NotesDocument ' Authorization Check Dim v1 As Variant v1 = Evaluate ( {@If ( "[NotesDesigner]" *= @UserRoles; 1; 0 )}) If v1 ( 0 ) = 0 Then MessageBox "You are not authorized !", 48, "Attention !" Exit Sub End If ' Authorization Check Set oDatabase = oSession.CurrentDatabase Set oCollection = oDatabase.UnprocessedDocuments ' Kontrol If oCollection.Count = 0 Then Exit Sub ' Kontrol If oCollection.Count > 1 Then MessageBox "Please select only 1 (one) Binder Document !", 48, "Attention !" Exit Sub End If ' Get Binder Document which has missing cover document Set oSelectedDoc = oCollection.GetFirstDocument ' YOUR_VIEW -> You can create a view which can contains original binder & cover document (to be source) and binder document which has missing cover document Const VIEWALIAS = "YOUR_VIEW" Const TITLE = "Cover Document Selection - to be Copied" Const PROMPT = "Select an original cover document to be copied !" Set oCoverCollection = oWorkspace.PickListCollection ( 1, False, oDatabase.Server, oDatabase.FilePath, VIEWALIAS, TITLE, PROMPT ) If oCoverCollection.Count = 0 Then MessageBox "You have to select a cover document !", 48, "Attention !" Exit Sub End If Set oOriginalCoverDoc = oCoverCollection.GetFirstDocument If oOriginalCoverDoc.Getitemvalue ( "ACTIVITYIDOS" ) ( 0 ) <> oSelectedDoc.Getitemvalue ( "ACTIVITYIDOS" ) ( 0 ) Then MessageBox "ACTIVITYIDOS has to be same betweeen selected binder document & selected cover document which'll be copied. !", 48, "Error !" Exit Sub End If Set oNewCoverDoc = oOriginalCoverDoc.Copytodatabase ( oDatabase ) ' InstanceOS oNewCoverDoc.Replaceitemvalue "InstanceOS", oSelectedDoc.Getitemvalue ( "InstanceOS" ) ( 0 ) ' BinderDocIDOS oNewCoverDoc.Replaceitemvalue "BinderDocIDOS", oSelectedDoc.Universalid oSelectedDoc.Replaceitemvalue "BinderDocIDOS", oSelectedDoc.Universalid ' FolderIDOS oNewCoverDoc.Replaceitemvalue "FolderIDOS", oNewCoverDoc.Universalid oSelectedDoc.Replaceitemvalue "FolderIDOS", oNewCoverDoc.Universalid ' INSTANCEIDOS oNewCoverDoc.Replaceitemvalue "INSTANCEIDOS", oNewCoverDoc.Universalid + "FirstHost" oSelectedDoc.Replaceitemvalue "INSTANCEIDOS", oNewCoverDoc.Universalid + "FirstHost" ' JOINDOCIDOS oNewCoverDoc.Replaceitemvalue "JOINDOCIDOS", oSelectedDoc.Getitemvalue ( "ACTIVITYIDOS" ) ( 0 ) + oSelectedDoc.Getitemvalue ( "INSTANCEIDOS" ) ( 0 ) + oNewCoverDoc.Universalid oSelectedDoc.Replaceitemvalue "JOINDOCIDOS", oSelectedDoc.Getitemvalue ( "ACTIVITYIDOS" ) ( 0 ) + oSelectedDoc.Getitemvalue ( "INSTANCEIDOS" ) ( 0 ) + oSelectedDoc.Universalid ' MainDocIDOS oNewCoverDoc.Replaceitemvalue "MainDocIDOS", oSelectedDoc.Universalid ' SOURCEDOCIDOS oNewCoverDoc.Replaceitemvalue "SOURCEDOCIDOS", oNewCoverDoc.Universalid oSelectedDoc.Replaceitemvalue "SOURCEDOCIDOS", oSelectedDoc.Universalid Call oNewCoverDoc.Save ( True, False ) Call oSelectedDoc.Save ( True, False ) Messagebox "Done !" End Sub