Есть таблица значений,в которой находятся записи регистра накопления.Из этой таблицу нужно создать документы. В документе есть таблица "Выполненные работы". Как создать и записать эти документы,чтобы в таблицу "Выполненные работы" записались все значения. Одна строка таблицы значений ТЗ_Начисление = одной строке таблицы документа "Выполненные работы".

```1c
    ТЗ_Начисление=Новый ТаблицаЗначений;
    ПараметрыОтбора = Новый Структура("ВидДвижения","Приход");
    ТЗ_Начисление= ТЗ.Скопировать(ПараметрыОтбора);
    ТЗ_Начисление.Сортировать("НомерРегистратора");
```
---
как вариант:

```1c
    ТекНомер = Неопределено;
    ТекДок = Неопределено;
    Для Каждого Стр Из ТЗ_Начисление Цикл
    Если Стр.НомерРегистратора <> ТекНомер Тогда
    Если ТекДок <> Неопределено Тогда
    ТекДок.Записать();
    КонецЕсли;
    ТекДок = Документы.НужныйДокумент.СоздатьДокумент();
    // тут возможно потребуется заполнение реквизитов самого документа ...
    ТекНомер = Стр.НомерРегистратора;
    КонецЕсли;
    СтрТЧ = ТекДок.ВыполненныеРаботы.Добавить();
    // Заполняем поля строки ТЧ
    КонецЦикла;
    Если ТекДок <> Неопределено Тогда
    ТекДок.Записать();
    КонецЕсли;
```

Да, не забыть записать документ.
---
Ну а в чем проблема? Создавайте документ, а потом

```1c
    Для Каждого СтрокаТЗ Из ТЗ_Начисление Цикл
    СтрокаТЧ = ВыполненныеРаботы.Добавить();
    СтрокаТЧ.БлаБлаБла = СтрокаТЗ.ЁПэРэСэТэ;
    КонецЦикла;
```

А если имена колонок ТЗ и ТЧ совпадают - то просто

```1c
    ВыполненныеРаботы.Загрузить(ТЗ_Начисление);
```
---
вопрос в том, как записать нужные строки в нужный документ
---
А что в этом вас смущает? Вы не можете ЗАПИСАТЬ? Или не можете определить НУЖНЫЙ документ?
---
если так сделать,то все строки загружаться в таблицу одного документа
---
Загружайте в разные. У вас есть несколько строк. Вам надо создать несколько новых документов, так?
Ну так в цикле по строкам и создавайте новые документы. Для каждой строки - один документ. Так? Или не так?
---
не так.Допустим у Док1 три строки , у Док2 две строки, а у Док3 5 строк.И все эти указано в строках таблицы значений. Нужно записать нужные строки в нужные документы
---
Разберитесь со словом НУЖНЫЕ. Что вы под этим понимаете? Как вы определяете, какой документ НУЖНЫЙ для этой НУЖНОЙ строки?

(Нужно нужные в нужные, блин...)
---
в (8) попытался объяснить))
---
Например:
У таблицы документа Начисление1 должна быть одна строка, у Начисление2 должна быть одна строка, а у Начисление 3 должны быть три строки
---
Так, давай приводи полный текст прикладной задачи.
1. Пока все что я вижу - ты хочешь взять строки из движений документа и запихать их обратно в документ.
2. Что такое "таблица документа"? Давай-ка попробуем общаться в терминах 1С, если хочешь чтобы тебя понимали.
---
1. Пока все что я вижу - ты хочешь взять строки из движений документа и запихать их обратно в документ. - коротко говоря,именно это и хочу сделать. В xls файле есть данные из регистра накопления и нужно создать документы из этих данных.
Таблица документа-это табличная часть документа
---
Ну так из ТЗ выберите все документы-регистраторы в массив или еще куда. Потом этот массив циклом обходить, а в цикле устанавливать отбор на ТЗ по этому документу регистратору, потом создаете нужный документ и в его табличную часть заполняете строки из отобранных вТЗ.
---
как вариант:

```1c
    ТекНомер = Неопределено;
    ТекДок = Неопределено;
    Для Каждого Стр Из ТЗ_Начисление Цикл
    Если Стр.НомерРегистратора <> ТекНомер Тогда
    Если ТекДок <> Неопределено Тогда
    ТекДок.Записать();
    КонецЕсли;
    ТекДок = Документы.НужныйДокумент.СоздатьДокумент();
    // тут возможно потребуется заполнение реквизитов самого документа ...
    ТекНомер = Стр.НомерРегистратора;
    КонецЕсли;
    СтрТЧ = ТекДок.ВыполненныеРаботы.Добавить();
    // Заполняем поля строки ТЧ
    КонецЦикла;
    Если ТекДок <> Неопределено Тогда
    ТекДок.Записать();
    КонецЕсли;
```

Да, не забыть записать документ.
---
спасибо большое,именно то,что нужно