Имя: Пароль:
1C
 
Разность дат в днях
0 Mandel
 
22.03.11
11:15
Конфигурация УПП.
Как получить разность дат в днях. есть функция "разобратьразностьдат". Но если даты в разных месяцах, то она возвращает разницу в месяцах и днях (разница дней <31). А мне надо полностью, чтобы было все в днях.
1 Ненавижу 1С
 
гуру
22.03.11
11:16
2 Wobland
 
22.03.11
11:19
(0) а как же вычесть и разделить?
3 Stimcool
 
22.03.11
11:21
мой Гений дарит тебе(с):
ДеньГода()
4 Wobland
 
22.03.11
11:23
(3) 01.01.2010 и 01.01.2011
5 Stimcool
 
22.03.11
11:28
(4) ну это понятно) Тогда просто
Окр((дата1-дата2)/60/60/24)
6 Wobland
 
22.03.11
11:29
(5) см. (2)
7 Ненавижу 1С
 
гуру
22.03.11
11:32
(5) какой еще окр?
8 Kom-off
 
22.03.11
11:36
А я запросы люблю. Кстати, (3) можно устать вычислять, если даты в разных годах.
9 Wobland
 
22.03.11
11:37
(7) а вдруг в дате дробные секунды! я слышал, в 9.0 планируют
10 Stimcool
 
22.03.11
11:41
(7) обыкновенный. Автору нужно количество целых дней, насколько я понял. А обед сегодняшнего дня минус утро вчерашнего даст тебе где-то 1,3 дня
11 Ненавижу 1С
 
гуру
22.03.11
11:42
(10) а поздний вечер и раннее утро одних суток даст где-то 0.7 и чо?
12 MatrosoV AleXXXand_R
 
22.03.11
11:46
ВЫБРАТЬ
РАЗНОСТЬДАТ(&Дата1, &Дата2, ДЕНЬ)

- не катит?
13 Mandel
 
22.03.11
11:49
спасибо
14 Lys
 
22.03.11
11:52
// ТипРазности - ключевое слово (строка) из следующих: СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ, ГОД
// Возможно, есть еще - все не помню, ЖКК нет под рукой
Функция ПолучитьРазностьДат(ДатаНач, ДатаКон, ТипРазности)

   Запрос = Новый Запрос;
   Запрос.Текст = "
   |ВЫБРАТЬ
   |    РАЗНОСТЬДАТ(&ДатаНач, &ДатаКон, "+ТипРазности+") КАК РазностьДат"
   ;

   Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
   Запрос.УстановитьПараметр("ДатаКон", ДатаКон);
   
   Выборка = Запрос.Выполнить().Выбрать();
   Выборка.Следующий();
   
   Возврат Выборка.РазностьДат;
   
КонецФункции
15 Lys
 
22.03.11
11:52
(12) Опередил=)