Добрый вечер,

небольшой вопрос.

Есть док-т "Лист" с ТЧ "Товары" и реквизитами "Номенклатура" и "Количество".

из этого док-та открывается по кнопке обработка "Перенос" с ТЧ "Товары" и реквизитами "Номенклатура" и "Количество".

Как сделать так, чтобы ТЧ обработки при открытии заполнялась строками и значениями из ТЧ документа?

Управляемые формы, 1С 8.3

Заранее спасибо.
---
Чуть изменил процедуру в обработке, теперь вроде все ок.)

```1c
    Если НЕ Параметры.Свойство("МассивСтрок") Тогда
    Отказ = Истина;
    Возврат;
    КонецЕсли;

    МассивСтрок = Параметры.МассивСтрок;

    Для каждого Элемент из МассивСтрок Цикл

    НоваяСтрока = Объект.Товары.Добавить();

    ЗаполнитьЗначенияСвойств(НоваяСтрока, Элемент);

    НоваяСтрока.КоличествоЦенников=Элемент.КоличествоУпаковок;

    КонецЦикла;
```
---
В форму обработки передай параметр с данными по табличной части. А при открытии формы обработки заполни ее по полученному параметру.
---
Перед открытием обработки прописываем параметры:

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

В обработке ПередОткрытиемНаСервере проверяем наличие и заполненность параметров и заполняем реквизиты обработки.
---
я делал вот как:

```1c
    &НаКлиенте
    //В док-те, из которого открывается обработка
    Процедура ПечатьЭтикеток(Команда)

    ТекСтрока = Элементы.Товары.ТекущиеДанные;
    Если ТекСтрока = Неопределено Тогда
    Возврат;
    КонецЕсли;
    Параметр = Новый Структура;
    ПараметрыПередаваемые = Новый Структура("Номенклатура,КоличествоУпаковок");
    ЗаполнитьЗначенияСвойств(ПараметрыПередаваемые,ТекСтрока);

    ОткрытьФорму("Обработка.ПечатьЭтикетокИЦенников.Форма.ФормаТовары",ПараметрыПередаваемые,ЭтаФорма,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

    КонецПроцедуры

    //В обработке
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    Если Параметры.Свойство("Номенклатура")И Параметры.Свойство("КоличествоУпаковок") Тогда

    НоваяСтрока = Объект.Товары.Добавить();
    НоваяСтрока.Номенклатура = Параметры.Номенклатура;
    НоваяСтрока.КоличествоЦенников = Параметры.КоличествоУпаковок;

    КонецЕсли
```

Но так передается только текущая выделенная строка из док-та, а хочется передать все строки, которые есть в ТЧ док-та.)
---
Я вам написал вариант как передать всю табличную часть "Товары".

А так то Саша Вам самый нормальный вариант скинул)
---
```1c
    МассивСтрок = Новый Массив;

    Для Каждого ТекСтрока из Объект.Товары Цикл

    ПараметрыПередаваемые = Новый Структура("Номенклатура,КоличествоУпаковок");

    ЗаполнитьЗначенияСвойств(ПараметрыПередаваемые,ТекСтрока);

    МассивСтрок.Добавить(ПараметрыПередаваемые);

    КонецЦикла;

    ПараметрыФормы = Новый СТруктура;
    ПараметрыФормы.Вставить(МассивСтрок);

    ОткрытьФорму("Обработка.ПечатьЭтикетокИЦенников.Форма.ФормаТовары",ПараметрыФормы);
```
---
Спасибо, сейчас попробую
---
А в модуле формы обработки оставлять мою старую процедуру?
---
При передаче чуток переделайте:

```1c
    ПараметрыФормы = Новый СТруктура;
    ПараметрыФормы.Вставить("МассивСтрок", МассивСтрок);
```

В обработке:

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

в док-те:

```1c
    &НаКлиенте
    Процедура ПечатьЭтикеток(Команда)

    МассивСтрок = Новый Массив;

    Для Каждого ТекСтрока из Объект.Товары Цикл

    ПараметрыПередаваемые = Новый Структура("Номенклатура,КоличествоУпаковок");

    ЗаполнитьЗначенияСвойств(ПараметрыПередаваемые,ТекСтрока);

    МассивСтрок.Добавить(ПараметрыПередаваемые);

    КонецЦикла;

    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("МассивСтрок", МассивСтрок);

    ОткрытьФорму("Обработка.ПечатьЭтикетокИЦенников.Форма.ФормаТовары",ПараметрыФормы);

    КонецПроцедуры
```

в обработке:

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    Если НЕ Параметры.Свойство("МассивСтрок") Тогда
    Отказ = Истина;
    Возврат;
    КонецЕсли;

    МассивСтрок = Параметры.МассивСтрок;

    Для каждого Элемент из МассивСтрок Цикл

    НоваяСтрока = Объект.Товары.Добавить();

    ЗаполнитьЗначенияСвойств(НоваяСтрока, Элемент);

    КонецЦикла;

    КонецПроцедуры
```

в итоге, строки ТЧ документа передаются в обработку, а кол-во номенклатуры - нет.

Это может быть из-за того, что в форме док-та у кол-ва имя "КоличествоУпаковок", а в обработке "КоличествоЦенников"?
---
А в самой обработке таблица
Обработка.ВладелецФормы.Объект.Товары
недоступна?
---
Чуть изменил процедуру в обработке, теперь вроде все ок.)

```1c
    Если НЕ Параметры.Свойство("МассивСтрок") Тогда
    Отказ = Истина;
    Возврат;
    КонецЕсли;

    МассивСтрок = Параметры.МассивСтрок;

    Для каждого Элемент из МассивСтрок Цикл

    НоваяСтрока = Объект.Товары.Добавить();

    ЗаполнитьЗначенияСвойств(НоваяСтрока, Элемент);

    НоваяСтрока.КоличествоЦенников=Элемент.КоличествоУпаковок;

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