Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/53: Рейтинг темы: голосов - 53, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 09.06.2012
Сообщений: 113

Отбор Документов В Виде (по Ключу)

19.11.2012, 15:54. Показов 10521. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Назрел вопрос...
Хочу собрать (обновить) вид по ключу (диапазон дат)
Получаю коллекцию "строк" из вида. И как обработать эту коллекцию, чтобы отобразить в виде только эти "строки"? на что обратить внимание?
Пишу акцию на вид:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim uiView As NotesUIView
Dim view As NotesView
 
Dim session As New NotesSession
Dim curdb As NotesDatabase
Dim tempdoc As NotesDocument
Dim flag As Boolean
Dim dr As NotesDateRange
Dim ndtStart As NotesDateTime
Dim ndtEnd As NotesDateTime
Dim coll As NotesViewEntryCollection
 
Set uiView = Ws.CurrentView
Set view = uiView.View
 
Set curdb = session.CurrentDatabase
Set tempdoc = curdb.CreateDocument
 
 
flag = ws.DialogBox("test", True, True, , , , , "Введите данные",tempdoc ,False,)
If flag Then
Set dr = session.CreateDateRange
Set ndtStart = New NotesDateTime(tempdoc.t1(0))
Set ndtEnd = New NotesDateTime( tempdoc.t2(0))
Set dr.StartDateTime= ndtStart
Set dr.EndDateTime = ndtEnd
If tempdoc.t3(0)="1" Then
Call view.Refresh
End If
Set coll = view.GetAllEntriesByKey(dr,True)
End If
End Sub
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.11.2012, 15:54
Ответы с готовыми решениями:

Отбор по банковскому счету документов в журнале документов (банковская выписка)
Добрый день! Подскажите, пож, как правильно написать код для отбора по банковскому счету документов в журнале документов (банковская...

Отбор документов
Добрый день! Подскажите пожалуйста, как сделать так, чтобы пользователь видел только часть иерархического списка (из view) который к нему...

отбор в списке документов
Друзья, помогите в модуле формы списка документов прописана следующая процедура Процедура ПриОткрытии(Отказ, СтандартнаяОбработка) ...

7
0 / 0 / 0
Регистрация: 30.07.2010
Сообщений: 85
19.11.2012, 17:23
Цитата Сообщение от Mitya
Добрый день.
Назрел вопрос...
Хочу собрать (обновить) вид по ключу (диапазон дат)
Получаю коллекцию "строк" из вида. И как обработать эту коллекцию, чтобы отобразить в виде только эти "строки"? на что обратить внимание?
Положите результаты в папку и отобразите

Code
1
Call coll.PutAllInfolder("ResView")
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 223
22.11.2012, 11:51
У меня выборки документов за период для обработки решается приблизительно так:

LotusScript
1
2
3
4
5
6
7
8
Sub CreatePaymentsList( DateBeg As Variant, DateEnd As Variant)
Dim dc As NotesDocumentCollection
 
Call vwList.AllEntries.RemoveAllFromFolder( vwList.Name )
Set dc = dbPaym.Search({Form="Payment.Doc" & DocDate>=[} + CStr(DateBeg) + {] & DocDate<=[} + CStr(DateEnd) +{] & Deleted<>"1"}, Nothyng, 0)
Call dc.PutAllInFolder( vwList.Name )
 
End Sub
Если папка на экране, рефреш и далее по смыслу.


Есть варианты с установкой флага в удовлетворяющих условию документов + наличие вью c SELECT ... & StatFlag=1

LotusScript
1
2
3
4
5
6
7
8
9
10
Sub FlagClear
SearchFormula ={@IsMember(Form;"Inspection") & StatFlag=1}
Set dc = CurrDb.Search(SearchFormula,Nothyng,0)
Call dc.StampAll("StatFlag", 0)
End Sub
Sub FlagSet_Inspection
SearchFormula ={Form="Inspection" & DateStart>=[} + Cstr(StartDate) + {] & DateStart<=[} + Cstr(EndDate) +{]}
Set dc = CurrDb.Search(SearchFormula,Nothyng,0)
Call dc.StampAll("StatFlag", 1)
End Sub
0
0 / 0 / 0
Регистрация: 09.06.2012
Сообщений: 113
25.11.2012, 11:40
В итоге получил такое:

.SpoilerTarget">Спойлер: Раскрывающийся Текст


Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim uiView As NotesUIView
Dim view As NotesView
 
Dim session As New NotesSession
Dim curdb As NotesDatabase
Dim tempdoc As NotesDocument
Dim flag As Boolean
Dim dr As NotesDateRange
Dim ndtStart As NotesDateTime
Dim ndtEnd As NotesDateTime
Dim coll As NotesViewEntryCollection
Dim entry As NotesViewEntry
Dim doc As NotesDocument
 
Set uiView = Ws.CurrentView
Set view = uiView.View
 
Set curdb = session.CurrentDatabase
Set tempdoc = curdb.CreateDocument
 
 
flag = ws.DialogBox("test", True, True, , , , , "Введите данные",tempdoc ,False,)
If flag Then
Set dr = session.CreateDateRange
Set ndtStart = New NotesDateTime(tempdoc.t1(0))
Set ndtEnd = New NotesDateTime( tempdoc.t2(0))
Set dr.StartDateTime= ndtStart
Set dr.EndDateTime = ndtEnd
If tempdoc.t3(0)="1" Then
Call view.Refresh
End If
Set coll = view.GetAllEntriesByKey(dr,True)
Set entry = coll.GetFirstEntry
Do While Not (entry Is Nothyng)
If entry.ColumnValues(2)= tempdoc.t4(0) Then
Set doc = entry.Document
Call doc.PutInFolder ("ResView")
End If
Set entry = coll.GetNextEntry(entry)
Loop
Call ws.OpenFrameSet("ResView")
End If
End Sub
И тут вопросы:
1) из прочитанного, работа со "строками" ускоряет процесс. Но как обработать коллекцию строк? (coll.DeleteEntry( entry) - не хочет)
2) И вообще, когда лучше работать с коллекций док, а когда с коллекцией "строк"?
0
0 / 0 / 0
Регистрация: 15.01.2010
Сообщений: 256
25.11.2012, 17:28
Цитата Сообщение от Mitya
И тут вопросы:
1) из прочитанного, работа со "строками" ускоряет процесс. Но как обработать коллекцию строк? (coll.DeleteEntry( entry) - не хочет)
В смысле "обработать коллекцию" строк? DeleteEntry - удаляет энтри из коллекции. Если вам нужно удалить коллекцию энтри из другой коллекции энтри используйте метод Intersect.
Я так понял в вашем случае вы хотите в итоге получить коллекцию документов по определенным критериям и потом одним махом положить ее в папку. Ну если вы используете класс энтри, то создайте 2 коллекцию, куда вы будете добавлять документы, которые подходят по критерию и потом ее кладите в папку.



