Имя: Пароль:
1C
 
сложение дат в запросе.как?
0 spenov
 
01.06.09
13:25
как получить в результате запроса поле. в котором будет "Дата+Время"?
Дата - поле с датой, Время - поле с датой, состав Время.
1 ZanderZ
 
01.06.09
13:29
ДАТАВРЕМЯ(ГОД,МЕСЯЦ,ДЕНЬ,ЧАС,МИНУТА,СЕКУНДА)
2 spenov
 
01.06.09
13:37
а если просто две даты надо сложить?
3 NewNick
 
01.06.09
13:38
ДОБАВИТЬКДАТЕ(&Дата, Секунда, РАЗНОСТЬДАТ(&Время, Началопериода(&Время,День), Секунда))
4 hhhh
 
01.06.09
13:38
(2) две даты в 1C сложить нельзя
5 PR
 
01.06.09
13:38
(2) И что у тебя в итоге должно быть?
6 PR
 
01.06.09
13:38
(4) А где можно?
7 spenov
 
01.06.09
13:40
в скл можно сложить 2 даты, в паскале тоже можно. тип дата - это вещественное число
8 Mitriy
 
01.06.09
13:41
(6) в VB тоже прекрасно складываются и вычитаются, насколько мне не изменяет память...
9 almar
 
01.06.09
13:41
(7) сколько будет 1 апреля 2009г. + 23 февраля 1917г. ?
10 Ненавижу 1С
 
гуру
01.06.09
13:43
(7) к дате/времени можно прибавлять числа. даты можно вычитать. Да в делфи можно сделать Date+Time но... не забываем, что дата/вермя это точка на оси времени, а не длина отрезка времени
11 spenov
 
01.06.09
13:45
select convert(datetime,'01.04.2009',104)+convert(datetime,'23.02.1917',104)
12 spenov
 
01.06.09
13:45
select convert(datetime,'01.04.2009',104)+convert(datetime,'23.02.1917',104)

2026-05-24 00:00:00.000
13 Defender aka LINN
 
01.06.09
13:48
(12) Прикладной смысл такого расскажи тперь.
14 NewNick
 
01.06.09
13:53
ТС. тебе поспорить хочется или сложить дату и время? если последнее см. (3)

не очень понимаю взрыв негодавания на сложение дат. и "дата" и "время" в (0) с точки зрения физики переменные одинаковой размерности. стало быть складывать их ничто не мешает.
15 spenov
 
01.06.09
13:57
тема очень проста. есть график работ сотрудников. есть конкретные календарные даты. хочу сформировать таблицу, в которой для каждой интересуемой даты будет время начала и завершения работы. причем в формате "конкретная дата"+время.
затем добавляю информацию "во сколько человек пришел" и получаю на сколько опоздал.примерно так :)

(3) - спасибо! вроде работает. еще не оценил на сколько получается то что хочется
16 spenov
 
01.06.09
14:11
разобрался :)
должно быть так:

ДОБАВИТЬКДАТЕ(&Дата, Секунда, РАЗНОСТЬДАТ(Началопериода(&Время,День),&Время, Секунда))
17 PR
 
01.06.09
14:11
(7) И что должно получиться при сложении 1 мая 2008 года и 1 апреля 2009 года?
18 PR
 
01.06.09
14:14
(15) Смешалось в кучу кони, люди...
И где здесь сложения дат?
19 and2
 
01.06.09
14:19
(17) 11-е мапреля.
или барабанные палочки.
20 spenov
 
01.06.09
14:20
вот, судите про смысл по запросу:

ТекстЗапроса="ВЫБРАТЬ
                |    Даты.Дата КАК Дата,
                |    Графики.ГрафикРаботы КАК ГрафикРаботы,
                |    МИНИМУМ(ВЫБОР
                |            КОГДА ГрафикиРаботыПериодыСмены.ВремяНачала ЕСТЬ NULL
                |                ТОГДА NULL
                |            ИНАЧЕ ДОБАВИТЬКДАТЕ(Даты.Дата, СЕКУНДА, РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ГрафикиРаботыПериодыСмены.ВремяНачала, ДЕНЬ), ГрафикиРаботыПериодыСмены.ВремяНачала, СЕКУНДА))
                |        КОНЕЦ) КАК Дата1,
                |    МАКСИМУМ(ВЫБОР
                |            КОГДА ГрафикиРаботыПериодыСмены.ВремяОкончания ЕСТЬ NULL
                |                ТОГДА NULL
                |            ИНАЧЕ ДОБАВИТЬКДАТЕ(Даты.Дата, СЕКУНДА, РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ГрафикиРаботыПериодыСмены.ВремяОкончания, ДЕНЬ), ГрафикиРаботыПериодыСмены.ВремяОкончания, СЕКУНДА))
                |        КОНЕЦ) КАК Дата2
                |ПОМЕСТИТЬ ВТВремяРаботыПоГрафику
                |ИЗ
                |    ВТДаты КАК Даты
                |        ЛЕВОЕ СОЕДИНЕНИЕ ВТГрафики КАК Графики
                |        ПО (ИСТИНА)
                |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГрафикиРаботы.ПериодыСмены КАК ГрафикиРаботыПериодыСмены
                |        ПО (ДЕНЬНЕДЕЛИ(Даты.Дата) = ГрафикиРаботыПериодыСмены.ДеньНедели.Порядок)
                |            И (Графики.ГрафикРаботы = ГрафикиРаботыПериодыСмены.Ссылка)
                |ГДЕ
                |    Графики.ГрафикРаботы.ВидГрафика В (ЗНАЧЕНИЕ(Перечисление.ВидыРабочихГрафиков.Пятидневка), ЗНАЧЕНИЕ(Перечисление.ВидыРабочихГрафиков.Шестидневка))
                |
                |СГРУППИРОВАТЬ ПО
                |    Даты.Дата,
                |    Графики.ГрафикРаботы";
21 Defender aka LINN
 
01.06.09
14:29
(17) Куйня должна получиться.
22 PR
 
01.06.09
15:10
(20) Когда люди не способны внятно объяснить что хотят, они выкладывают текст запроса со словами "Вот, смотрите, что мне надо".
23 spenov
 
01.06.09
15:23
(22) - совсем обкурилсо?! сходи проветрись..
24 and2
 
01.06.09
15:27
(23) а ведь Рома прав.
ты б квадритики порисовал, что ли.
или ты то же из юристов?
там этому не учат.
25 spenov
 
01.06.09
15:31
откудаж вы все такие умные то взялись? по делу ниодной буквы не написали, зато хомячить в первых рядах...покинул дискуссию..
26 PR
 
01.06.09
17:09
(23) Это потому что ты на (5) никак не ответишь, чудило
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший