Добрый день. Опыта программирования 1с кот наплакал. Грызу гранит науки. Помогите разобраться с задачей. Необходимо из выбранного мышкой документа из списка загрузить тч в таблицу значений. Документ сам не должен быть открыт, а просто выделен, далее я буду выделять след документ и в таблицу значений будут добавляться записи ТЧ.(Я вообще не в курсе можно такое реализовать или нет , так как опыта нету) Из прочитанной мной литературы я решил что мне необходим метод ТекущиеДанные. Я не могу понять как мне обратиться с помощью этого метода к выделенному документу(Реализация товаров) и перенести тч в таблицу значений. Прошу сильно не пинать.
---
Добрый день. Используйте событие "ПриАктивизацииСтроки" если вы хотите получать данные при выборе мышкой. Метод Элементы.<вашСписок>.ТекущиеДанные даст вам ссылку на документ из которого вам нужно получить таблицу. Т.к. в событии "ПриАктивизацииСтроки" серверные вызовы нежелательно использовать, то ссылку надо передать в функцию помеченную как &НаСервереБезКонтекста в этой функции сформировать массив с данными которые вам надо и вернуть его обратно на клиент и на клиенте заполнить этими данными вашу вторую таблицу.
---
Когда используются методы типа

```1c
    Материалы.Загрузить(Реализация.Товары.Выгрузить());
```

Тогда при каждом выполнении метода Загрузить ТаблицаЗначений очищается. А Вам нужно добавить значения.
Вам, конечно придется перенумеровывать строки потом, но код такой:

```1c
    &НаКлиенте
    Процедура Добавить(Команда)
    ЗаполнитьТЗНаСервере();
    КонецПроцедуры

    &НаСервере
    Процедура ЗаполнитьТЗНаСервере()

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | РасходнаяНакладнаяСписокНоменклатуры.НомерСтроки КАК НомерСтроки,
    | РасходнаяНакладнаяСписокНоменклатуры.Номенклатура КАК Номенклатура
    |ИЗ
    | Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
    |ГДЕ
    | РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка";

    Запрос.УстановитьПараметр("Ссылка", Элементы.РасходныеНакладные.ТекущаяСтрока);

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

    Если НЕ РезультатЗапроса.Пустой() Тогда

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

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    НоваяСтрока = Товары.Добавить();
    НоваяСтрока.НомерСтроки = ВыборкаДетальныеЗаписи.НомерСтроки;
    НоваяСтрока.Товар = ВыборкаДетальныеЗаписи.Номенклатура;
    КонецЦикла;
    КонецЕсли;

    КонецПроцедуры
```
---
"документу(Реализация товаров) и перенести тч в таблицу значений"

Плохо сформулировали вопрос, не понятно что вы хотите.
---
Я хочу что бы из выбранного из списка документа(подсвеченного жёлтым цветом) табличная часть выгружалась в таблицу значений. НА картинке обработка которую я пишу. В верхнем списке документы реализация, при нажатии кнопки "Добавить" табличная часть должна попадать в таблицу значений(нижнее поле). Далее при нажатии перенести в документ, вся номенклатура переноситься в новый документ Требование накладная. Вопрос у меня только с реализацией кнопки "Добавить".
---
```1c
    ДанныеПоСтроке = Элементы["ИмяВашегоСпискаНаФорме"].ТекущиеДанные;

    //Потом из данных достаешь документ

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

Потом передаешь это на сервер и уже там заполняешь свою таб. часть хоть запросом, хоть выгрузкой загрузкой.

```1c
    &НаСервере
    Процедура ДобавитьНаСервере(Номер, Дата)

    Реализация = Документы.РеализацияТоваровУслуг.НайтиПоНомеру(Номер, Дата);

    Материалы.Загрузить(Реализация.Товары.Выгрузить());

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

    &НаКлиенте
    Процедура Добавить(Команда)

    Номер = Элементы.Реквизит1.ТекущиеДанные.Номер;
    Дата = Элементы.Реквизит1.ТекущиеДанные.Дата;

    ДобавитьНаСервере(Номер, Дата);

    КонецПроцедуры
```
---
Спасибо. Завтра буду пробовать ваши варианты.
---
Когда используются методы типа

```1c
    Материалы.Загрузить(Реализация.Товары.Выгрузить());
```

Тогда при каждом выполнении метода Загрузить ТаблицаЗначений очищается. А Вам нужно добавить значения.
Вам, конечно придется перенумеровывать строки потом, но код такой:

```1c
    &НаКлиенте
    Процедура Добавить(Команда)
    ЗаполнитьТЗНаСервере();
    КонецПроцедуры

    &НаСервере
    Процедура ЗаполнитьТЗНаСервере()

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | РасходнаяНакладнаяСписокНоменклатуры.НомерСтроки КАК НомерСтроки,
    | РасходнаяНакладнаяСписокНоменклатуры.Номенклатура КАК Номенклатура
    |ИЗ
    | Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
    |ГДЕ
    | РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка";

    Запрос.УстановитьПараметр("Ссылка", Элементы.РасходныеНакладные.ТекущаяСтрока);

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

    Если НЕ РезультатЗапроса.Пустой() Тогда

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

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    НоваяСтрока = Товары.Добавить();
    НоваяСтрока.НомерСтроки = ВыборкаДетальныеЗаписи.НомерСтроки;
    НоваяСтрока.Товар = ВыборкаДетальныеЗаписи.Номенклатура;
    КонецЦикла;
    КонецЕсли;

    КонецПроцедуры
```
---
Спасибо.
---
Спасибо. Работает почти как мне нужно. Только загружает в ТЗ табличные части сразу из всех документов, которые в списке, а не только из того который выделен мышкой. Все равно спасибо, видимо я на верном пути.
---
А вот это странно, так как есть параметр в запросе.