0 / 0 / 0
Регистрация: 08.09.2006
Сообщений: 64
|
|
1 | |
NotesDocumentCollection29.10.2006, 19:07. Показов 52650. Ответов 57
Метки нет (Все метки)
Как создать пустую коллекцию, чтобы в нее потом можно было добавлять документы при помощи collection.AddDocument ????
0
|
29.10.2006, 19:07 | |
Ответы с готовыми решениями:
57
NotesDocumentCollection.DeleteDocument Notesdocumentcollection.ftsearch Vs Getfirst/next Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
0 / 0 / 0
Регистрация: 23.10.2006
Сообщений: 218
|
|
30.10.2006, 09:36 | 2 |
Берёшь первую попавшуюся вьюху. И дальше GetAllDocumentsByKey с какой-нить дикой строкой. Например, Set doccol=view.GetAllDocumentsByKey("QQQQWWWWWEEEEERRRRR!@#sdsdcdgf",True). Ну и на всякий случай вычищаешь эту коллекцию .
0
|
0 / 0 / 0
Регистрация: 08.09.2006
Сообщений: 64
|
|
30.10.2006, 16:15 | 3 |
Как же эту коллекцию вычистить? Как вообще можно удалить документ из коллекции?
а насчет главного вопроса, пришел к выводу, что лучшим способом будет Set coll = db.Search("", nothyng, 0)
Сообщение от Kee_Keekkenen
0
|
1 / 1 / 0
Регистрация: 01.10.2006
Сообщений: 615
|
|
30.10.2006, 16:45 | 4 |
все просто
0
|
0 / 0 / 0
Регистрация: 03.04.2004
Сообщений: 195
|
|
31.10.2006, 00:53 | 5 |
А вот нечего коллекцию лотусиную использовать не по незначению.
Для временного хранения и передачи параметров юзай List або массив динамический (Redym с перезервом)
0
|
0 / 0 / 0
Регистрация: 23.10.2006
Сообщений: 218
|
|
31.10.2006, 10:58 | 6 |
<!--QuoteBegin-ak-47+31:10:2006, 15:02 -->
<table border="0" cellpadding="0" cellspacing="0" align="center" width="98%"> [tr] <td class="vbquote"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="75" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="50px"> [tr] <td class="vbquote" width="28" valign="top"></td> <td class="vbquote" width="100%" style="background-image: url(style_images/ckr/quotes/quote-bg.gif); background-position: center;" valign="middle"><span class="vbquote">Цитата:</span></td> <td class="vbquote" valign="top"></td> [/tr] </table> </td> <td class="vbquote" align="left" style="background-image: url(style_images/ckr/quotes/quot-lr-bg.gif)" valign="bottom"></td><td class="vbquote" width="0" align="left" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="200"> [tr] <td class="vbquote" valign="top"></td> <td class="vbquote" width="100%" style="background-image: url(style_images/ckr/quotes/quot-bye-bg.gif)" align="left" valign="middle" nowrap="nowrap"><span class="vbquote">(ak-47 @ 31:10:2006, 15:02 )</span></td> <td class="vbquote" valign="top"></td> [/tr] </table> </td><td class="vbquote" width="100%" align="right" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="100%"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" style="background-image: url(style_images/ckr/quotes/quot-top-bg.gif)" width="100%" valign="middle"></td> <td class="vbquote" align="left" valign="top"></td> [/tr] </table> </td> [/tr] </table> </td> [/tr] </table> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="10" style="background-image: url(style_images/ckr/quotes/quoting-left.gif)"></td> <td class="vbquotemain" width="100%" valign="top"></td> <td class="vbquote" width="10" style="background-image: url(style_images/ckr/quotes/quoting-right.gif)"></td> [/tr] [tr] <td class="vbquote" width="10" style="background-image: url(style_images/ckr/quotes/quot-left-bg.gif)"></td> <td class="vbquotemain" width="100%" valign="top"><!--QuoteEBegin-->Как же эту коллекцию вычистить? Как вообще можно удалить документ из коллекции?<!--QuoteEnd--></td> [/tr] [tr] [/tr] </table> </td> [/tr] </table> <!--QuoteEEnd-->Я это обычно делаю вот так: <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Deletes a document from a collection (not from the disk)</div></div><div class="sp-body"><div class="sp-content"> <table border="0" cellpadding="0" cellspacing="0" align="center" width="98%"> [tr] <td class="vbquote"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="75" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="50px"> [tr] <td class="vbquote" width="28" valign="top"></td> <td class="vbquote" width="100%" style="background-image: url(style_images/ckr/quotes/quote-bg.gif); background-position: center;" valign="middle"><span class="vbquote">Цитата:</span></td> <td class="vbquote" valign="top"></td> [/tr] </table> </td> <td class="vbquote" align="left" style="background-image: url(style_images/ckr/quotes/quot-lr-bg.gif)" valign="bottom"></td><td class="vbquote" width="0" align="left" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="200"> [tr] <td class="vbquote" valign="top"></td> <td class="vbquote" width="100%" style="background-image: url(style_images/ckr/quotes/quot-bye-bg.gif)" align="left" valign="middle" nowrap="nowrap"><span class="vbquote">(Mihal @ 1:11:2006, 09:39 )</span></td> <td class="vbquote" valign="top"></td> [/tr] </table> </td><td class="vbquote" width="100%" align="right" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="100%"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" style="background-image: url(style_images/ckr/quotes/quot-top-bg.gif)" width="100%" valign="middle"></td> <td class="vbquote" align="left" valign="top"></td> [/tr] </table> </td> [/tr] </table> </td> [/tr] </table> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="10" style="background-image: url(style_images/ckr/quotes/quoting-left.gif)"></td> <td class="vbquotemain" width="100%" valign="top"></td> <td class="vbquote" width="10" style="background-image: url(style_images/ckr/quotes/quoting-right.gif)"></td> [/tr] [tr] <td class="vbquote" width="10" style="background-image: url(style_images/ckr/quotes/quot-left-bg.gif)"></td> <td class="vbquotemain" width="100%" valign="top"><!--QuoteEBegin-->А вот нечего коллекцию лотусиную использовать не по незначению. Для временного хранения и передачи параметров юзай List або массив динамический (Redym с перезервом)<!--QuoteEnd--></td> [/tr] [tr] [/tr] </table> </td> [/tr] </table> <!--QuoteEEnd-->Ну, человек же не написал КАК он её пользовать собирается. А у коллекции есть ряд "вкусных" методов. FTSearch, например. Или StampAll тоже интиресная штука. Опять же класс NotesNewsLetter работает с коллекциями.
0
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
13.01.2010, 10:17 | 7 |
Иногда приходилось сталкиваться с необходимостью создания пустой коллекции.
В 8ке у notesdatabase появился новый (недокументированный) метод для этого - CreateDocumentCollection. Мне попалось на глаза сообщение на эту тему. Привлек внимание интересный коммент к нему (2й) насчет создания пустой коллекции (вольный перевод): "При использовании db.CreateDocumentCollection () получаем в результате неотсортированную коллекцию. То есть коллекция всегда обрабатывает добавленные в нее документы в порядке их NoteID. Аналогичную коллекцию даст .search(). Однако, если коллекция строится с помощью .GetAllDocumentsByKey, то, даже если результирующий набор пуст, коллекция считается отсортированной, и поэтому документы будут обрабатываться в том порядке, в котором вы их добавите (first-in-first-out). Эта особенность, оказывается, имеет очень важное значение для некоторых видов операций."
0
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
13.01.2010, 10:27 | 8 |
Интересно, а вызов
Set notesDocumentCollection = notesDatabase.GetProfileDocCollection("Нет таких профилей в этой базе!") даст сортированную или несортированную коллекцию?
0
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
13.01.2010, 10:46 | 9 |
ToxaRat
Ну, конечно, можно переделать код через списки или массив документов и не морочиться с коллекциями. но не одна я такая не один раз в коде встречала, даже как-то давненько прикалывалась с того, кто чего у нас пишет в качестве параметра для GetAllDocumentsByKey (народу много поработало). Medevic Да, хелп 7ки вообще практически какую-либо сортировку отрицает, говорит про GetAllDocumentsByKey, что "Documents returned by thys method are in no particular order" (в отличие от коллекции энтрисов). nvy ничего не скажу, надо экспериментировать с GetProfileDocCollection. И вообще хз, насколько это вообще верно.
0
|
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
|
|
13.01.2010, 13:38 | 10 |
Во времена 5-ки была какая-то дока (не помню, но в голове сидит жёстко), что GetAllDocumentsByKey возвращает коллекцию, отсортированную по дате создания документов. Мы тогда наткнулись на это... для одного процесса нам нужна была "своя" сортировка, побороть не смогли, использовать библиотеки, "сортирующие коллекцию", а на самом деле возвращающую массивы или списки - это изврат (зачем лишний перебор?), поэтому остановились тогда на NotesViewNavigatorе.
Что касается использования изначально пустых коллекций и их создания с помощью GetProfileDocCollection, так это не глупость, иногда это удобно. Использую, например, когда получил документ по CaretCategory - засовываю его в коллекцию, - последующий код унифицируется, т.е. я не ставлю потом проверок типа "если был выделен 1 документ, то выполняем опереции с ND, а если несколько, то с NDC", все последующие процедуры работают без этих ненужных условий - по коллекции. Немного "напрягает" другое... - что у коллекции есть свойство Parent. Никогда не добавлял в коллекцию документы из другой БД; теоретически должно поклинить... если да, то это конечно неприятное ограничение.
0
|
0 / 0 / 0
Регистрация: 15.03.2009
Сообщений: 615
|
|
13.01.2010, 14:02 | 11 |
Сообщение от VladSh
инстанс NotesDatabase - не синглтон, поэтому клинит, даже если document.ParentDatabase фактически совпадает с collection.parent, но ссылаются на разные объекты. <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">код</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class=vb> Dim session As New NotesSession Dim db As NotesDatabase Dim collection As NotesDocumentCollection Set db = session.CurrentDatabase Set collection = db.Search( "" , Nothyng , 0 ) Dim sameDb As NotesDatabase При получении по replicaID - sameDb - другой объект. ERROR Set sameDb = New NotesDatabase( "" , "" ) Call sameDb.OpenByReplicaID( db.Server , db.ReplicaID ) При получении по getDatabase - sameDb - тот же объект. Нормально работает. Set sameDb = session.GetDatabase( db.Server , db.FilePath ) Dim doc As NotesDocument Set doc = sameDb.AllDocuments.GetFirstDocument Call collection.AddDocument( doc )[/CODE]
0
|
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
|
|
13.01.2010, 14:13 | 12 |
turumbay
В коллекцию, полученую культурными методами - да. Тем более, если там есть уже хоть один док. Просто интересно было, если в пустую, полученную с помощью GetProfileDocCollection, добавить док из др. БД... попробую как-нибудь. GetDatabase никогда не приходилось использовать, т.к. при подключении к БД у меня они в List записывались, где тэгом был AliasDb, по которому её вызывали в коде. Интересно, спасибо!
0
|
0 / 0 / 0
Регистрация: 15.03.2009
Сообщений: 615
|
|
13.01.2010, 14:22 | 13 |
Сообщение от VladSh
т.е. в коллекцию( в т.ч. пустую ) можно добавить документ, у которого parentDatabase ссылается на тот же объект, что и collection.parent. получается - это необходимое условие.
0
|
0 / 0 / 0
Регистрация: 23.08.2007
Сообщений: 364
|
|
20.05.2010, 15:03 | 14 |
Сообщение от turumbay
0
|
0 / 0 / 0
Регистрация: 15.03.2009
Сообщений: 615
|
|
20.05.2010, 15:08 | 15 |
Сообщение от yerke
если хочется проверить - welcome. написание теста займет 5 минут.
0
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 200
|
|
31.05.2010, 18:01 | 16 |
Нужно выбрать документы из категории в виде. Все вроде нормально, но где-то слышал что в коллекции сортировка слетает. Это так? Можно как-то отсортировать коллекцию?
0
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
31.05.2010, 18:04 | 17 |
NotesViewEntryCollection class
0
|
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 3,019
|
|
31.05.2010, 18:05 | 18 |
garri
колекция будет построена согласно дате создания документов и коллекцию никогда не нужно даже пытаться сортировать
0
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 200
|
|
31.05.2010, 18:08 | 19 |
Спасибо.
Добавлено:
Сообщение от ToxaRat
NotesViewEntryCollection то что нужно.
0
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
31.05.2010, 18:21 | 20 |
Сообщение от ToxaRat
Сам не пользовал, где может пригодиться, не знаю.
0
|
31.05.2010, 18:21 | |