Имя: Пароль:
1C
1С v8
Получение двух последних записей сотрудника
,
0 Сержант ВДВ Онегин
 
22.05.18
08:42
Всем привет.
Хочу получить две последние записи сотрудника в регистре сведений Кадровая история сотрудников? Как можно это сделать запросом?
1 2S
 
22.05.18
08:44
отсортировать как надо и выбрать первые 2, не?
2 anton-rom86
 
22.05.18
08:44
Сортировка по периоду по убыванию, выбрать первые 2
3 Fish
 
22.05.18
08:44
Выбрать первые 2, ну и сортировку по дате. Не?
4 Сержант ВДВ Онегин
 
22.05.18
08:48
(1) (2) (3) я б хотел поулчить все эти данные в одной строке, а первые два даст мне две строки
5 2S
 
22.05.18
08:50
(4) в выборке запихай в одну строку, какие проблемы?
6 Сержант ВДВ Онегин
 
22.05.18
08:53
(5) могли бы показать пример как это сделать?
7 Fish
 
22.05.18
08:54
(6) НоваяСтрока = Строка1 + Строка2;
8 Сержант ВДВ Онегин
 
22.05.18
08:55
(7) никогда такого не виде в 1с )
9 Fish
 
22.05.18
08:58
(8) Есть ещё вариант с извращениями:
Выбираешь первые 2 записи, помещаешь в ВТ. Дальше 2 запроса к ВТ - первым выбираешь первую строку, вторым - вторую (всё это тоже в разные ВТ). Ну и последний шаг - делаешь полное соединение к 2-м ВТ - и получаешь, что надо :)))
10 Chameleon1980
 
22.05.18
08:58
нарисуй для начала данные двух строк,
покажи тут как будет выглядеть и как собрал
11 Мандалай
 
22.05.18
08:59
Получи две строки в таблице, назначь каждой идешник какой нибудь, например 1 и 2, создай объединение с двумя запросами, в первом выбери строку с ид 1, во втором строку с номером 2, потом сверни
12 Chameleon1980
 
22.05.18
09:03
(11) нафига ид?
в разные поля выбирать из разных таблиц и все
13 Chameleon1980
 
22.05.18
09:04
ну типа из ВТ
14 Мандалай
 
22.05.18
09:04
Ну да, можно и без доп полей обойтись.
15 Сержант ВДВ Онегин
 
22.05.18
09:05
(12) а пример можно где нибудь посмотреть?
16 Сержант ВДВ Онегин
 
22.05.18
09:07
(10) Сотрудник / ПоследняяДолжность/ ПредпоследняяДолжность
17 Сержант ВДВ Онегин
 
22.05.18
09:08
Вся проблема в том что в ЗУП при перемещении в реистр сведений не садятся данные о предыдущей деятельности сотрудника
18 mehfk
 
22.05.18
09:08
(15) выбрать
max(Таб.Поле1) КАК Поле1,
max(Таб.Поле2) КАК Поле2
выбрать
ВТ1.Поле Поле1,
null as Поле2
из ВТ_1
UNION ALL
null as Поле1,
ВТ1.Поле КАК Поле2
из ВТ_2
) КАК Таб