Кнопка "Удалить" - после удаления выбранного вложения создает документ с удаленным сложением в базе корзина.
Sub Click(Source As Button)
    On Error Goto ErrH
    Dim session As New NotesSession, ws As New NotesUIWorkspace, db As NotesDatabase, sview As NotesView, dc As NotesDocumentCollection
    Dim uidoc As NotesUIDocument, doc As NotesDocument, templdoc As NotesDocument, DocTemp As NotesDocument
    Dim picklist As Variant, mes As String
    Dim rtitem As NotesRichTextItem
    Dim rtitem2 As NotesRichTextItem
    Dim Name_Stncl_List()  As Variant  ' все имена вложений
    
    Set doc = ws.CurrentDocument.Document
    Set uidoc=ws.CurrentDocument
    Set rtitem = doc.GetFirstItem("attach")
    
    Dim xxxx As  Integer
    i=0
    If ( rtitem.Type = RICHTEXT ) Then 
        If Not Isempty(rtitem.EmbeddedObjects) Then  
            Forall obj In rtitem.EmbeddedObjects
                If obj.Type = EMBED_ATTACHMENT Then   ' шаг 1 имена вложений в массив
                    If obj.FileSize=0 Then
                        xxxx =     Messagebox     ({"Приложение:  } & obj.Source & { имеет размер 0 байт.} & Chr(13) & Chr(13)   & {Удалить?"}, 1 , "Удаление нулевого вложения." ) 
                        If xxxx = 1 Then
                            doc.history= Cstr(Now)   + " "+ session.CommonUserName + " удалено приложение размером 0 байт ("  + obj.Source + ") "   &Chr(13) & " "&Chr(13) &  doc.history(0)
                            Call  obj.Remove
                            doc.ReplaceItemValue({SaveOptions},{0}).SaveToDisk=False
                            Call doc.save (True,False)
                            Call uidoc.Close
                            Call ws.EditDocument(True, doc)  '  False - чтение
                            Exit Sub
                        End If
                        
                    Else
                        Redim Preserve Name_Stncl_List(i)        
                        Name_Stncl_List(i)= obj.Source ' в Name_Stncl_List вносим имена вложений
                        Print Name_Stncl_List(i)
                        i=i+1
                    End If
                End If                
            End Forall
        End If
    End If        
    
    
    If i>0 Then        'есть  хоть одно вложение в поле атач
        Set DocTemp = doc.ParentDatabase.CreateDocument
        DocTemp.ReplaceItemValue  "Name_ListAttach", Name_Stncl_List    
        flag = ws.DialogBox("ChooseDlg",True,True,False,False,False,False,"Выберите документы для удаленияl",doctemp, True)
        If flag=False Then    Exit Sub
    End If
    q$=""
    k = Ubound(doctemp.ListAttach)  ' поле ListAttach с именами вложений на форме ChooseDlg
    If k = 0 And doctemp.ListAttach(0) = "" Then Messagebox "Не выбраны  приложения", 64, "Внимание"    
    For jj = 0 To k
        q$=doctemp.ListAttach(jj)
        Print q$
        Forall obj In rtitem.EmbeddedObjects
            If obj.Source  =q$ Then
                Print  "удалить " obj.Source
                ' Копирование в КОРЗИНУ
                Set db = session.CurrentDatabase
                
                server$ = db.Server
                databaseFileName$  = "promdoc\recycled.nsf"
                Print  server$ "\"  databaseFileName$
                Set db = session.GetDatabase(server$, databaseFileName$)
                If Not db.Isopen Then
                    Messagebox    "Нет доступа к Базе Корзина!", 16, "Ошибка!!!"    
                    Exit Sub
                End If
                
                datapatch$ = "C:\XML\"
                If  Dir$ (datapatch$ ,16 )="" Then 
                    Mkdir datapatch$
                End If
                Call obj.ExtractFile( datapatch$ & obj.Source ) 
                
                
                
                Dim docR As NotesDocument
                Set docR = db.GetDocumentByUNID(doc.id(0))
                Print "doc.id " doc.id(0)
                Dim flagr As Boolean
                flagr=False
                If docR Is Nothing Then
                    flagr=True
                Else
                    Print "docR.UniversalID   "  docR.UniversalID
                    If docR.Size>0 Then
                        Print "Док уже есть.Крепим удаленное вложение"
                        Set rtitem2 =  docR.GetFirstItem("attach" )
                    Else
                        Print "НУЛЕВОЙ ГЛЮЧНЫЙ ДОК!"
                        If docR.IsDeleted Then Print "DELETED"
                        flagr=True  
                    End If
                End If
                
                
                If flagr=True Then
                    Print "Создать док"
                    Set docR = New NotesDocument( db ) '   '               ----------  новый   Док в базе Корзина    
                    Set rtitem2 = New NotesRichTextItem (docR,"attach")
                    docR.form = doc.form
                    docR.header = doc.header
                    docR.adresed = doc.adresed
                    docR.datereg = doc.datereg
                    docR.isp = doc.isp
                    docR.regnom_1   = doc.regnom_1       
                    docR.regnom  = doc.regnom     
                    docR.doctype = doc.doctype
                    docR.docnomen = doc.docnomen
                    docR.date_kor = doc.date_kor
                    docR.regnom_kor = doc.regnom_kor
                    docR.history = doc.history
                    docR.id = doc.id
                    docR.fullregnom = doc.fullregnom
                    docR.isreg = doc.isreg
                    docR.archive = doc.archive
                    docR.UniversalID=doc.UniversalID
                End If
                
                Call rtitem2.EmbedObject ( EMBED_ATTACHMENT, "", datapatch$ & obj.Source)
                Call    docR.Save(1,0)
                Print "СОхранили."
                
                doc.history= Cstr(Now)      + " "+  session.CommonUserName + " удалено приложение ("  + obj.Source + ") "   &Chr(13) & " "&Chr(13) &  doc.history(0)
                Call  obj.Remove
            End If
        End Forall
    Next
    
    '        Call rtitem.Update
    doc.ReplaceItemValue({SaveOptions},{0}).SaveToDisk=False
    Call doc.save (True,False)
    Call uidoc.Close
    Call ws.EditDocument(True, doc)  '  False - чтение
    
    
    Exit Sub
    
ErrH:
    If Err = 4091 Then
        Print "Документа нет в Корзине!"
        Resume Next
    End If
    Print "Ошибка " & Error(Err) & " в строке " & Erl    
    Exit Sub
End Sub