Здравствуйте!
Есть документ "Ведомость выдачи СИЗ", который в свою очередь делает движение по одноименному РС "Ведомость выдачи СИЗ". В данном регистре измерения "Номенклатура", Сотрудник, НомерСтроки и ресурс "Количество".
С помощью данного регистра я хочу строки документа, который открыт, нажав на кнопку "Отправить" , отправить в другой документ. Делаю через запрос, но кидает строки всего регистра. Знаю что такое условие у меня не указано. Помогите указать условие, при котором в документ отправлялись только те строки документа, из которого нажимается кнопка отпраить.

Собственно сам код:

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ВедомостьВыдачиСИЗ.Номенклатура КАК Номенклатура,
    | ВедомостьВыдачиСИЗ.Сотрудник КАК Сотрудник,
    | ВедомостьВыдачиСИЗ.Количество КАК Количество,
    | ВедомостьВыдачиСИЗ.Регистратор КАК Регистратор
    |ИЗ
    | РегистрСведений.ВедомостьВыдачиСИЗ КАК ВедомостьВыдачиСИЗ
    |ГДЕ
    | ВедомостьВыдачиСИЗ.Количество <> 0";

    РезультатЗапроса = Запрос.Выполнить().Выбрать();

    Пока РезультатЗапроса.Следующий() Цикл

    НовСтр = НовДок.Товары.Добавить();
    НовДок.Комментарий = "Документ создан автоматически. Документ-основание: Ведомость выдачи СИЗ" + " " + "№" + " " + Объект.Номер + " " + "от" + " " + Объект.Дата;
    Попытка
    НовДок.Записать();
    Исключение
    Сообщить(ОписаниеОшибки());
    КонецПопытки;

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

Спасибо.
---
```1c
    "ВЫБРАТЬ
    | ВедомостьВыдачиСИЗ.Номенклатура КАК Номенклатура,
    | ВедомостьВыдачиСИЗ.Сотрудник КАК Сотрудник,
    | ВедомостьВыдачиСИЗ.Количество КАК Количество,
    | ВедомостьВыдачиСИЗ.Регистратор КАК Регистратор
    |ИЗ
    | РегистрСведений.ВедомостьВыдачиСИЗ КАК ВедомостьВыдачиСИЗ
    |ГДЕ
    | ВедомостьВыдачиСИЗ.Количество <> 0
    | И ВедомостьВыдачиСИЗ.Регистратор = &Регистратор";
    Запрос.УстановитьПараметр("Регистратор", Ссылка);
```

А вообще есть Процедура ОбработкаЗаполнения() которая вызывается, когда делают документ на основании. Посмотри для примера реализацию или другой документ. Программно ее можно вызвать

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

```1c
    Запрос.УстановитьПараметр("Регистратор",Объект.Ссылка);
    РезультатЗапроса = Запрос.Выполнить().Выбрать();
```

и так далее... Может так сработает?
---
а зачем вообще регистр ?
Если требуется просто из одного документа программно создать другой и заполнить такими же строками ?

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

```1c
    Запрос.УстановитьПараметр("Регистратор",Объект.Ссылка);
    РезультатЗапроса = Запрос.Выполнить().Выбрать();
```

и так далее... Может так сработает?
---
А простое копирование документа не подойдет?
---
Сам документ не совсем типовой, поэтому простое не прокатит.
---
```1c
    "ВЫБРАТЬ
    | ВедомостьВыдачиСИЗ.Номенклатура КАК Номенклатура,
    | ВедомостьВыдачиСИЗ.Сотрудник КАК Сотрудник,
    | ВедомостьВыдачиСИЗ.Количество КАК Количество,
    | ВедомостьВыдачиСИЗ.Регистратор КАК Регистратор
    |ИЗ
    | РегистрСведений.ВедомостьВыдачиСИЗ КАК ВедомостьВыдачиСИЗ
    |ГДЕ
    | ВедомостьВыдачиСИЗ.Количество <> 0
    | И ВедомостьВыдачиСИЗ.Регистратор = &Регистратор";
    Запрос.УстановитьПараметр("Регистратор", Ссылка);
```

А вообще есть Процедура ОбработкаЗаполнения() которая вызывается, когда делают документ на основании. Посмотри для примера реализацию или другой документ. Программно ее можно вызвать

```1c
    Документ = Документы.ИмяДокументу.Создать()
    Документ.Заполнить(Ссылка);
```
---
Спасибо.