Вход | Регистрация
 

Получение в данных до изменения, после перевода.

Получение в данных до изменения, после перевода.
Я
   NaRaz
 
28.12.20 - 13:56
Собственно вопрос.
Есть запрос к РС Работники организаций.
Надо получить вот такую строку

Сотрудник | ПодразделениеДоПеревода| Дата перевода | подразделение после перевода

Чет туплю. Жестко, видимо близко НГ

Кто нибудь может ссылку на инфостарт дать или на пример?
   Ёпрст
 
1 - 28.12.20 - 13:58
(0)
1. Дарю строку:
Результат = "Сотрудник | ПодразделениеДоПеревода| Дата перевода | подразделение после перевода";

2. http://Www.Infostart.ru
   ДенисЧ
 
2 - 28.12.20 - 13:58
Получай дату перевода и получай информацию из регистра на датаПеревода - 1
   Ёпрст
 
3 - 28.12.20 - 13:58
Наслаждайся.
   NaRaz
 
4 - 28.12.20 - 13:59
(1) Спасибо тебе добрый человек. твоя профнепригодность на лицо. Следующий
   NaRaz
 
5 - 28.12.20 - 13:59
(2) Спасибо.
   NaRaz
 
6 - 28.12.20 - 13:59
(2) А как это в запросе замутить?
   NaRaz
 
7 - 28.12.20 - 14:00
Ведь если было 2 перевода, то запрос фигню выдает.
   ДенисЧ
 
8 - 28.12.20 - 14:03
(6) соединить таблицу с самой собой по датапервая < датавтора
   ДенисЧ
 
9 - 28.12.20 - 14:03
*датавторая
   NaRaz
 
10 - 28.12.20 - 14:11
(8)

01.02.2020 - Прием
01.03.2020 - Перевод
01.04.2020 - Перевод
01.05.2020 - Перевод
01.06.2020 - Перевод
01.07.2020 - Увольнение

Как понять что для перевода 01.05.2020 предыдущее подразделение надо брать из 01.04.2020, а не из 01.03.2020?
   Ёпрст
 
11 - 28.12.20 - 14:13
(10) дык ответ в (8)
   ДенисЧ
 
12 - 28.12.20 - 14:13
(10) Последний перевод. Или первый слева.
   NaRaz
 
13 - 28.12.20 - 14:14
Все? миста кончилась? ушли от сюда программисты. Остались одни инфекционисты лабызатели. Жаль. Админ сохрани для падаванов.
ВЫБРАТЬ
    РаботникиОрганизаций.Период,
    РаботникиОрганизаций.Регистратор,
    РаботникиОрганизаций.Сотрудник,
    РаботникиОрганизаций.ПодразделениеОрганизации
ПОМЕСТИТЬ КадроваяИстория
ИЗ
    РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
ГДЕ
    РаботникиОрганизаций.Организация = &Организация
    И РаботникиОрганизаций.Период <= &КонДата
    И РаботникиОрганизаций.Сотрудник = &Сотрудник
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    КадроваяИстория.Период,
    КадроваяИстория.Регистратор,
    КадроваяИстория.Сотрудник,
    КадроваяИстория.ПодразделениеОрганизации
ПОМЕСТИТЬ ТекущиеКадровыеПеремещения
ИЗ
    КадроваяИстория КАК КадроваяИстория
ГДЕ
    КадроваяИстория.Период МЕЖДУ &НачДата И &КонДата
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ТекущиеКадровыеПеремещения.Сотрудник,
    ТекущиеКадровыеПеремещения.Период,
    МАКСИМУМ(КадроваяИстория.Период) КАК ПериодДо
ПОМЕСТИТЬ ПериодыТекущихКадровыхПеремещений
ИЗ
    ТекущиеКадровыеПеремещения КАК ТекущиеКадровыеПеремещения
        ЛЕВОЕ СОЕДИНЕНИЕ КадроваяИстория КАК КадроваяИстория
        ПО ТекущиеКадровыеПеремещения.Период > КадроваяИстория.Период
            И ТекущиеКадровыеПеремещения.Сотрудник = КадроваяИстория.Сотрудник

СГРУППИРОВАТЬ ПО
    ТекущиеКадровыеПеремещения.Сотрудник,
    ТекущиеКадровыеПеремещения.Период

Больше на форум не зайду. Не осталось тут умственного ресурса.
   mistеr
 
14 - 28.12.20 - 14:16
(10) Я бы сначала получил ВТ (Сотрудник, ДатаСостояния, ДатаСледующегоСостояния). А потом через нее соединил бы каждую строку со следующей.
   mistеr
 
15 - 28.12.20 - 14:16
(13) Не хами.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.