Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум программистов _ Oбщий функционал _ Удалить ответы при удалении главного док-та

Автор: Morpheus 25:12:2006, 13:35

Вопрос
как автоматом включить удаление всех подчиненных документов (response) при удалении document?

Ответ

Set coll = db.UnprocessedDocuments 
   If coll.Count>0 Then
      
      If Msgbox("Вы действительно хотите удалить "+Cstr(coll.Count)+"  документов?",36,"") = 6 Then
         Set doc = coll.GetFirstDocument
         While Not doc Is Nothing
            Set TmpDoc = coll.GetNextDocument(doc)
            v = doc.Created
            If v <> 0 Then
               doc.Author = sess.USERNAME
               Call sess.UpdateProcessedDoc( doc )
               Call doc.Save(True, True)
' проверяем, нет ли у дока респонсов
               Set tmpcoll = doc.Responses
               If tmpcoll.Count > 0 Then
                  If Not Msgbox("У выбранного документа есть респонсы"+Chr(10)+"Вы хотите удалить и их?",36,"") = 6 Then
                     Msgbox "Удаление респонсов отменено"
                  Else
                     Call DeleteResponses (db, doc)
                  End If
               End If
               Call doc.Lock
               Call doc.Remove(True)
            End If
            Set doc = TmpDoc
         Wend
Sub DeleteResponses (db As NotesDatabase, doc As NotesDocument)
   Dim ws As New NotesUIWorkspace
   Dim sess As New NotesSession
   Dim coll As NotesDocumentCollection
   Dim resp As NotesDocument
   Dim TmpResp As NotesDocument
   Dim v
    
   Set coll = doc.Responses
   Set resp = coll.GetFirstDocument
   While Not resp Is Nothing
      Set TmpResp = coll.GetNextDocument(resp)
      v = resp.Created
      If v <> 0 Then
         resp.Author = sess.USERNAME
         Call sess.UpdateProcessedDoc( resp )
         Call resp.Save(True, True)
         Call DeleteResponses (db, resp)
         Call resp.Lock
         Call resp.Remove(True)
      End If
      Set resp = TmpResp
   Wend
    
End Sub


Автор
]]>http://forum.codeby.net/go.php?http://forum.sysadmins.ru/profile.php?mode=viewprofile&u=29626]]>

Форум Invision Power Board (http://nulled.ws)
© Invision Power Services (http://nulled.ws)