Помогите разобраться в чем ошибка. Пишу запрос для вывода в печатную форму данных по Окладу сотрудника
В запросе в функции ДанныеДляПечатиДопникОсновныеНачисления делаю условия что бы выбирал только значение с Окладом, но при выполнении выводится дополнительно 2 пустых строчки.
И второй вопрос Из функции ДанныеДляПечатиДопникОсновныеНачисления вставляю данные РезультатНачисления = ДанныеДляПечатиДопникОсновныеНачисления(МассивДанныхЗаполнения);
Передается текст "ТаблицаЗначений".

```1c
    Функция ДанныеДляПечатиДопникОсновныеНачисления(МассивОбъектов)

    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | ВЫБОР
    | КОГДА ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр­езПоследних.Показатель = &Оклад
    | ТОГДА ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр­езПоследних.Значение
    | КОНЕЦ КАК СуммаОклада
    |ИЗ
    | РегистрСведений.ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников.СрезПоследних(&Период, ) КАК ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр­езПоследних
    |ГДЕ
    | ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр­езПоследних.Сотрудник В(&Сотрудник)";
    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
    ДатаДопник = Дата("20201002");
    СправочникОклад = Справочники.ПоказателиРасчетаЗарплаты.НайтиПоНаименованию("Оклад");
    Запрос.УстановитьПараметр("Период", ДатаДопник);
    Запрос.УстановитьПараметр("Сотрудник", МассивОбъектов);
    Запрос.УстановитьПараметр("Оклад", СправочникОклад);

    Возврат Запрос.Выполнить().Выгрузить();

    КонецФункции

    Процедура ВывестиДанныеДопник(Макет, ТабличныйДокумент, МассивДанныхЗаполнения, ОбъектыПечати) Экспорт

    //Если Макет <> Неопределено Тогда

    ПерваяСправка = Истина;
    Для каждого ПараметрыМакета Из МассивДанныхЗаполнения Цикл

    НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;

    Если Не ПерваяСправка Тогда
    ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
    Иначе
    ПерваяСправка = Ложь;
    КонецЕсли;

    Макет.Параметры.Заполнить(ПараметрыМакета);

    РезультатСклонения = ";
    Если ФизическиеЛицаЗарплатаКадры.Просклонять(Строка(ПараметрыМакета.ФИОПолные), 1, РезультатСклонения, ПараметрыМакета.Пол, ПараметрыМакета.ФизическоеЛицо) Тогда
    Макет.Параметры.ФИОПолные = РезультатСклонения;
    КонецЕсли;

    КоличествоСтавок = ";
    Макет.Параметры.ЗанимаемыхСтавок = ПараметрыМакета.КоличествоСтавок;

    //Оклад
    РезультатНачисления = ДанныеДляПечатиДопникОсновныеНачисления(МассивДанныхЗаполнения);
    Макет.Параметры.СуммаОклада = РезультатНачисления;

    ТабличныйДокумент.Вывести(Макет);

    УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ПараметрыМакета.Ссылка);

    КонецЦикла;

    //КонецЕсли;

    КонецПроцедуры
```
---
нет. вот так:
ВЫБРАТЬ
 ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр­езПоследних.Значение КАК СуммаОклада
ИЗ
 РегистрСведений.ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников.СрезПоследних(&Период, Сотрудник В (&Сотрудник) И Показатель = &Оклад) КАК ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр­езПоследних
---
Проблемный запрос.
вот это "ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковС­р­езПоследних.Сотрудник В(&Сотрудник)" и это " ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр­­езПоследних.Показатель = &Оклад" перенесите в параметры виртуальной таблицы
---
Так?

```1c
    Запрос.Текст = "ВЫБРАТЬ
    | ВложенныйЗапрос.СуммаОклада КАК СуммаОклада
    |ИЗ
    | (ВЫБРАТЬ
    | ВЫБОР
    | КОГДА ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр­езПоследних.Показатель = &Оклад
    | ТОГДА ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр­езПоследних.Значение
    | КОНЕЦ КАК СуммаОклада
    | ИЗ
    | РегистрСведений.ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников.СрезПоследних(&Период, ) КАК ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр­езПоследних
    | ГДЕ
    | ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр­езПоследних.Сотрудник В(&Сотрудник)) КАК ВложенныйЗапрос";
```
---
нет. вот так:
ВЫБРАТЬ
 ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр­езПоследних.Значение КАК СуммаОклада
ИЗ
 РегистрСведений.ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников.СрезПоследних(&Период, Сотрудник В (&Сотрудник) И Показатель = &Оклад) КАК ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудниковСр­езПоследних
---
по второму вопросу:

```1c
    РезультатНачисления = ДанныеДляПечатиДопникОсновныеНачисления(МассивДанныхЗаполнения);
    Макет.Параметры.СуммаОклада = РезультатНачисления;
```

у вас в РезультатНачисления возвращается таблица значений и вы пытаетесь вывести её в ячейку.
---
Спасибо по первому вопросу все получилось.
По второму не могу понять из таблица значений данные выдернуть
---
не выгружайте результат функции ДанныеДляПечатиДопникОсновныеНачисления в таблицу значений.
Возвращайте сразу цифру.
вместо:

```1c
    Возврат Запрос.Выполнить().Выгрузить();
```

например, вот так:

```1c
    Выборка = Запрос.Выполнить().Выбрать();
    Выборка.Следующий();
    Возврат Выборка.СуммаОклада;
```
---
А если делать вывод результата так?

```1c
    Макет.Параметры.СуммаОклада = РезультатНачисления[0].СуммаОклада;
```

Но вопрос что будет если будет несколько строк в ТЗ?
---
выберется первая строка