|
Найти дату приема на работу | ☑ | ||
---|---|---|---|---|
0
prog365
12.02.24
✎
19:51
|
Всем привет! Подскажите, есть РС Работники в котором может быть несколько записей о приеме (тогда ставка > 0) на работу или увольнения (ставка = 0), тех и тех записей может быть несколько, может быть несколько записей о приеме это смена должностей.
Мне надо найти первую дату о приеме: если нет увольнения, то просто беру срез первых и получаю первую дату. А вот если было увольнение и потом снова приняли, то как тут можно одним запросом получить запись о приеме после увольнения? |
|||
1
Волшебник
12.02.24
✎
19:56
|
Увольнение работника должно стать окончанием "трудовой жизни" этого элемента справочника.
Ранее уволенные сотрудники не принимаются обратно, а заводятся как новые. |
|||
2
d4rkmesa
12.02.24
✎
20:03
|
(0) О какой конфигурации речь?
|
|||
3
prog365
12.02.24
✎
20:49
|
(1) с этим согласен, но они так вот прилетают из другой базы (2) Розница старая, обычные формы
|
|||
4
Волшебник
12.02.24
✎
20:54
|
(3) Розница, сотрудники, ставки... Много думал...
|
|||
5
Vaderonk
12.02.24
✎
23:05
|
(0) найти максимальную дату увольнения по сотруднику и искать первую строку после этой даты
|
|||
6
DrZombi
13.02.24
✎
06:01
|
(0) Сперва получаете ВТ_Уволенные сотрудники.
Потом на основе уволенных используйте её в качестве минимальной даты. Все что было до увольнения, вас не интересует. Вам же нужны только работающие сотрудники, а не история по всем за все годы :) Если увольнения нет, то и ограничения нет, т.е. тут все в вашей фантазии :) |
|||
7
Web00001
13.02.24
✎
08:32
|
(5)(6) +1. Первый запрос к таблице "РС Работники" который формирует ВТ таблицу с датами увольнений. Состоит из объединений двух других запросов:
1. Выбрали всех у кого не было увольнений. У них дата увольнения пустая "ДатаВремя(1,1,1)"(ну или как-то так, лень смотреть) 2. Второй запрос, всех у кого увольнение было. Сгруппировать даты увольнений на максимум Слдующим запросом делаем левое соединение к этой Временной таблице которая сформирована первым запросом, таблицей "РС Работники". По ТаблицаРегистра.ДатаПриема > ВТ.Дата увольнения. Полученную таблицу сгруппировать по полю Сотрудника а дату приема в минимум. Приблизительно так это должно работать. Как понять где прием, где увольнение, как каждый раз не перебирать весь регистр и все даты, оставляю тебе, дальше уже дело техники |
|||
8
Мимохожий Однако
13.02.24
✎
09:14
|
(3) ОФФ. Небрежность в ответах и вопросах порождает ошибки
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |