|
Запрос по времени документа | ☑ | ||
---|---|---|---|---|
0
Sasha_uu
08.11.11
✎
14:52
|
Как в запросе проверить попадает ли конкретный документ в определенный временной интервал или нет. Т.е. формируется отчет по документам отгрузки, надо определить в какой временной интервал попадает документ. Время: 8.00 - 8.10 - 8.20 - 8.30 - 8.40 - 8.50 - 9.00 и т.д.
|
|||
1
GROOVY
08.11.11
✎
14:53
|
Что в итоге должен вернуть запрос?
|
|||
2
Не Печенкин
08.11.11
✎
14:58
|
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(Документ.Дата, ЧАС), СЕКУНДА, (ВЫРАЗИТЬ((СЕКУНДА(Документ.Дата) - 5) / 10 КАК ЧИСЛО(2, 0))) * 10) КАК Начало10Минутки |
|||
3
Sasha_uu
08.11.11
✎
15:01
|
Пользователь задает интервал в минутах за который он хочет посчитать количество документов. Т.е. например пользователь задает 60 минут, отчет должен выдать с 8.00-9.00 было 10 документов создано, с 9.00-10.00 было 15 документов и т.д.
|
|||
4
Sasha_uu
08.11.11
✎
15:02
|
Как этот отчет можно прописать в СКД?
|
|||
5
Maxus43
08.11.11
✎
15:03
|
в СКД легко
|
|||
6
Sasha_uu
08.11.11
✎
15:03
|
(5) как?
|
|||
7
Не Печенкин
08.11.11
✎
15:03
|
(6) да дело даже не в СКД, смотри (2)
|
|||
8
Maxus43
08.11.11
✎
15:05
|
(6) хотя мышкой в СКД можно только период дополнения фиксированный прописать. тут надо имхо вариантами отчета уже играть
|
|||
9
Sasha_uu
08.11.11
✎
15:08
|
(2) не понял что за конструкция
|
|||
10
Не Печенкин
08.11.11
✎
15:09
|
(9) это пипец полный, это конструкция для запроса
|
|||
11
Sasha_uu
08.11.11
✎
15:11
|
я это понел....но что она возвращает...
|
|||
12
Не Печенкин
08.11.11
✎
15:12
|
(11) начало интервала (в данном случае начало 10-минутки)
|
|||
13
Sasha_uu
08.11.11
✎
15:13
|
как мне проверить в какой временной интервал попадает документ?
|
|||
14
Не Печенкин
08.11.11
✎
15:14
|
(13) вопрос же стоит не проверить, а подсчитать количество
|
|||
15
Sasha_uu
08.11.11
✎
15:16
|
не могу сообразить как это все оформить в запрос
|
|||
16
Нуф-Нуф
08.11.11
✎
15:17
|
Получить таблицу границ периодов, левым соединением к ней присоединить документ и его время по >= и получить
и получить минимальное |
|||
17
Не Печенкин
08.11.11
✎
15:17
|
(15) так понятнее, например:
ВЫБРАТЬ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(Документ.Дата, ЧАС), СЕКУНДА, (ВЫРАЗИТЬ((СЕКУНДА(Документ.Дата) - 5) / 10 КАК ЧИСЛО(2, 0))) * 10) КАК Начало10Минутки, СУММА(1) КАК Количество ИЗ Документ.РеализацияТоваровУслуг КАК Документ ГДЕ НАЧАЛОПЕРИОДА(Документ.Дата, ДЕНЬ) = &Дата СГРУППИРОВАТЬ ПО ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(Документ.Дата, ЧАС), СЕКУНДА, (ВЫРАЗИТЬ((СЕКУНДА(Документ.Дата) - 5) / 10 КАК ЧИСЛО(2, 0))) * 10) |
|||
18
Нуф-Нуф
08.11.11
✎
15:18
|
туплю.
получить таблицу документов и времени, получить таблицу границ периодов, соединить их полным соединением по условию >= и сгруппировать по мин времени |
|||
19
Не Печенкин
08.11.11
✎
15:18
|
(18) не фига себе ))
|
|||
20
Нуф-Нуф
08.11.11
✎
15:21
|
(19) эээ?..
|
|||
21
Нуф-Нуф
08.11.11
✎
15:21
|
это перекликается с задачей цены на дату документа
|
|||
22
Не Печенкин
08.11.11
✎
15:21
|
(20) сложно что-то
|
|||
23
Starhan
08.11.11
✎
15:24
|
(3) а с куяли пользователь ввел 60 минут, а ты телепатировал и оперделл что час располагается между 8:00 и 9:00 Где об этом сказанно?
|
|||
24
Starhan
08.11.11
✎
15:24
|
(23)а пля понял.
|
|||
25
Starhan
08.11.11
✎
15:25
|
(23) хотя один хрен не скзаанно откуда до куда считать
|
|||
26
Sasha_uu
08.11.11
✎
15:27
|
кк это все оформить в СКД. в отчете должны быть колонки временные интервалы 8.00-8.10-8.20 и т.д. В строках торговые представители
|
|||
27
Нуф-Нуф
08.11.11
✎
15:27
|
как-то так:
ВЫБРАТЬ ТаблицаПериодовВремени.ПериодВремени ПОМЕСТИТЬ ТаблицаПериодовВремени ИЗ ТаблицаПериодовВремени КАК ТаблицаПериодовВремени ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВнутреннийЗаказ.Ссылка, ВнутреннийЗаказ.Дата ПОМЕСТИТЬ ТаблицаДокументов ИЗ Документ.ВнутреннийЗаказ КАК ВнутреннийЗаказ ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТаблицаПериодовВремени.ПериодВремени, ТаблицаДокументов.Дата, ТаблицаПериодовВремени.ПериодВремени КАК ПериодВремени1 ПОМЕСТИТЬ ИтоговаяТаблица ИЗ ТаблицаДокументов КАК ТаблицаДокументов ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаПериодовВремени КАК ТаблицаПериодовВремени ПО ТаблицаДокументов.Дата <= ТаблицаПериодовВремени.ПериодВремени ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ИтоговаяТаблица.Дата, МИНИМУМ(ИтоговаяТаблица.ПериодВремени1) КАК ПериодВремени1 ИЗ ИтоговаяТаблица КАК ИтоговаяТаблица СГРУППИРОВАТЬ ПО ИтоговаяТаблица.Дата |
|||
28
Нуф-Нуф
08.11.11
✎
15:27
|
за достоверность не отвечаю так как нет таблицы времени чтобы потестить
|
|||
29
Не Печенкин
08.11.11
✎
15:31
|
(27) ну оформить то всегда можно в СКД - как обычно
|
|||
30
Axel2009
08.11.11
✎
15:33
|
100 баксов
|
|||
31
Sasha_uu
08.11.11
✎
15:39
|
(27) как заполняется таблица ТаблицаПериодовВремени?
|
|||
32
Нуф-Нуф
08.11.11
✎
15:40
|
(31) заполняется до запроса как временная таблица исходя из твоих условий - 10 мин, 60 мин и т.д.
|
|||
33
Sasha_uu
08.11.11
✎
15:41
|
в самой схеме скд эту таблицу как можно заполнить
|
|||
34
Нуф-Нуф
08.11.11
✎
15:45
|
(33) пока хз. это нужно кодом заполнять.
сделай программное исполнение скд. формируй таблицу значений, подсовывай ее в скд как источник данных и используй в запросе скд |
|||
35
Sasha_uu
08.11.11
✎
15:56
|
(34) со скд работаю впервые. если есть пример, можеш скинуть?
|
|||
36
Нуф-Нуф
08.11.11
✎
16:00
|
вот тут куча примеров по скд http://1cskd.ru/
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |