![]() |
![]() |
|
получить последнюю запись из регистра сведений на дату | ☑ | ||
---|---|---|---|---|
0
Дева
27.12.07
✎
13:55
|
совсем мозгов не хватает. Подскажите пожалуйста, как получить на определенную дату последнюю запись по определенным условиям из регистра сведений. Если использовать срез последних, загоняя условия в виртуальную таблицу - получается несколько записей. Как оставить одну? дело в том, что не известно одно измерение, поэтому получается набор записей о разным значениям измерения. Надо получить последнее.
Сама задача: есть регистр сведений, который хранит по сотруднику (измерение - известное) статус "работает/уволен" и подразделение (ресурс). Нужно определить в каком последнем подразделении был статус "работает" |
|||
1
ТелепатБот
гуру
27.12.07
✎
13:55
|
||||
2
Ц_У
27.12.07
✎
13:56
|
Срез последних
|
|||
3
Dionisious
27.12.07
✎
13:58
|
Структуру регистра.
|
|||
4
Дева
27.12.07
✎
13:59
|
в запросе это всё
|
|||
5
Defender aka LINN
27.12.07
✎
14:00
|
ВЫБРАТЬ ПЕРВЫЕ 1
... УПОРЯДОЧИТЬ ПО Период |
|||
6
Дева
27.12.07
✎
14:00
|
(2) как использовать срез последних?
структура, я ж написала: 2 измерения : сотрудник и подразделение (наврала про ресурс ) Ресурсы:статус и должность |
|||
7
Дева
27.12.07
✎
14:01
|
(5) поясню: надо получить список сотрудников с подразделениями, в которых они работали в последний раз до даты (задающейся как параметр)
|
|||
8
Дева
27.12.07
✎
14:07
|
еще проблема в том, что в подразделении, в котором он работал последнем, на момент даты он может быть уволен
|
|||
9
Живой Ископаемый
27.12.07
✎
14:11
|
Если "уволен" - это значение измерения регистра сведений, то тогда не имеет значения, что он уже не работает там... Потому что срез последних возвращает уникальные наборы - то есть если он сначала "работал" а потом оказался "уволен", то срез последних вернет две записи...
Если мы поставим фильтр по этому измерению, и будем получать только те наборы, в которых значение равно "работал", то все будет шоколадно... |
|||
10
Ц_У
27.12.07
✎
14:13
|
(8) Зачем тогда писать данные в РС? ))
|
|||
11
Дева
27.12.07
✎
14:14
|
если я отберу все последние записи по подразделениям и потом наложу условие "статус=работает", то я вообще не получу подразделение для уволенного сотрудника. Если условие "статус=работает" в виртуальной таблице - получу все подразделения, в которых он работал когда-либо
|
|||
12
Дева
27.12.07
✎
14:14
|
(10) в чём суть вопроса?
|
|||
13
GenV
27.12.07
✎
14:15
|
(8) Наверное сначала нужно найти для каждого сотрудника максимум периода для которого сотояние "Работал", а затем соединить с основной таблицей, чтобы найти подразделение.
|
|||
14
Дева
27.12.07
✎
14:15
|
(9) "уволен" это ресурс
|
|||
15
Живой Ископаемый
27.12.07
✎
14:16
|
2(11) Да, и отсортируете по дате, например.. или не отсортируете?
|
|||
16
Дева
27.12.07
✎
14:22
|
(15) что да??????
|
|||
17
Дева
27.12.07
✎
14:23
|
(13) и подразделение и статус - в одной таблице, в одном регистре сведений. Но идея с максимумом неплоха, совсем не подумала. Спасибо. Кажется получается
|
|||
18
Дева
27.12.07
✎
14:31
|
идея с максимумом опытным путём работает правильно!!! Урррра!!!! Теперь разберусь логически как работает :))) (13) Спасибо за подсказку!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |