Имя: Пароль:
1C
 
Получение в данных до изменения, после перевода.
0 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
Наслаждайся.
4 NaRaz
 
28.12.20
13:59
(1) Спасибо тебе добрый человек. твоя профнепригодность на лицо. Следующий
5 NaRaz
 
28.12.20
13:59
(2) Спасибо.
6 NaRaz
 
28.12.20
13:59
(2) А как это в запросе замутить?
7 NaRaz
 
28.12.20
14:00
Ведь если было 2 перевода, то запрос фигню выдает.
8 ДенисЧ
 
28.12.20
14:03
(6) соединить таблицу с самой собой по датапервая < датавтора
9 ДенисЧ
 
28.12.20
14:03
*датавторая
10 NaRaz
 
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) Последний перевод. Или первый слева.
13 NaRaz
 
28.12.20
14:14
Все? миста кончилась? ушли от сюда программисты. Остались одни инфекционисты лабызатели. Жаль. Админ сохрани для падаванов.
ВЫБРАТЬ
    РаботникиОрганизаций.Период,
    РаботникиОрганизаций.Регистратор,
    РаботникиОрганизаций.Сотрудник,
    РаботникиОрганизаций.ПодразделениеОрганизации
ПОМЕСТИТЬ КадроваяИстория
ИЗ
    РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
ГДЕ
    РаботникиОрганизаций.Организация = &Организация
    И РаботникиОрганизаций.Период <= &КонДата
    И РаботникиОрганизаций.Сотрудник = &Сотрудник
;

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

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

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

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