(0) Сначала выбери данные
ВЫБРАТЬ
КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
КадроваяИсторияСотрудников.Должность КАК Должность,
КадроваяИсторияСотрудников.ДействуетДо КАК ДействуетДо,
КадроваяИсторияСотрудников.Период КАК Период
ПОМЕСТИТЬ ВТКадры
ИЗ
РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
ГДЕ КадроваяИсторияСотрудников.ДействуетДо = ДАТАВРЕМЯ (1,1,1)
Потом получи максимум периода по Сотруднику
ВЫБРАТЬ
КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник,
МАКСИМУМ (КадроваяИсторияСотрудников.Период) КАК Период
ПОМЕСТИТЬ ВТпериодов
ИЗ
ВТКадры КАК КадроваяИсторияСотрудников
Теперь левым соединением по Сотруднику и Периоду приклей к
ВТпериодов временную таблицу
ВТКадры - из оной достанешь последнюю должность
Только останется вопрос, а если таких должностей 2 и больше?