Помогите пожалуйста с кодом. Нужно чтобы в таблицу записывались данные только из определенного документа (все остальное записывается правильно), сейчас записывает в таблицу из каждого элемента переменные(рис.). Это берется из Документа КадровыйПереводСписком.

```1c
    ВыборкаПоСотрудникам = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока ВыборкаПоСотрудникам.Следующий() Цикл
    ОписанияНачислений = Новый Соответствие;

    Если Не ОписанияНачисленийПоПериодам.Получить(ОписанияНачислений) = ВыборкаПоСотрудникам.Следующий() Тогда

    ВыборкаПоПериодам = ВыборкаПоСотрудникам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока ВыборкаПоПериодам.Следующий() Цикл

    ВыведенныеПоказатели = Новый Соответствие;
    ОписаниеОкладаЗаполнялось = Ложь;

    ОписаниеСоставаНачислений = КадровыйУчетБазовый.ОписаниеСоставаНачислений();

    //Если Не ОписанияНачислений.Получить( ОписаниеСоставаНачислений)= ВыборкаПоСотрудникам.Следующий() Тогда

    Выборка = ВыборкаПоПериодам.Выбрать();
    Пока Выборка.Следующий() Цикл

    Если ЗначениеЗаполнено(Выборка.Значение) И ВыведенныеПоказатели.Получить(Выборка.Показатель) = Истина Тогда
    Продолжить;
    КонецЕсли;

    Если Не ОписаниеОкладаЗаполнялось И Выборка.ОкладТариф И Выборка.Используется Тогда

    ОписаниеСоставаНачислений.Вставить("ПоказательОкладТариф", Выборка.Показатель);
    ОписаниеСоставаНачислений.Вставить("ОкладТариф", Выборка.Значение);

    Если ЗначениеЗаполнено(Выборка.Значение) Тогда
    ВыведенныеПоказатели.Вставить(Выборка.Показатель, Истина);
    КонецЕсли;

    Если ИспользоватьКраткиеПредставления Тогда
    ПредставлениеТарифнойСтавки = ?(ПустаяСтрока(Выборка.ПоказательКраткоеНаименование), Строка(Выборка.НачислениеКраткоеНаименование), Строка(Выборка.ПоказательКраткоеНаименование))
    Иначе

    Если Выборка.Значение = 0 Тогда
    ПредставлениеТарифнойСтавки = Выборка.НачислениеНаименование;
    Иначе
    ПредставлениеТарифнойСтавки = ?(ПустаяСтрока(Выборка.ПоказательНаименование), Выборка.НачислениеНаименование, Выборка.ПоказательНаименование)
    КонецЕсли;

    КонецЕсли;

    Если Выборка.Значение > 0 Тогда

    ПредставлениеТарифнойСтавки =
    ПредставлениеТарифнойСтавки + ": " + Формат(Выборка.Значение, "ЧДЦ=" + Выборка.Точность + "; ЧГ=");

    Если ВыводитьДенежныеПоказателиСВалютой И Выборка.ДенежныйПоказатель Тогда

    ПредставлениеТарифнойСтавки = ПредставлениеТарифнойСтавки + " " + НСтр("ru='руб.'");

    Если Выборка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.ЧасоваяТарифнаяСтавка Тогда
    ПредставлениеТарифнойСтавки = ПредставлениеТарифнойСтавки + " " + НСтр("ru='за час'");
    ИначеЕсли Выборка.ВидТарифнойСтавки = Перечисления.ВидыТарифныхСтавок.ДневнаяТарифнаяСтавка Тогда
    ПредставлениеТарифнойСтавки = ПредставлениеТарифнойСтавки + " " + НСтр("ru='за день'");
    КонецЕсли;

    КонецЕсли;

    КонецЕсли;

    ОписаниеСоставаНачислений.Вставить("ОписаниеОклада", ПредставлениеТарифнойСтавки);

    ОписаниеОкладаЗаполнялось = Истина;

    Иначе

    Если Выборка.ОкладТариф
    И Не Выборка.Используется Тогда

    Продолжить;

    КонецЕсли;

    Если Выборка.Используется Тогда

    ОписаниеНадбавок = ОписаниеСоставаНачислений.ОписаниеНадбавок;

    //..
    СтрокаТаб = ТаблицаНачислений.Добавить();
    СтрокаТаб.Сотрудник = Выборка.Сотрудник;
    //..

    Если ИспользоватьКраткиеПредставления Тогда
    ПредставлениеПоказателя = ?(ПустаяСтрока(Выборка.ПоказательКраткоеНаименование), Выборка.НачислениеКраткоеНаименование, Выборка.ПоказательКраткоеНаименование);
    Иначе

    Если Выборка.Значение = 0 Тогда
    ПредставлениеПоказателя = Выборка.НачислениеНаименование;
    Иначе
    ПредставлениеПоказателя = ?(ПустаяСтрока(Выборка.ПоказательНаименование), Выборка.НачислениеНаименование, Выборка.ПоказательНаименование);
    КонецЕсли;

    КонецЕсли;
    //..
    СтрокаТаб.Начисление = Выборка.НачислениеПредст;
    //..

    ОписаниеНадбавок = ?(ПустаяСтрока(ОписаниеНадбавок), ", ОписаниеНадбавок + "; ") + ПредставлениеПоказателя;

    Если Выборка.Значение > 0 Тогда

    ОписаниеНадбавок = ОписаниеНадбавок + ": " + Формат(Выборка.Значение, "ЧДЦ=" + Выборка.Точность + "; ЧГ=");

    Если ВыводитьДенежныеПоказателиСВалютой И Выборка.ДенежныйПоказатель Тогда
    ОписаниеНадбавок = ОписаниеНадбавок + " " + НСтр("ru='руб.'");
    КонецЕсли;

    //..
    СтрокаТаб.Размер = Формат(Выборка.Значение, "ЧДЦ=" + Выборка.Точность + "; ЧГ=");
    Если ВыводитьДенежныеПоказателиСВалютой И Выборка.ДенежныйПоказатель Тогда
    СтрокаТаб.Размер = СтрокаТаб.Размер + " " + НСтр("ru='руб.'");
    ИначеЕсли СтрНайти(Выборка.ПоказательНаименование, "роцент")+СтрНайти(Выборка.ПоказательНаименование, "%")>0 Тогда
    СтрокаТаб.Размер = СтрокаТаб.Размер + " (%)";
    КонецЕсли;
    //..

    КонецЕсли;

    Если Не ПустаяСтрока(ИмяПоляДатаОкончания) Тогда

    Если ЗначениеЗаполнено(Выборка.ДатаОкончанияНачисления)
    И Выборка.ДатаОкончанияНачисления < Выборка.ДатаОкончания
    И Не Выборка.ИспользуетсяПоОкончании Тогда

    ОписаниеНадбавок = ОписаниеНадбавок + " " + НСтр("ru='по'") + " " + Формат(Выборка.ДатаОкончанияНачисления, "ДЛФ=D");

    ИначеЕсли ЗначениеЗаполнено(Выборка.ДатаОкончания)
    И ЗначениеЗаполнено(Выборка.Значение) Тогда

    ОписаниеНадбавок = ОписаниеНадбавок + " " + НСтр("ru='по'") + " " + Формат(Выборка.ДатаОкончания, "ДЛФ=D");

    КонецЕсли;

    КонецЕсли;

    Если ЗначениеЗаполнено(Выборка.Значение) Тогда
    ВыведенныеПоказатели.Вставить(Выборка.Показатель, Истина);
    КонецЕсли;

    ИначеЕсли ЗначениеЗаполнено(Выборка.ДатаОкончанияНачисления) Тогда

    ОписаниеНадбавок = ОписаниеСоставаНачислений.ОписаниеНадбавок;
    ОписаниеНадбавок =
    ?(ПустаяСтрока(ОписаниеНадбавок), ", ОписаниеНадбавок + "; ")
    + ?(ПустаяСтрока(Выборка.Показатель), Выборка.Начисление, Выборка.Показатель)
    + ?(Выборка.Значение = 0, ", ": " + Формат(Выборка.Значение, "ЧДЦ=" + Выборка.Точность + "; ЧГ="))
    + " " + НСтр("ru='с'") + " " + Формат(КонецДня(Выборка.ДатаОкончанияНачисления) + 1, "ДЛФ=D");

    КонецЕсли;

    ОписаниеСоставаНачислений.Вставить("ОписаниеНадбавок", ОписаниеНадбавок);

    КонецЕсли;

    КонецЦикла;

    ОписанияНачислений.Вставить(ВыборкаПоПериодам.Период, ОписаниеСоставаНачислений);

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

    КонецЦикла;

    ОписанияНачисленийПоПериодам.Вставить(ВыборкаПоСотрудникам.Сотрудник, ОписанияНачислений);

    КонецЕсли;
    КонецЦикла;
```

