Получить СрезПоследних на несколько дат

1. Pyryrym 10.05.21 17:14 Сейчас в теме
У меня есть список дат, получаемый из регистра сведений, и нужно на каждую дату получить СрезПоследних должностей сотрудника из другого регистра.. Делаю запрос:

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

СГРУППИРОВАТЬ ПО
	ДанныеПроизводственногоКалендаря.Дата,
	СведенияОСотрудниках.Сотрудник,
	СведенияОСотрудниках.Должность

УПОРЯДОЧИТЬ ПО
	Дата
Показать


Выходит таблица, в которой на каждую дату показывается все данные регистра сведений, которые были записаные после этой даты, как сделать отбор по записям на каждую дату с максимальным периодом регистрации я не понимаю, помогите пожалуйста.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
2. nomad_irk 76 10.05.21 18:43 Сейчас в теме
(1)Поле должность у вас лишнее, упорядочивание по дате - преждевременное.
Необходимо поместить результат во временную таблицу и еще раз выполнить левое соединение временной таблицы с РегистрСведений.СведенияОСотрудниках, но уже по равенству Период и Сотрудник.
Fox-trot; Pyryrym; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 76 10.05.21 18:43 Сейчас в теме
(1)Поле должность у вас лишнее, упорядочивание по дате - преждевременное.
Необходимо поместить результат во временную таблицу и еще раз выполнить левое соединение временной таблицы с РегистрСведений.СведенияОСотрудниках, но уже по равенству Период и Сотрудник.
Fox-trot; Pyryrym; +2 Ответить
3. Pyryrym 10.05.21 19:00 Сейчас в теме
(2) Сделал, но результат не поменялся

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

СГРУППИРОВАТЬ ПО
	ДанныеПроизводственногоКалендаря.Дата,
	СведенияОСотрудниках.Сотрудник,
	СведенияОСотрудниках.Должность
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	СведенияОСотрудниках.Должность КАК Должность,
	ВТ.Дата КАК Дата,
	ВТ.Сотрудник КАК Сотрудник
ИЗ
	ВТ КАК ВТ
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках КАК СведенияОСотрудниках
		ПО СведенияОСотрудниках.Сотрудник = ВТ.Сотрудник
			И СведенияОСотрудниках.Период = ВТ.Период
Показать
8. Pyryrym 10.05.21 20:07 Сейчас в теме
(3) У вас поля Должность в первом запросе отсутствует, а в группировке присутствует. Мда, понаберут...
4. biimmap 1864 10.05.21 19:04 Сейчас в теме
Можно полюбопытствовать, зачем Вам такие данные?
5. Pyryrym 10.05.21 19:06 Сейчас в теме
(4) заполнить табель. Из производственного календаря берутся дни, из сведений о сотрудниках - должность, ставка и т.д.
6. biimmap 1864 10.05.21 19:07 Сейчас в теме
Вопрос №2: Чем не устраивает типовая кнопка заполнить? Зачем велосипед изобретать?
7. Pyryrym 10.05.21 19:10 Сейчас в теме
(6) необходимо сделать с нуля, типовые решения не подойдут.
10. BomjBandit 11.05.21 09:43 Сейчас в теме
(9) в какой-то теме проверяли скорость работы данного варианта и она была ниже общепринятого метода нахождения срезов по датам.
11. Global__IT 273 11.05.21 09:44 Сейчас в теме
(10)т.е. а общепринятый это какой?
12. BomjBandit 11.05.21 10:13 Сейчас в теме
(11) который использует ТС в (3)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот