Copytodatabase

  • Автор темы Автор темы makaset
  • Дата начала Дата начала

makaset

Well-known member
14.03.2007
126
0
BIT
0
всем привет! кто подскажет откопал такой код
а он коприует все документы из базы. а мне надо что бы копировался те документы который я выделил во вюхе. и после коприования удалил из текущей базы


Dim nArchDb As New NotesDatabase("arch","arch.nsf")
Dim nSs As New NotesSession
Dim nDb As NotesDatabase
Dim nDoc As NotesDocument
Dim nDocColl As NotesDocumentCollection
Set nDb = nSs.CurrentDatabase
Formula1$={Form="RabDoc"| @AllChildren }'условия отбора
Set nDocColl = nDb.Search(Formula1$,Nothing,0)
Set nDoc = nDocColl.GetFirstDocument
While Not(nDoc Is Nothing)
Call nDoc.CopyToDatabase(nArchDb)
Set nDoc = nDocColl.GetNextDocument(nDoc)
Wend
 
открываем хэлп...
сморим NotesUIView class
 
В свойствах агента выставить "All Selected Documents", заменить способ получения коллекции в коде
Код:
Dim nArchDb As New NotesDatabase("arch","arch.nsf")
Dim nSs As New NotesSession
Dim nDb As NotesDatabase
Dim nDoc As NotesDocument
Dim nxtDoc as NotesDocument
Dim nDocColl As NotesDocumentCollection
Set nDb = nSs.CurrentDatabase
Set nDocColl = nDb.UnprocessedDocuments
Set nDoc = nDocColl.GetFirstDocument
While Not (nDoc Is Nothing)
Set nxtDoc = nDocColl.GetNextDocument(nDoc)
Call nDoc.CopyToDatabase(nArchDb)
Call nDoc.remove(True) ' аккуратнее с этим
Set nDoc = nxtDoc
Wend
 
Логично)
Потому что копируются только выделенные документы.
Для копирования всех ответных нужен перебор ответных.
Получить ответные можно через doc.Responces, но это ответные первого уровня, если у ответных есть ответные, то надо делать такой же перебор для каждого ответного.
 
отметка отработанных доков потянет за собой UI (установка процессед - работает долго)
т.о. придем к NotesUIView...
так зачем ваще юзать анпроцессед? :)
второй шаг - это получение чайлдов, ту опять - не нужно Responces, ведь есть NotesViewNavigator и notesView.CreateViewNavFromDescendants
 
lmike
А должна ли архивация(судя по задаче это она) идти вручную?
По мне так нужен шедульный агент по расписанию, а вручную документы только метить к архивированию.
А вот потом бежать агентом по спец вьюхе.
И не удалять в процессе архивирования документы! Только метить к удалению, удалять потом, через сутки. Мало ли сбой какой...
 
навигатор не помешает в любом раскладе
если метится интерактивно - то и юивью нужен
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!