alexandr_f, начислений несколько. Нужно выбрать одно действующее, последнее. Проверка на прекращение начисления еще больше усложнит запрос.
На демо-базе правильно заработал такой запрос:
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ПлановыеНачисленияРаботниковОрганизаций.Сотрудник,
| ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета
| ИЗ
| РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(&ДатаДокумента) КАК ПлановыеНачисленияРаботниковОрганизаций
| ГДЕ
| (ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета.КатегорияРасчета В
| (ВЫБРАТЬ КатегорииРасчетов1.Ссылка
| ИЗ Справочник.КатегорииРасчетов КАК КатегорииРасчетов1
| ГДЕ (КатегорииРасчетов1.Код = ""00000"")
| )) И
| (ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета.СпособРасчета = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.ПроизвольнаяФормула))
| И
| (ПлановыеНачисленияРаботниковОрганизаций.Действие = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Начать))
| И
| (ПлановыеНачисленияРаботниковОрганизаций.Период <= &ДатаДокумента)
| УПОРЯДОЧИТЬ ПО
| ПлановыеНачисленияРаботниковОрганизаций.Период УБЫВ
| )КАК НачисленияРаботниковОрганизаций
Обратите внимание, здесь присутствует и СрезПоследних(..), и Упорядочивание по убыванию. Смешно, не правда-ли.
Упорядочивание добавил после того, как добавление СрезПоследних(..) не дало нужного эффекта - все равно выбирались все начисления.
Но когда перенес все это на реальную базу, где около 1000 физ.лиц, примерно 300 сотрудников, этот запрос (как вложенный фрагмент более сложного запроса) не выдал то, что он выдавал на демо-базе. Сейчас разбираюсь, почему.