|
Соединения в запросе | ☑ | ||
---|---|---|---|---|
0
Одинесочка
18.09.12
✎
10:33
|
Добрый день!
Очень простой запрос, но почему-то выдает неправильную таблицу. Помогите разобраться: ВЫБРАТЬ СуммарныйУчетРабочегоВремени.Сотрудник, СуммарныйУчетРабочегоВремени.Период КАК ВремяВх, СуммарныйУчетРабочегоВремени.ДатаВремя КАК Дата ПОМЕСТИТЬ ВремяВхода ИЗ РегистрСведений.СуммарныйУчетРабочегоВремени КАК СуммарныйУчетРабочегоВремени ГДЕ СуммарныйУчетРабочегоВремени.Устройство.ВидУстройства = ЗНАЧЕНИЕ(Перечисление.ВидыУстройств.Вход) И СуммарныйУчетРабочегоВремени.Период МЕЖДУ &НачалоПериода И &КонецПериода И СуммарныйУчетРабочегоВремени.Сотрудник = &Сотрудник ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СуммарныйУчетРабочегоВремени.Сотрудник, СуммарныйУчетРабочегоВремени.Период КАК ВремяВых, СуммарныйУчетРабочегоВремени.ДатаВремя КАК Дата ПОМЕСТИТЬ ВремяВыхода ИЗ РегистрСведений.СуммарныйУчетРабочегоВремени КАК СуммарныйУчетРабочегоВремени ГДЕ СуммарныйУчетРабочегоВремени.Устройство.ВидУстройства = ЗНАЧЕНИЕ(Перечисление.ВидыУстройств.Выход) И СуммарныйУчетРабочегоВремени.Период МЕЖДУ &НачалоПериода И &КонецПериода И СуммарныйУчетРабочегоВремени.Сотрудник = &Сотрудник ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ ВремяВхода.Дата, ВремяВхода.Сотрудник, ВремяВхода.ВремяВх, ВремяВыхода.ВремяВых ИЗ ВремяВхода КАК ВремяВхода ЛЕВОЕ СОЕДИНЕНИЕ ВремяВыхода КАК ВремяВыхода ПО ВремяВхода.Дата = ВремяВыхода.Дата И ВремяВхода.Сотрудник = ВремяВыхода.Сотрудник На выходе получается вот так: Сотрудник1 Дата1 ВремяВх ВремяВых Иванов 17.08.2012 17.08.2012 8:10:19 17.08.2012 9:42:02 Иванов 17.08.2012 17.08.2012 8:10:19 17.08.2012 17:28:12 Иванов 17.08.2012 17.08.2012 13:10:20 17.08.2012 9:42:02 Иванов 17.08.2012 17.08.2012 13:10:20 17.08.2012 17:28:12 ПОчему записи из первой таблицы повторяются? По отдельности правилоно все выводит!! |
|||
1
Жан Пердежон
18.09.12
✎
10:34
|
так работают соединения
|
|||
2
Ненавижу 1С
гуру
18.09.12
✎
10:35
|
очевидно, потому что входил и выходил 2 раза
|
|||
3
Ненавижу 1С
гуру
18.09.12
✎
10:36
|
последняя табица:
ВЫБРАТЬ ВремяВхода.Дата, ВремяВхода.Сотрудник, ВремяВхода.ВремяВх, МИНИМУМ(ВремяВыхода.ВремяВых) ИЗ ВремяВхода КАК ВремяВхода ЛЕВОЕ СОЕДИНЕНИЕ ВремяВыхода КАК ВремяВыхода ПО ВремяВхода.Дата = ВремяВыхода.Дата И ВремяВхода.Сотрудник = ВремяВыхода.Сотрудник И ВремяВхода.ВремяВх <= ВремяВыхода.ВремяВых СГРУППИРОВАТЬ ПО ВремяВхода.Дата, ВремяВхода.Сотрудник, ВремяВхода.ВремяВх |
|||
4
Жан Пердежон
18.09.12
✎
10:37
|
у тебя сотрудник 2 раза зашел и 2 раза вышел, обычно берут минимум и максимум за день
|
|||
5
Жан Пердежон
18.09.12
✎
10:38
|
(3) такое же уг
|
|||
6
Одинесочка
18.09.12
✎
10:38
|
сказали так неправильно считать время
|
|||
7
НЕА123
18.09.12
✎
10:38
|
(0)
2x2=4 |
|||
8
Одинесочка
18.09.12
✎
10:39
|
С мин и мах все отлично получается, но мне надо из всех выходов вычесть все входя
|
|||
9
Ненавижу 1С
гуру
18.09.12
✎
10:40
|
(5) обоснуй
|
|||
10
fisher
18.09.12
✎
10:40
|
(0) Я бы эту задачу вообще бы не запросом решал. Неудобно обрабатывать варианты, которые могут быть самые разные. Вышел не отметившись, вошел не отметившись, работал ночью и т.д. и т.п.
|
|||
11
НЕА123
18.09.12
✎
10:41
|
(8)
а может сотрудник один раз зайти и три раза выйти? |
|||
12
Одинесочка
18.09.12
✎
10:42
|
(10) это да, начальный какой-то вариант надо сделать, хотя бы чистое время посчтать
|
|||
13
Одинесочка
18.09.12
✎
10:42
|
(11) может, может зайти и вообще не выйти
|
|||
14
Ненавижу 1С
гуру
18.09.12
✎
10:43
|
(12) так что с (3)?
|
|||
15
Одинесочка
18.09.12
✎
10:43
|
(14) спасибо, так все правильно получается
|
|||
16
fisher
18.09.12
✎
10:44
|
(12) Пробежись, обработай все исключения, подготовь красивенькую табличку с приведенными временами входа и выхода и доп-признаками, а уже её хоть в СКД грузи и выводи сколь угодно красиво.
|
|||
17
Одинесочка
18.09.12
✎
10:44
|
здесь вообще алгоритм придумать трудно, много вариантов всяких разных. Пока считаю, что все идеально, на кождое событие входа, есть событие выхода
|
|||
18
Одинесочка
18.09.12
✎
10:45
|
(16) Спасибо, воспользуюсь советом
|
|||
19
Жан Пердежон
18.09.12
✎
10:52
|
(9) а не, с запросом нормально всё;
только на практике без учета отклонений (командировки, договоренности, поломки, потери и т.д. и т.п.) не юзабельно |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |