Имя: Пароль:
1C
1С v8
Работа с датами
0 sweeex
 
17.02.15
12:16
Добрый день. Подскажите как реализовать следующую задачу. Есть Дата это ТекущаяДата(); Как найти ближайший понедельник или вторник и т.д. День который нужно искать задается пользователем.
1 Рэйв
 
17.02.15
12:17
Прибавляй вперед и отнимай назад по одному дню и кури ДеньНедели
2 Ненавижу 1С
 
гуру
17.02.15
12:17
ближайший вперед или назад?
3 Рэйв
 
17.02.15
12:18
где первое выскочин (впереди или сзади)-  там и рыба
4 sweeex
 
17.02.15
12:31
(2) ближайший  вперед
5 ssh2QQ6
 
17.02.15
12:32
(4) например в цикле пока добалять день пока номер дня недели не станет нужным
6 GROOVY
 
17.02.15
12:34
Нафига тут цикл? Простое сравнение на номер дня недели.
7 sweeex
 
17.02.15
12:40
(6) а можешь примерчик?
НужныйДень - (тип булево, название дней недели);

тДень = ДеньНедели(ТекущаяДата());

а как дальше?
8 Рэйв
 
17.02.15
12:44
(7)Пора уже знать тайное шаманство числа 86400!:-)
9 Alexaha
 
17.02.15
12:47
(7)
    ДеньНеделиТекДаты =  ДеньНедели(ТекущаяДата());
    
    Если ДеньНеделиТекДаты < ДеньНедели Тогда
        
        БлижайшийДень = ТекущаяДата() + (ДеньНедели - ДеньНеделиТекДаты) * 86400;
        
    Иначе
        
        БлижайшийДень = ТекущаяДата() + (ДеньНедели - ДеньНеделиТекДаты + 7) * 86400;
        
    КонецЕсли;
10 sweeex
 
17.02.15
12:47
знаю такое шаманство...) наверно рано еще сюда написал нужно самому покрутить еще что то..
11 sweeex
 
17.02.15
12:57
(9) Тю, действительно как два пальца)) Спасибо за помощь!