0 / 0 / 0
Регистрация: 09.07.2005
Сообщений: 209

сравнение дат

12.07.2007, 16:42. Показов 46901. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть документы созданные по форме tplan а на форме поле dataplan тип дата

понадобился сранить дату сохраненный в этой форме с другой датой созданный в теле скрипта но выходить ошибка Type mismatch
делаю так


...
dym dt as New NotesDateTime("25/08/"+sdoc.god_postup(0))
...
if tplan.dataplan<=dt then здесь и вылетает ошибка
....
пробовал:


if tplan.dataplan(0)<=dt then
также


dym dt1 as New NotesDateTime dt1 другая переменная не путайте с dt
Set item=tpdoc.GetFirstItem("dataplan")
Set dt1=item.DateTimeValue
if dt1<=dt then
все равно ошибка

подумал может dt не правильно создается
сделал просто dym dt as New NotesDateTime("25/08/2006")

все равно ошибка

обе даты пробовал присвоит к переменнным типа вариант и сравнить опять ошибка
что я делаю не так
как вообще сравнивать даты лотус скриптом
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.07.2007, 16:42
Ответы с готовыми решениями:

Сравнение Дат
есть одна дата в дебагере она X = &quot;22.02.2013&quot; и вторая Y= &quot;19.09.2013&quot; если If x&lt;y Then то всегда будет больше та дата, у которой...

Сравнение дат
Подскажите, пожалуйста, как сравнивать даты в LS. У меня не работает следующий код: ...

Сравнение Дат В Search Formula
Доброго времени суток уважаемые. Проблемка нарисовалась ... Существует агент, который отбирает документы и обрабатывает их неким образом....

36
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
12.07.2007, 16:53
if tplan.dataplan(0)<=dt then - тут вы сравниваете строку с датой,
if tplan.dataplan<=dt then здесь и вылетает ошибка - тут вы сравниваете поле с датой

Set item=tpdoc.GetFirstItem("dataplan")
Set dt1=item.DateTimeValue
if dt1<=dt then - тут тоже фигня,


Пользуйтесь дебагером!!!! он покажет какого типа ваша переменная

Datevalue - поможет Вам из строки ( tplan.dataplan(0) ) зделать дату
вот потом и сравнивайте!
0
0 / 0 / 2
Регистрация: 07.05.2005
Сообщений: 743
12.07.2007, 17:10
<!--QuoteBegin-alb+13:07:2007, 15:29 -->
<span class="vbquote">(alb @ 13:07:2007, 15:29 )</span><!--QuoteEBegin-->if tplan.dataplan<=dt then
[snapback]72232" rel="nofollow" target="_blank[/snapback]?[/quote]

преписать в


Code
1
if cdat(tplan.dataplan(0))<=dt then
0
0 / 0 / 0
Регистрация: 09.07.2005
Сообщений: 209
12.07.2007, 18:19
однако не ожидал такого быстрого ответа
спасибо пошел пробовать
0
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 849
19.07.2007, 11:33
Дабы новую тему не начинать, тут напишу.
Проблема вот в чём, есть 2а поля Даты (Выбор из календаря), необходимо их сравнить, и если первая дата больше второй, то некоторому полю "Status" присвоить.


Code
1
2
3
p1 := Tab1_Date;
p2 := Tab1_Date2;
@If (p1>p2; "asdsa"; "asdsad")
такая конструкция в Default Value не работает, т.е. толи даты в переменные p1 и p2 не считывает, толи такое сравнение дат некорректно.

Вообще ток начинаю программировать под Лотус, поэтому такие глупые вопросы. Нужно сделать чтобы запрещалось редактирование документа, если он создан не сегодня, как запретить я разобрался, но вот как определить соответствует введенная в документе дата сегодняшнему дню или нет, и в зависимости от этого присвоить значение полю "Status" не получается.
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
19.07.2007, 11:47
<!--QuoteBegin-kizarek+20:07:2007, 11:20 -->
<span class="vbquote">(kizarek @ 20:07:2007, 11:20 )</span><!--QuoteEBegin-->Вообще ток начинаю программировать под Лотус, поэтому такие глупые вопросы. Нужно сделать чтобы запрещалось редактирование документа, если он создан не сегодня, как запретить я разобрался, но вот как определить соответствует введенная в документе дата сегодняшнему дню или нет, и в зависимости от этого присвоить значение полю "Status" не получается.
[snapback]72777" rel="nofollow" target="_blank[/snapback]?[/quote]
Делай сразу по-нормальному. Через поля типа Authors и Readers.
Например, сделай шедульный агент, который каждую ночь будет перекидывать все имена из поля типа Authors в поле типа Readers для твоих документов.
0
1 / 1 / 0
Регистрация: 01.10.2006
Сообщений: 615
19.07.2007, 11:50
приведенный код будет срабатывать только один раз при открытии формы..
используй вычисляемое поле
0
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 849
19.07.2007, 12:03
Medevic, оке, займёмся) тогда такой вопрос, как запретить редактирование документа по двойному клику по ней?при этом оставив возможность редактировать форму нажатием специальной кнопки?
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
19.07.2007, 12:08
Для: kizarek
Обработать событие документа Querymodechange. Т.е. Создать глобальную переменную. В событии проверять значение переменной и разрешать/запрещать продолжать. По кнопке менять значение переменной.
Следующий вопрос, наверное, как запретить ctrl-e в представлении? Обработать событие документа Queryopen

Code
1
If Source.EditMode Then Continue = False
0
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 849
19.07.2007, 13:01
Medevic, кхм, а где иенно и как можно объявить глобальную переменную?))Чё то я туплю ужасно(
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
19.07.2007, 13:04
В разделе (Globals) формы. Там в (Declarations).
0
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 849
19.07.2007, 13:37
Ппс, туплю. Объявил глобальную переменную. При открытии формы ей присваивается значение "0"


Code
1
2
3
Sub Postopen(Source As Notesuidocument)
Let Flag = 0
End Sub
соответственно проверка

Code
1
2
3
4
5
6
7
Sub Querymodechange(Source As Notesuidocument, Continue As Variant)
If ( Flag = 0 ) Then
If  Not ( source.EditMode) Then
continue = False
End If
End If
End Sub
и кнопка по которой должно таки начать редактироваться:

Code
1
2
flag = 1;
@Command([EditDocument])
не работает )
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
19.07.2007, 13:44
<!--QuoteBegin-kizarek+20:07:2007, 13:24 -->
<span class="vbquote">(kizarek @ 20:07:2007, 13:24 )</span><!--QuoteEBegin-->и кнопка по которой должно таки начать редактироваться:
[snapback]72813" rel="nofollow" target="_blank[/snapback]?[/quote]
Ну, во-первых, там должен быть оператор присваивания flag := 1;
А, во вторых, всё равно работать не будет, т.к. в формуле нельзя обратиться к глобальной переменной. Поэтому делай кнопку на скрипте.
0
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 849
19.07.2007, 13:48
Medevic, как всё замудрёно) А полю можно присвоить значение глобальной переменной?)
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
19.07.2007, 13:49
<!--QuoteBegin-kizarek+20:07:2007, 13:35 -->
<span class="vbquote">(kizarek @ 20:07:2007, 13:35 )</span><!--QuoteEBegin-->А полю можно присвоить значение глобальной переменной?)

[snapback]72816" rel="nofollow" target="_blank[/snapback]?[/quote]
Можно. Присваивай.
0
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 849
19.07.2007, 13:55
Ч0рд, неумею я кнопки на скрипте делать) Неужели никак без них?)))
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
19.07.2007, 14:01
Для: kizarek
Открываешь хелп. Ищешь там @Command([EditDocument]) и смотришь там аналог на скрипте. Пример тоже есть.
0
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 849
19.07.2007, 14:23
Кхм, а что писать надо в скрипте? Изменение глобального флага? А на кнопке включение работы скрипта? ) Или как , разъясните пжста
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
19.07.2007, 14:27
Code
1
2
3
4
5
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
flag = 1
Call ws.EditDocument(True)
End Sub
0
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 849
19.07.2007, 14:52
Этот код работает если кнопка не в активах формы, а например на вьюхе. Если же она на форме, то флаг она не меняет(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.07.2007, 14:52
Помогаю со студенческими работами здесь

Сравнение двух дат и вывод дат находящихся между ними
Здравствуйте! Тут такое дело, вводятся две определенные ДАТЫ в Edit1 и Edit2 в формате ДД.ММ.ГГГГ, нужно найти все ДАТЫ, которые...

Сравнение дат
Добрый день! Помогите пожалуйста, решить такой вопрос. Нужно, чтобы при нажатии в форме на кнопку прошло сравнение дат, если д1 = д2 и...

Сравнение дат
Вопрос:- Создается документ в нем есть реквизит &quot;ДатаПоставки&quot;.При проведении данные хранятся в РегистреСведений. Проблема: при создании...

Сравнение дат
Добрый день. Существует ли функция для сравнения переменных типа DateTime? Т.е. у меня есть массив DateTime a и переменная DateTime b....

Сравнение дат
Нужно написать такой запрос, что бы выводил людей старше допустим 1990 года но младше 2005 года. Как сравнивать такие даты? select * ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
PowerShell и онлайн сервисы. Валюта (floatrates.com руб.)
iNNOKENTIY21 11.11.2025
PowerShell функция floatrates-rub Примеры вызова: # Указанная валюта 'EUR' floatrates-rub -Code 'EUR' # Список имеющихся кодов валют floatrates-rub -Available function floatrates-rub {
PowerShell и онлайн сервисы. Погода (RP5.ru)
iNNOKENTIY21 11.11.2025
PowerShell функция Get-WeatherRP5rss для получения погоды с сервиса RP5 Примеры вызова Get-WeatherRP5rss с указанием id 5484 — Москва (восток, Измайлово) и переносом строки:. . .
PowerShell и онлайн сервисы. Погода (wttr)
iNNOKENTIY21 11.11.2025
PowerShell Функция для получения погоды с сервиса wttr Примеры вызова: Погода в городе Омск с прогнозом на день, можно изменить прогноз на более дней, для этого надо поменять запрос:. . .
PowerShell и онлайн сервисы. Валюта (ЦБР)
iNNOKENTIY21 11.11.2025
# Получение курса валют function cbr (] $Valutes = @('USD', 'EUR', 'CNY')) { $url = 'https:/ / www. cbr-xml-daily. ru/ daily_json. js' $data = Invoke-RestMethod -Uri $url $esc = 27 . . .
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru