Имя: Пароль:
1C
1С v8
Таблица часов в запросе
, ,
0 Eeelena
 
27.07.17
06:51
Здравствуйте. Подскажите как построить запрос, чтобы получить выборку, состоящую из часов 00:00 , 01:00,02:00,03:00 ... и так до 24:00
1 SeraFim
 
27.07.17
06:53
что-то вроде

ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,0,0,0) КАК Часы
ОБЪЕДИНИТЬ
ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,1,0,0) КАК Часы
ОБЪЕДИНИТЬ
ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,2,0,0) КАК Часы
ОБЪЕДИНИТЬ
...
ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,23,0,0) КАК Часы
2 Eeelena
 
27.07.17
06:59
(1) Спасибо, но он выдает значение 01.01.0001 1:00:00,01.01.0001 2:00:00 и т.д
3 Eeelena
 
27.07.17
06:59
(1) а вот это ДАТАВРЕМЯ(1,1,1,0,0,0) вообще выдает пустую строку
4 zvial
 
27.07.17
07:08
(3) Не пустую строку, а время 00:00:00
5 zvial
 
27.07.17
07:08
(2) Ну так, вам так и нужно, судя по (0). Не?
6 Eeelena
 
27.07.17
07:16
(4)в консоли запросов выводит пустую строку, мне нужно просто 0:00, 01:00,02:00 ... (5)
7 Любопытная
 
27.07.17
07:17
(6) не может быть время без даты. Используйте число как номер часа или формальную строку при выводе результата.
8 1dvd
 
27.07.17
07:30
(6) каким типом? строкой?
9 Два Плюс Два
 
27.07.17
07:30
Не факт что делать надо в запросе. Если это СКД, то проще уже потом использовать Формат.
10 Два Плюс Два
 
27.07.17
07:31
(6) Чего делаете вообще? Путей много под разное.
11 Два Плюс Два
 
27.07.17
07:37
(1) Не проще из даты начало дня отнять?
12 Eeelena
 
27.07.17
07:41
(11) РАЗНОСТЬДАТ(ЗаявкаНаПоставкуПродукции.ДатаВремяЗаявки, НачалоПериода(ЗаявкаНаПоставкуПродукции.ДатаВремяЗаявки), ДЕНЬ) КАК ЧасЗаявки а как получить час и минуты?
13 Два Плюс Два
 
27.07.17
07:44
Вопрос что будут делать минуты и часы и откуда запрос взят?
Часы и минуты нужны для группировки в запросе? Для вычисления итогов? Что идентифицируется часами и минутами в самом запросе? Какова его механика?
Какую задачу хотите решить.
14 1dvd
 
27.07.17
07:44
(12) ЧАС(Дата)
МИНУТА(Дата)
15 Два Плюс Два
 
27.07.17
07:45
// Период принимает одно из значений
    //   Секунда
    //   Минута
    //   Час
    //   День
    //   Неделя
    //   Декада
    //   Месяц
    //   Квартал
    //   Полугодие
    //   Год
16 patapum
 
27.07.17
07:53
ЧасыДляВывода - выводить на печать, ЧасыДляОбъединения - чтоб объединять с другими таблицами (предполагаю, они могут быть)

ВЫБРАТЬ
    "00:00" КАК ЧасыДляВывода,
    0 КАК ЧасыДляОбъединения
ОБЪЕДИНИТЬ
ВЫБРАТЬ
    "01:00" КАК ЧасыДляВывода,
    1 КАК ЧасыДляОбъединения

и т.д.
17 Eeelena
 
27.07.17
07:59
(15) Я делаю отчет , по документу Заявка на поставку, в этом документе есть объем поставки и на каждый час и на каждый день в зависимости от периода, мне нужно получить этот объем по документу. То есть у меня я должна получить таблицу, где у меня есть строки День(01.07.2017 ...31.07.2017 период в отчете за месяц), Заявка, а в колонках каждый час этого дня(01:00,02:00,03:00....), и  в зависимости от часа в дате Заявки, должен выводиться объем


Надеюсь понятно объяснила
18 1dvd
 
27.07.17
08:02
(17) тогда тебе нужна Дата со временем, отображать такое значение можно без даты
19 breezee
 
27.07.17
08:06
(17) А если на какой-то час нет данных в системе?
20 Eeelena
 
27.07.17
08:08
(18) я получается получила такую выборку

01.01.0001 1:00:00
01.01.0001 2:00:00
01.01.0001 3:00:00
01.01.0001 4:00:00
01.01.0001 5:00:00
01.01.0001 6:00:00
01.01.0001 7:00:00
01.01.0001 8:00:00
01.01.0001 9:00:00
01.01.0001 10:00:00
01.01.0001 11:00:00
01.01.0001 12:00:00
01.01.0001 13:00:00
01.01.0001 14:00:00
01.01.0001 15:00:00
01.01.0001 16:00:00
01.01.0001 17:00:00
01.01.0001 18:00:00
01.01.0001 19:00:00
01.01.0001 20:00:00
01.01.0001 21:00:00
01.01.0001 22:00:00
01.01.0001 23:00:00

через запрос

ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,0,0,0) КАК Часы
ОБЪЕДИНИТЬ
ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,1,0,0) КАК Часы
ОБЪЕДИНИТЬ
ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,2,0,0) КАК Часы
    ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,3,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,4,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,5,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,6,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,7,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,8,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,9,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,10,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,11,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,12,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,13,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,14,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,15,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,16,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,17,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,18,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,19,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,20,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,21,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,22,0,0) КАК Часы
ОБЪЕДИНИТЬ
    ВЫБРАТЬ
    ДАТАВРЕМЯ(1,1,1,23,0,0) КАК Часы

И есть отдельно таблица с документом Заявка и датой документа

Теперь мне как то нужно сравнить часы этих дат
21 Eeelena
 
27.07.17
08:08
(19) если нет, не выводит объем просто
22 Два Плюс Два
 
27.07.17
08:24
(21) Отнимай не от НАЧАЛОПЕРИОДА(,ДЕНЬ), а от НАЧАЛОПЕРИОДА(,МЕСЯЦ). Получишь нормальную выборку.
23 Eeelena
 
27.07.17
08:48
(22) не поняла, можно пример
24 2S
 
27.07.17
08:57
может сначала ТЗ заполнить периодами, а потом передать в ВТ?
25 Два Плюс Два
 
27.07.17
09:34
(23) Отнимая от даты начала стандартных периодов в запросе можно выделить любые части даты-времени.
Основная теорема систематики: Новые системы плодят новые проблемы.