В задаче написано "но берется на начало расчетного периода", поэтому я и беру ПериодДействия
А еще есть задачи, где оклад не просто меняется, но и берется с учетом этих изменений, почему-то я решил, что вы говорите об этой ситуации.
ОК, выкладываю мой запрос, при условии, что берется на начало периода (только что исправил ошибку, брал на начало фактического периода действия, а вообще пока всего 2 задачи по СПР решил, так что "нюансы" возможны
) вроде работает правильно.
Но в нем не учтена ситуация, когда на начало расчетного периода оклад не установлен (хотя, на сколько я понял, если в задаче специально не оговорена возможность ситуации, то следует допускать, что данные введены корректно в соответствии с условиями задачи).
Запрос.Текст = "ВЫБРАТЬ
| ОсновныеНачисленияДанныеГрафика.НомерСтроки,
| МАКСИМУМ(ОсновныеНачисленияДанныеГрафика.Сотрудник) КАК Сотрудник,
| МАКСИМУМ(СведенияОСотрудниках.Период) КАК Период
|ПОМЕСТИТЬ ВТ_Период
|ИЗ
| РегистрРасчета.ОсновныеНачисления.ДанныеГрафика(
| Регистратор = &Ссылка
| И ВидРасчета = &ВидРасчета) КАК ОсновныеНачисленияДанныеГрафика
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках КАК СведенияОСотрудниках
| ПО ОсновныеНачисленияДанныеГрафика.Сотрудник = СведенияОСотрудниках.Сотрудник
| И ОсновныеНачисленияДанныеГрафика.ПериодДействия >= СведенияОСотрудниках.Период
|
|СГРУППИРОВАТЬ ПО
| ОсновныеНачисленияДанныеГрафика.НомерСтроки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СведенияОСотрудниках.Оклад,
| ЕСТЬNULL(ОсновныеНачисленияДанныеГрафика.ЗначениеПериодДействия, 0) КАК Норма,
| ОсновныеНачисленияДанныеГрафика.ЗначениеФактическийПериодДействия КАК Факт,
| ВТ_Период.НомерСтроки КАК НомерСтроки
|ИЗ
| ВТ_Период КАК ВТ_Период
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках КАК СведенияОСотрудниках
| ПО ВТ_Период.Период = СведенияОСотрудниках.Период
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисления.ДанныеГрафика(
| Регистратор = &Ссылка
| И ВидРасчета = &ВидРасчета) КАК ОсновныеНачисленияДанныеГрафика
| ПО ВТ_Период.НомерСтроки = ОсновныеНачисленияДанныеГрафика.НомерСтроки";
А дальше распределяю по номерам строк, как у Радченко.
ПС. Убрал в первом запросе ГДЕ, переместил в условие вирт таблицы.