|
Сравнение дат
| ☑ |
0
fdv_83
27.06.13
✎
12:53
|
Здравствуйте, форумчане. Столкнулся с одной проблемой, не могу понять, в чем дело. Ниже приведу код
Сообщить("2");
Сообщить("НачПериода1 "+Формат(НачПериода1,"ДЛФ=Д"));
Сообщить("КонПериода1 "+Формат(КонПериода1,"ДЛФ=Д"));
Сообщить("ДокументОснованиеСсылка.Дата "+Формат(ДокументОснованиеСсылка.Дата,"ДЛФ=Д"));
Если Формат(ДокументОснованиеСсылка.Дата,"ДЛФ=Д") >= Формат(НачПериода1,"ДЛФ=Д") Тогда
Сообщить("21");
КонецЕсли;
Если Формат(ДокументОснованиеСсылка.Дата,"ДЛФ=Д") <= Формат(КонПериода1,"ДЛФ=Д") Тогда
Сообщить("22");
КонецЕсли;
Результат сообщений:
2
НачПериода1 25.02.2011
КонПериода1 31.01.2012
ДокументОснованиеСсылка.Дата 31.05.2011
21
Проблема в том что не выполняется второе условие. Хотя из результатов сообщений видно, что оно должно выполнится. Подскажите, пожалуйста, в чём загвоздка.
|
|
1
ДенисЧ
27.06.13
✎
12:54
|
НАверное, я сейчас задам очень глупый вопрос, но...
НАФЕЯ даты в строку гнать для сравнения?????
|
|
2
salvator
27.06.13
✎
12:58
|
(0) А ты напиши условие
"31.05.2011" <= "31.01.2012"
и удивись
|
|
3
fdv_83
27.06.13
✎
12:58
|
Чтобы не учитывать время
|
|
4
salvator
27.06.13
✎
12:59
|
(3) Приводи к началу дня и сравнивай
|
|
5
salvator
27.06.13
✎
12:59
|
И про метод "Формат" почитай, особенно про то, что он возвращает
|
|
6
DarKySiK
27.06.13
✎
13:00
|
фееришно
|
|
7
Cube
27.06.13
✎
13:00
|
(3) А что нельзя на начало дня сравинть?
Если НачалоДня(ДокументОснованиеСсылка.Дата) >= НачалоДня(НачПериода1) Тогда
|
|
8
Fish
27.06.13
✎
13:01
|
(0) В твоём коде ты сравниваешь не даты, а строки.
|
|
9
fdv_83
27.06.13
✎
13:02
|
Спасибо всем, понял, в чём ошибка
|
|
10
Jonny_Khomich
27.06.13
✎
13:02
|
(0) очередное творение франчайза?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший