Всем доброго времени суток!
Прошу сильно не пинать за незнание. Занимаюсь программированием совсем мало. Суть такова:
делаю внешнюю обработку которая должна собирать несколько табличных частей документа "РеализацияТоваровУслуг" в одну единую табличную часть "Товары". Табличную часть "Товары" я создал во внешней обработке.

```1c
    &НаКлиенте
    Процедура СоздатьУпаковочныйЛист(Команда)

    ДокМассив = Новый Массив;
    Для каждого Док Из Объект.ТаблицаДокументов Цикл // Отбирает документы для заполнения табличной части Упаковочного Листа
    Если Не Док.Флаг Тогда
    Продолжить;
    КонецЕсли;
    ДокМассив.Добавить(Док.Документ);
    КонецЦикла;

    Если ДокМассив.Количество() = 0 Тогда
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Не выбрано ни одного документа"; // Проверяет наличие выбранных документов
    Сообщение.Сообщить();
    Возврат;
    КонецЕсли;

    ЗаполнитьНаСервере(ДокМассив);

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

    &НаСервере
    Функция ЗаполнитьНаСервере(ДокМассив);

    //массив = Объект.Товары.Выгрузить();
    Объект.ТаблицаДокументов1.Загрузить(ДокМассив);

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

Код тут не полный т.к. я застрял. ДокМассив получает в себя n-ое кол-во документов "РеализацияТоваровУслуг" это я проверил отладчиком. Вопрос как мне дальше из этой коллекции забрать содержимое табличных частей "Товары" и выгрузить их в мою табличную часть "Товары" которая находится в моей внешней обработке?

ЗЫ: Несоответствие типов (параметр номер '1') получаю при попытке выгрузки из Массива в табличную часть.
---
Надо сделать запрос на сервере, который соберёт тебе необходимые данные, сделаешь ТЗ = Запрос.Выполнить().Выгрузить();
и потом
 Объект.ТаблицаДокументов1.Загрузить(ТЗ);
---
Несоответствие типов (параметр номер '1') получаю при попытке выгрузки из Массива в табличную часть.
Загрузить должен загружать из таблицы, а не из массива.
---
Надо сделать запрос на сервере, который соберёт тебе необходимые данные, сделаешь ТЗ = Запрос.Выполнить().Выгрузить();
и потом
 Объект.ТаблицаДокументов1.Загрузить(ТЗ);
---
спасибо все получилось!
---
Посмотри курсы программирования какие-нибудь, на управляемых формах.
---
По сути надо делить всё на
а) клиентскую часть - сбор входных параметров или данных с компа клиента (файл и т.п.)
б) передача на сервак в клиентской процедуре этого добра
в) обработка на сервере
г) отдача результата

вот тебе что нужно
а) собираешь даты или период или фильтры
б) передаешь это структурой на сервер в скобках указываешь
в) на сервере собираешь данные запросом и выгружаем в таб.часть, делаешь потом
г) ЗначениеВДанныеФормы
---
Подскажите пожалуйста как дальше сделать:

```1c
    &НаКлиенте
    Процедура СоздатьУпаковочныйЛист(Команда)

    ДокМассив = Новый Массив;
    Для каждого Док Из Объект.ТаблицаДокументов Цикл // Отбирает документы для заполнения табличной части Упаковочного Листа
    Если Не Док.Флаг Тогда
    Продолжить;
    КонецЕсли;
    ДокМассив.Добавить(Док.Документ);
    КонецЦикла;

    Если ДокМассив.Количество() = 0 Тогда
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Не выбрано ни одного документа"; // Проверяет наличие выбранных документов
    Сообщение.Сообщить();
    Возврат;
    КонецЕсли;

    ЗаполнитьТоварИзМассива(ДокМассив);

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

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

    ТаблицаДанных = Запрос.Выполнить().Выгрузить();
    Объект.Товары.Загрузить(ТаблицаДанных)
    //Объект.Товары.Загрузить( Запрос.Выполнить().Выгрузить() );
    КонецФункции

    &НаСервере
    Функция СформироватьТабДок()

    ТабДок = Новый ТабличныйДокумент;
    //ТабДок = Объект.Товары.Загрузить(,);

    Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
    ОблШапка =Макет.получитьОбласть("Шапка");

    ТабДок.Вывести(ОблШапка);

    ТабДок.АвтоМасштаб=Истина;
    ТабДок.ОтображатьСетку=Ложь;

    //ТабДок = Объект.Товары;
    ////Объект.ТабДок.Загрузить(ТаблицаДанных2);

    Возврат ТабДок;

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

    &НаКлиенте
    Процедура Печать(Команда)
    // сформируем нужный нам табличный документ
    ТабДок = СформироватьТабДок();

    // создадим коллекцию печатных форм, в которую надо будет добавить нужный нам табличный документ
    КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("Макет");
    // Добавляем в коллекцию (тип массив) сформированный Табличный документ
    КоллекцияПечатныхФорм[0].ТабличныйДокумент = ТабДок;
    // если требуется устанавливаем параметры печати
    КоллекцияПечатныхФорм[0].Экземпляров=1;
    КоллекцияПечатныхФорм[0].СинонимМакета = "Макет"; // используется для формирования имени файла при сохранении из общей формы печати документов
    // .. и выводим стандартной процедурой БСП
    УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм,Неопределено,ЭтаФорма);

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

Сейчас у меня выводится мой макет без данных, но как его заполнить данными из табличной части товары? Дело в том, что в этой табличной части есть еще несколько реквизитов в которые пользователь добавляет данные во внешней обработке. Получается нужно обязательно сохранить табличную часть "товары" после того как пользователь внес в нее изменения? Не хотелось бы ломать конфу и добавлять в нее новый документ.
---
Не совсем понял.
Кажется, все данные есть уже в табличке на форме, содержащие и данные таб.части Товары документа Реализации и те, что пользователь добавил. Тогда запрос не нужен, нужно просто воспользоваться этой табличкой. Верно?
---
Да все правильно, нужно просто заполнить из этой таблицы))Я разобрался)Не совсем корректно пока понимаю механизмы работы(