|
mosymo
|
|
Выборка по дате и времени во ВЬЮ08.06.2009, 20:11. Показов 31740. Ответов 24
Метки нет (Все метки)
Проблемма такая!!!
Существует форма в которой есть поле datapostanovki (тип Data) и vremiyprinrehen (тип Time). Нужно сделать Вью в которой нужно сделать выборку данных за сутки по этим поля. Сутки начинаются с 20:00. Я только начал познавать озы Lotus Notes, и поэтому что то пока у меня ничего не получается. Вот как я делаю эту выборку сам: [codebox]SELECT ((Form = "ФОРМА") & (@Text(datapostanovki)>= @Text(@Date(@Yesterday)) & @Text(@Hour(vremiyprinrehen))>="20") & (@Text(datapostanovki)<= @Text(@Date(@Now)) & @Text(@Hour(vremiyprinrehen))<="20")[/codebox] Заранее всем благодарен, кто откликниться на эту проблему. P/S Да и еще один вопрос. Как распечатать ВЬЮ по своей форме Отчета????? |
|
| 08.06.2009, 20:11 | |
|
Ответы с готовыми решениями:
24
Выборка по дате и времени. Выборка по дате и времени Выборка по дате и времени |
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
| 08.06.2009, 20:18 | |
|
не надо так делать!
ужо скока говорено - там много граблей Чем не устроит пущать скрипт и получать выборку, либо (ежели задача позволяет) - встроенную вьюшку делать (с категорией отбора)
0
|
|
|
mosymo
|
||
| 08.06.2009, 20:50 | ||
Желательно примерчик Скрипта ;) |
||
|
Tyo
|
||
| 08.06.2009, 21:02 | ||
НИКОГДА во вьюшках не используйте @Now, @Today, @Yesterday!!!! Т.е. параметров, зависящих от времени. Это приводит к тому, что индекс видов никогда не актуален и индексёр его всегда перестраивает полностью. При большой БД, сервер только на вашу вьюшку будет работать. Используйте @TextToTime ("Сегодня") или @TextToTime ("Today") в зависимости от локали или скриптом с клиента меняйте формулу отбора раз в сутки через NotesView.SelectionFormula, устанавливая дату константой, типа myView.SelectionFormula = {SELECT (datapostanovki <= [} & CStr(Now) & {])} Правда, надо ещё обеспечить, чтоб только один пользователь раз в сутки инициировал операцию перестроения индекса при открытии данной вьюшки Call ws.ViewRebuild() |
||
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
||
| 08.06.2009, 21:23 | ||
0
|
||
|
Tyo
|
|
| 08.06.2009, 21:46 | |
|
OKEN
А в принципе, почему бы и нет!? После такой существенной модификации, как SelectionFormula, и обычный Refresh должен бы приводить к ребилду индекса. На практике не доводилось использовать, но проверю на досуге. Если подтвердится, то и Updallа будет достаточно или UI-обращения к автоматическому виду. (Кстати, может кто-то точно знает?) |
|
|
mosymo
|
||||||
| 08.06.2009, 22:05 | ||||||
|
Фильтрация просто по полю datapostanovki за сутки у меня работает!
ВЬЮ Должна выводить данные, имеенно по этим полям, за сутки, причем сутки начинаются с 20:00, т.е. vremiyprinrehen должно быть >= 20:00 вчерашнего дня и <= 20:00 сегоднешнего дня! |
||||||
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
| 08.06.2009, 22:24 | |
|
TIA
Указанный случай изменения формулы отбора не использовался, поэтому заинтересовало. Было подобное решение с помощью @Environment. Но вот насчет настроенных свойств обновления этих представлений сейчас не подскажу. masyna Ну, стоило прислушаться к совету не использовать @Now. Что мешает через | добавить в представление аналогичное условие по второму нужному полю, правильно расставив скобки? Если 2-я дата в документе не указана, можно использовать проверку @IsTime. Возможно, конечно, я не поняла задачи и надо совместить их по &, т.е. отбирать только если оба поля содержат значения в рамках тек. суток? ps: Yesterday можно заменить на @Adjust(@Date(today); 0; 0; -1; 0; 0; 0); Даты стоит сравнивать как даты все-таки, а не как текст.
0
|
|
|
mosymo
|
||
| 08.06.2009, 22:58 | ||
Именно так, нужно отбирать по & ;) И желательно побольше примеров, так как я начинающий ( да Ламер Я ;) ) |
||
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
||||||||||||||||
| 09.06.2009, 07:41 | ||||||||||||||||
|
Сорри, изначально невнимательно прочла условие - думала, что отбор по 2м независимым датам, а не дата + время.
1. Немного извращенческий отбор в представление по дате и времени с @now в предположении, что дата datapostanovki содержит только дату -проверяется только равенство дат (может, я и не права, но я не думаю, что 20:00 должно учитываться двое суток подряд, поэтому рассматриваю вариант, что сутки заканчиваются до 20:00, а дальше начинаются новые) - чего-то хорошо упростить тут не получилось ;)
Формула отбора в представление в этом случае чуть попроще:
В момент запуска он проверяет время сервера (то перестраховка - если агент запустится не в нужное время, чтоб не менял дату на текущую до начала суток).
0
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
|
|
| 09.06.2009, 09:33 | |
|
Про папки еще никто не упомянул? ;)
0
|
|
|
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
|
||
| 09.06.2009, 10:42 | ||
TIA, чесгря я не понял, чего ты такое насоветовал... не использовать @Today, но использовать @TextToTime ("Today")... ведь эти функции возвратят один результат, только в разном типе, если уточнять... чесгря, меня это сбило с толку ;) к стати, еженочный агент, вызывающий updall на нужный вид с использованием @Environment работает, проверено, и не только на этой задаче... я поддерживаю вариант lmike, либо Medevic, но папки мне не по душе, т.с... я бы, наверное, добавил в документ поле, содержащее дату из одного поля и время из другого, чтобы было удобнее использовать. тогда для скриптового варианта могу порекомендовать метод notesView.GetAllDocumentsByKey( keyArray [, exactMatch% ] ), где keyArray будет в виде объекта NotesDateRange. и вьюху по одному общему полю отсортировать. либо notesView.FTSearch( query$, maxDocs% ), с запросом приблизительно такого вида ([newDateItemName] >= starttime) and ([newDateItemName] <= endtime) где starttime - дата пред.дня от текущего со временем 20-00 и соотв. endtime свое значение нужное содержит, передевать в строку запроса в виде строкового значения даты (например, 09.05.2009 20:00)...
0
|
||
|
0 / 0 / 0
Регистрация: 26.05.2006
Сообщений: 1,313
|
|
| 10.06.2009, 11:00 | |
|
Сравнение дат, как текстов (причем на больше/меньше) - уже та ещё засада. Только для профессиональных граблеходцев
0
|
|
|
Tyo
|
||
| 10.06.2009, 12:44 | ||
Вон, OKEN использует @TextToTime("Today"), правда тут же следом @Now Почитайте. http://www.notesnet.ru/library/docid/829BC8 masyna, Вам особенно рекомендую. Могу только добавить, что у зависящих от времени видов есть поле $FormulaTV. По нему можно аудит дизайна делать на предмет использования зависящих от времени представлений. Так вот, @TextToTime ("Today") не приводит к появлению $FormulaTV. |
||
|
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
|
|
| 10.06.2009, 13:42 | |
|
TIA, спасибо за статью, почитаю... когда-то давно я читал похожую, но на английском, и в виду плохого владения языка она мне плохо запомнилась... но я сделал один хороший вывод - не использовать в формулах отбора представлений никаких функций-времени/даты
все-равно, я бы рекомендовал не торчать на подобном, а использовать возможности поиска по дате, а не по ее текстовому представлению, которое, к тому же зависит от поясов и т.п., например, 20:00 (в поясе +2) отличное время от 20:00 (+4). а время на сервере в виде будет преобразовываться по поясу сервера, а не того, кто делает запрос. соотв, результат запроса может быть несоответсвующим... (формулы отбора в вид это, конечно, не касается, это относится к отбору по текствовому представлению данных)
0
|
|
|
Tyo
|
||
| 10.06.2009, 14:10 | ||
|
||
|
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
|
||
| 10.06.2009, 15:56 | ||
|
оу... прошу прощения, меня проглючило после поста автора темы
0
|
||
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
||
| 10.06.2009, 17:07 | ||
Только я не знаю лотус так глубоко, чтобы знать про $FormulaTV, поэтому огромное спасибо за инфу в 1м примере я сначала предупредила, что вариант с @Now - человек изначально хотел отбор во вьюшку и примеров побольше. И дальше уже смотрю оптимальные варианты насоветовали, я тогда зациклилась на постановке автора. я в следующем примере исправилась - обошлась без @Now
0
|
||
|
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
|
||
| 10.06.2009, 17:17 | ||
0
|
||
|
mosymo
|
|
| 10.06.2009, 22:03 | |
|
Всем огромное спасибо за участие в моей теме!
По поводу исползования даты взятую с сервера, то это я думаю не подойдет, эта база будет использоваться на 6 серверах. А сбор данных будет на головном, где будут проводить сверку действительности этих данных. Но все же попробую. Как и остальные примеры, так как я еще раз повторюсь, что новичек в этом деле!!! Да я еще просил дать ответ на вопрос - Как распечатать Вью по своей форме отчета!!!! |
|
| 10.06.2009, 22:03 | |
|
Помогаю со студенческими работами здесь
20
Выборка по заданной дате и времени Множественная выборка по времени и дате Интервал времени и выборка по дате Выборка записи по максимальной дате и времени Выборка из timestamp по дате или по времени Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|