Цитата Сообщение от Mitya
2) И вообще, когда лучше работать с коллекций док, а когда с коллекцией "строк"?
Ну когда вам что будет удобнее :huh: Я обычно использую энтри, когда нужно работать с представлениями и содержимыми в нем, например: обработать какую-нибудь большую вьюшку с документами (по вьюшке они работают быстрее чем обычная коллекция документов) или при "мелком поиске" в представлении (GetAllEntriesByKey).
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 223
25.11.2012, 17:47
= view.GetAllEntriesByKey( NotesDateRange, True)
Это вообще работает? Возвращает notesViewEntryCollection?
Там же можно передавать массив (или конкретное значение - 1 мерный массив), который должен "стреляться" по количеству и типу с сортированными колонками.
Мне кажется, данный механизм не применим к отбору за интервал дат...


Добавлено:


Цитата Сообщение от Dragon108
Ну когда вам что будет удобнее :huh: Я обычно использую энтри, когда нужно работать с представлениями и содержимыми в нем, например: обработать какую-нибудь большую вьюшку с документами (по вьюшке они работают быстрее чем обычная коллекция документов) или при "мелком поиске" в представлении (GetAllEntriesByKey).
Я, в основном, когда нужна информация из строк категорий, тотал и т.п.
0
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
26.11.2012, 00:21
Мне кажется, данный механизм не применим к отбору за интервал дат
Применим к колонкам типа дата, но отбор по следующим колонкам не работает
Getallentriesbykey криво ищет по составному ключу
0
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
26.11.2012, 17:43
Тема будет позже удалена, т.к. опять чисто RTFMный вопрос.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.11.2012, 17:43
Помогаю со студенческими работами здесь

Отбор документов в представление
В общем есть некоторый документ, в котором есть дата. Необходимо сделать возможность выбора документов попадающих в интервал дат. ...

Отбор в журнале документов 8.2
Добрый вечер! Есть документы (Приходная, Расходная), в запросе (через объединение) выбираются как приходные, так и расходные по заданному...

Отбор в журнале документов 8.2
Спасибо, работает обработка. Задам тогда еще один вопрос. В Журнале Документов Чат необходимо произвести отбор сообщений, сказанных...

Журналы документов отбор
Подскажите, пожалуйста, как в журналах документа сделать отбор, как на рисунке по орг-ии, контрагенту. В инете искала, ничего путного не...

7.7 Отбор в журнале документов
Добрый день. Подскажите, пожалуйста, как можно установить отбор в журнале одновременно по графе отбора и по виду документа? И возможно ли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru