|
Хитрый запрос. Реально? | ☑ | ||
---|---|---|---|---|
0
Dimon1C
03.09.11
✎
15:51
|
Есть таблица данных пропускной системы сотрудников на работу.
Иванов 01.08.2011 09:05 Вход (в здание) Иванов 01.08.2011 09:25 Выход (из здания) Иванов 01.08.2011 10:15 Вход Сидоров 01.08.2011 10:35 Вход .... Стоит задача получить следующую информацию: Сколько времени сотрудник провел в здании (на работе), сколько времени отсутствовал (есть график работы) Как думаете, возможно ли получить эти данные запросом, или все таки доп. таблицы, циклы? |
|||
1
zak555
03.09.11
✎
15:53
|
это в РС ?
|
|||
2
zak555
03.09.11
✎
15:53
|
данные
|
|||
3
Варвар
03.09.11
✎
15:56
|
да, реально
|
|||
4
Варвар
03.09.11
✎
15:57
|
у меня GetWorkTimeAtDay
|
|||
5
sprinter83
03.09.11
✎
15:57
|
Ситуация похожа на рассчёт заработной платы по времени (дням, часам). Можно попробовать через регистры расчета зделать
|
|||
6
Dimon1C
03.09.11
✎
16:21
|
В регистре сведений данные хранятся.
|
|||
7
Dimon1C
03.09.11
✎
16:22
|
(4) Не покажете?
|
|||
8
Лефмихалыч
03.09.11
✎
16:22
|
(0) более чем реально
|
|||
9
Mort
03.09.11
✎
16:24
|
Запросом можно сделать если сотрудники как роботы или система контроля очень жесткая. А когда выходят покурить по одному пропуску, а возвращаются по другому, нужно анализировать по-другому.
|
|||
10
kosts
03.09.11
✎
16:43
|
Как то так
Отдельно найти когда нет входа или выхода |
|||
11
Нуф-Нуф
03.09.11
✎
16:44
|
Можно сделать по аналогии с запросом, которые выдает значение на каждую дату запроса.
Делаем два пакетных запроса к регистру сведений, получаем две таблицы ВХОДЫ Иванов 01.08.2011 09:05 Вход (в здание) Иванов 01.08.2011 10:15 Вход Сидоров 01.08.2011 10:35 Вход ВЫХОДЫ Иванов 01.08.2011 09:25 Выход (из здания) соединяем первую таблицу со второй, по сотруднику (равенство) и по периоду (больше либо равно). получаем следующую таблицу: Иванов 01.08.2011 09:05 01.08.2011 09:25 Иванов 01.08.2011 10:15 ПУСТО Сидоров 01.08.2011 10:35 ПУСТО где пусто можно заменить текущей датой на момент выполнения запроса. |
|||
12
Нуф-Нуф
03.09.11
✎
16:45
|
но в любом случае все варианты будут работать только при условии что не было два входа подряд (нужен механизм еще на моменте регистрации, которые бы исключил подобное)
|
|||
13
Axel2009
03.09.11
✎
16:46
|
(12) либо в запросах исключать подобное
|
|||
14
Нуф-Нуф
03.09.11
✎
16:50
|
(13) вот:
Иванов 01.08.2011 09:05 Вход Иванов 01.08.2011 09:25 Выход Иванов 01.08.2011 10:15 Вход Иванов 01.08.2011 11:15 Вход Иванов 01.08.2011 12:25 Выход как в запросе такое исключить чтобы получить верную информацию? я бы на этапе регистрации при фиксации повторного входа в регистр сведений бы добавлял запись о выходе с датой предыдущего входа +1. т.е. при регистрации повторного входа получили бы такие записи: Иванов 01.08.2011 09:05 Вход Иванов 01.08.2011 09:25 Выход Иванов 01.08.2011 10:15 Вход Иванов 01.08.2011 11:16 Выход //запись добавлена автоматически Иванов 01.08.2011 11:15 Вход Иванов 01.08.2011 12:25 Выход |
|||
15
AlexNew
03.09.11
✎
16:50
|
(0) А работать не пробовали?
|
|||
16
Нуф-Нуф
03.09.11
✎
16:51
|
имхо тут даже больше административный подход в определению времени работы при повторных входах выходах
|
|||
17
Axel2009
03.09.11
✎
16:51
|
(14) выводить все входы. и получать первый выход после входа. и пусть их будет хоть стотыщьмильонов
|
|||
18
fisher
03.09.11
✎
17:02
|
(0) Доп-таблицы, циклы.
На первый взгляд нужную информацию запросом получить можно. А на практике нужно отрабатывать много граничных условий. "Вошли" два раза подряд без "вышли", "вошли" сегодня, а "вышли" через двое суток и т.п. |
|||
19
fisher
03.09.11
✎
17:04
|
Вернее, какие доп таблицы? За один проход всё что надо анализируется как угодно.
|
|||
20
fisher
03.09.11
✎
17:08
|
"Вошли" два раза подряд - надо по разнице времени отличать двойное срабатывание от выхода без регистрации и другие ньюансы.
|
|||
21
zak555
03.09.11
✎
17:30
|
(12) надо анализировать вход так, что пред был выход =)
если задваиваться - отслеживать - штраф а так если пришло вход, вход смотри на предыдуший до тех пор, пока конца не будет или выхода |
|||
22
Axel2009
03.09.11
✎
17:31
|
(21) запросом то в 1с? нюню =)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |