• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Copytodatabase

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
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
215
открываем хэлп...
сморим NotesUIView class
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
180
В свойствах агента выставить "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
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
180
Логично)
Потому что копируются только выделенные документы.
Для копирования всех ответных нужен перебор ответных.
Получить ответные можно через doc.Responces, но это ответные первого уровня, если у ответных есть ответные, то надо делать такой же перебор для каждого ответного.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
215
отметка отработанных доков потянет за собой UI (установка процессед - работает долго)
т.о. придем к NotesUIView...
так зачем ваще юзать анпроцессед? :)
второй шаг - это получение чайлдов, ту опять - не нужно Responces, ведь есть NotesViewNavigator и notesView.CreateViewNavFromDescendants
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
180
lmike
А должна ли архивация(судя по задаче это она) идти вручную?
По мне так нужен шедульный агент по расписанию, а вручную документы только метить к архивированию.
А вот потом бежать агентом по спец вьюхе.
И не удалять в процессе архивирования документы! Только метить к удалению, удалять потом, через сутки. Мало ли сбой какой...
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
215
навигатор не помешает в любом раскладе
если метится интерактивно - то и юивью нужен
 
Мы в соцсетях:

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