Нужно чтобы у каждой печати были свои данные в таблице

Вот это вставил в начале (понимаю что не правильно) и теперь выводит только из 1 документа, а как сделать чтобы выводилось для каждого свое так и не знаю.

```1c
    Если Не ОписанияНачисленийПоПериодам.Получить(ОписанияНачислений) = ВыборкаПоСотрудникам.Следующий() Тогда
```

Сразу простите пожалуйста за тупость
---
Вот что было

```1c
    Обл = Макет.ПолучитьОбласть("Надбавки");
    Для Каждого СтрокаТаб Из ТаблицаНачислений Цикл
    Обл.Параметры.Начисление = СтрокаТаб.Начисление;
    Обл.Параметры.Размер = СтрокаТаб.Размер;
    ТабличныйДокумент.Вывести(Обл);
    КонецЦикла;
```

Вот что сделал

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

Вот начало(Если кому-то нужно будет, хотя врятли)

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

    ПервыйПриказ = Истина;
    Для каждого ПараметрыМакета Из МассивДанныхЗаполнения Цикл
    Если Не ПервыйПриказ Тогда
    ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
    Иначе
    ПервыйПриказ = Ложь;
    КонецЕсли;
```
---
Если Не ОписанияНачисленийПоПериодам.Получить(ОписанияНачислений) = ВыборкаПоСотрудникам.Следующий() тогда
Это лишнее, у Вас уже Выше соблюдено условие ВыборкаПоСотрудникам.Следующий().
Перепишите так:

```1c
    ОписанияНачисленийПоПериодам.Получить(ОписанияНачислений) = Ложь
```
---
не получилось
---
Этим условием Вы хотели прервать выполнение этого круга цикла и сделать выборка.Следующий()?
---
В конце прочитайте что написано )
---
хм вот с этим

```1c
    ОписанияНачисленийПоПериодам.Получить(ОписанияНачислений) = Ложь
```

вообще ничего не вывелось

а с этим все как и было

```1c
    Не ОписанияНачисленийПоПериодам.Получить(ОписанияНачислений) = Истина
```
---
Значит возвращает истина и какое то описание, а ложь не возвращает.
---
"ОписаниеСоставаНачислений" - это скорее всего типа данных "Структура". Напишите сообщить(ТипЗнч(ОписаниеСоставаНачислений)); чтобы в этом убедиться, или если уже знакомы с отладкой, с помощью нее. В момент когда Вы присваиваете струтуре значение
```1c
    ОписаниеСоставаНачислений.Вставить("ОписаниеНадбавок", ОписаниеНадбавок);
```
 Предыдущее значение всегда затирается. Часто в таких случаях создают массив, куда добавляют значение структуры на определенном витке цикла, таким образом можно сохранить их всех.

```1c
    МассивОписаний = новый массив;

    Пока Выборка.Следующий() Цикл

    .....

    МассивОписаний.Добавить(ОписанияНачислений);

    .....

    КонецЦикла
```
---
Простите просто наверно не корректно задал вопрос, нужно было поменять в выводе, а я скинул код от куда берутся значения.
---
Вот что было

```1c
    Обл = Макет.ПолучитьОбласть("Надбавки");
    Для Каждого СтрокаТаб Из ТаблицаНачислений Цикл
    Обл.Параметры.Начисление = СтрокаТаб.Начисление;
    Обл.Параметры.Размер = СтрокаТаб.Размер;
    ТабличныйДокумент.Вывести(Обл);
    КонецЦикла;
```

Вот что сделал

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

Вот начало(Если кому-то нужно будет, хотя врятли)

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

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