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

Getalldocumentsbykey

18.01.2009, 13:20. Показов 22515. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
пытаюсь отобрать документы по дате


Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
......
DateStart="01.01.2000"
DateStop=Today
 
Dim dateTime1 As New NotesDateTime(DateStart)
Dim dateTime2 As New NotesDateTime(DateStop)
Set dateRange = session.CreateDateRange()
Set dateRange.StartDateTime = dateTime1
Set dateRange.EndDateTime = dateTime2
 
Set view=CS_GetCurrentDb.GetView("OrdersAllDate")
Set dcDate = view.GetAllDocumentsByKey(dateRange)
If dcDate.Count < 1 Then Error 5001, "На периуд " & dateRange.Text & " заказы отсутствуют!"
......
Докуменыт не находяться, если я задам просто на определенную дату "15.01.2009" то он их находит.
В чем может быть проблема ??
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.01.2009, 13:20
Ответы с готовыми решениями:

Getalldocumentsbykey
Dim keys(1) as Variant Dim dr as NotesDateRange Set keys(0)=dr keys(1)=&quot;text string&quot; Dim view as NotesView ...

Метод Getalldocumentsbykey
Всем привет! Пытаюсь получить коллекцию документов из представления (ппервый и второй столбцы отсортированы) следущим способом: Dim...

Getalldocumentsbykey не работает
Добрый день, в общем версия LN: Release 8.5.1 SHF29 Revision 20101014.1307-T00029SHF (Release 8.5.1FP5 SHF29) Standard...

17
0 / 0 / 0
Регистрация: 08.02.2007
Сообщений: 206
18.01.2009, 13:43
Используйте NotesDatabase.Search
0
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
18.01.2009, 13:45
в поисковом столбце данные правильно отображаются, дата?
попробуй задать какое-то время, кроме даты...
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
18.01.2009, 13:54
Можно попробовать вместо DateStop=Today указать DateStop="Today". Всё-таки по документации нужна строка.
0
MMm
18.01.2009, 14:04
Кстати щас увидел, если я задам дату вручную
DateStop="19.01.2009"
Set dcDate = view.GetAllDocumentsByKey(DateStop)
то он найдет документы, а если
DateStop=Today
Set dcDate = view.GetAllDocumentsByKey(DateStop)
то ничего не найдет
0 / 0 / 0
Регистрация: 13.03.2008
Сообщений: 234
18.01.2009, 14:06
Ну и делай DateStop=Cstr(Today)...
0
MMm
18.01.2009, 14:08
Цитата Сообщение от Akupaka
в поисковом столбце данные правильно отображаются, дата?
попробуй задать какое-то время, кроме даты...
столбец единственный и там видно только дату, в самом документе присутствует еще и время в данном поле.




Цитата Сообщение от Alexander (Criz)
Ну и делай DateStop=Cstr(Today)...
В том то и дело, что мне нужен dateRange, документы за определенный периуд
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
18.01.2009, 14:56
ну, вообще-то нельзя пользоваться такой конструкцией


Code
1
2
DateStop=Today
Dim dateTime2 As New NotesDateTime(DateStop)
т.к. конструктор NotesDateTime принимает строго строку, а Today возвращает Variant of DataType 7 (Date/Time), который не преобразовывается в данном случае корректно в строковое выражение.
таким образом, корректно будет использовать либо


Code
1
2
DateStop=cstr(Today)
Dim dateTime2 As New NotesDateTime(DateStop)
либо

Code
1
2
DateStop="Today"
Dim dateTime2 As New NotesDateTime(DateStop)
0
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
18.01.2009, 15:11
Жесть
+1 за реплику господина Yakova
0
MMm
18.01.2009, 15:17
спасибо, буду знать на будущее.
а как быть с dateRange ??
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
18.01.2009, 15:23
Тебе уже три раза сказали как быть.
0
MMm
18.01.2009, 15:27
Цитата Сообщение от Medevic
Тебе уже три раза сказали как быть.
если вы имели в виду это
DateStop = Cstr(DateStop)
DateStart = Cstr(DateStart)
то оно не помогает с dateRange
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
18.01.2009, 15:41
Можно полный код как в первом посте?
В дебагере смотрел чему равно dateRange?
0
MMm
18.01.2009, 15:52
Цитата Сообщение от Medevic
Можно полный код как в первом посте?


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
    Dim session As New NotesSession
Dim docff As NotesDocument
Dim NUIW As New NotesUIWorkspace
Set docff = New NotesDocument( session.currentDatabase )
Call NUIW.DialogBox     ( "(ChekDate)", True, True, False, False, False, False, "Выбрать периуд" , docff, True)
DateStart = docff.GetItemValue("DateStart")(0)
DateStop = docff.GetItemValue("DateStop")(0)
 
If DateStart="" Then DateStart="01.01.1900"
If DateStop="" Then DateStop=Cstr(Today)
 
DateStop = Cstr(DateStop)
DateStart = Cstr(DateStart)
DateStart="01.01.2000"
DateStop=   Cstr(Today)
Print DateStop
DateStop = "19.01.2009"
Dim dateTime1 As New NotesDateTime(DateStart)
Dim dateTime2 As New NotesDateTime(DateStop)
Set dateRange = session.CreateDateRange()
Set dateRange.StartDateTime = dateTime1
Set dateRange.EndDateTime = dateTime2
Messagebox dateRange.Text
 
Set tmpDoc=CS_GetCurrentDb.CreateDocument
Set view=CS_GetCurrentDb.GetView("OrdersAllDate")
Set dcDate = view.GetAllDocumentsByKey(dateRange)
Set dcDate = view.GetAllDocumentsByKey(DateStop)
 
If dcDate.Count < 1 Then Error 5001, "На периуд " & dateRange.text & " заказы отсутствуют!"


Цитата Сообщение от Medevic
В дебагере смотрел чему равно dateRange?
смотрел вот так Messagebox dateRange.Text
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
18.01.2009, 16:09
Вроде бы всё правильно.
Предлагаю перестроить индексы или попробовать в новом представлении.
0
0 / 0 / 0
Регистрация: 08.02.2007
Сообщений: 206
18.01.2009, 16:49
offtop on


Цитата Сообщение от MMN
"Выбрать периуд"
Это на каком языке?
offtop off
0
MMm
18.01.2009, 17:11
Цитата Сообщение от Yakov
Это на каком языке?
offtop off
это не влияет на работоспособность ))
MMm
19.01.2009, 18:20
На самом деле проблема была в том, что данные в колонку выводились через формулу
@Text(@Date(OrderDate))
оставил так и все заработало.
@Date(OrderDate)



Цитата Сообщение от Akupaka
в поисковом столбце данные правильно отображаются, дата?
вот в свойствах колонки я покапался, а про формулы забыл.


Всем большое спасибо за помощь, все удалось.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.01.2009, 18:20
Помогаю со студенческими работами здесь

Collection = View.getalldocumentsbykey
Hi! all В представлении доки отсортированы по определенному полю Set vCalView = web.database.GetView(&quot;(ThreadsCat)&quot;) Вью со...

Иногда Getalldocumentsbykey не срабатывает...
Иногда GetAllDocumentsByKey не находит документы в виде по их номеру, хотя они были созданы точно, причем ещё до создания объекта класса...

Set Dc = Curview.getalldocumentsbykey(key)
а как получить документы, которые во вьюшке записана как Not categorized, что будет key для такого случая??

@dblookup Vs Notesvew.getdocumentbykey(getalldocumentsbykey)
Предположим есть задача, есть коллекция документов. Нужно пройтись по каждому документу этой коллекции и взять по ключу(из представления, в...

Получить доки в Repeate Control по Getalldocumentsbykey
Repeate control &lt;xp:repeat id=&quot;repeat1&quot; rows=&quot;30&quot; var=&quot;coll&quot;&gt; &lt;xp:thys.value&gt;&lt;!]&gt;&lt;/xp:thys.value&gt; &lt;xp:panel&gt; &lt;xp:text...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru