Добрый день, коллеги!
Есть внешний отчет, результат которого выводится в основную форму.
При формировании отчета заполняется также табличная часть обработки "СписокМПЗ"
На этой форме есть кнопка открытия второй формы, на которую выведена эта табличная часть - "СписокМПЗ".

Но при открытии второй формы (использую
```1c
    ОткрытьФорму("ВнешнийОтчет.ИнвентаризационнаяОписьТМЦ.Форма.ФормаНастроек",,ЭтаФорма)
```

, табличная часть пустая. Т.е. нет привязки к основной форме.

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

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

Если используется внешний отчет, то вместо Объект - Отчет
---
Форма действительно открывается с заполненной табличной частью. Но при изменении табличной части и закрытии второй формы - изменения не сохраняются.

А почему должны?
Формы обработок, отчетов не привязаны к объекту. Контекст объекта между ними не передается.
Как вы передали во вторую форму данные ТЧ первой формы, так и при закрытии второй формы нужно возвращать данные для перезаполнения первой формы.
---
в этой второй форме, сделай основной реквизит объект, с типом ОбработкаОбъект

в первой форме, открываешь ее с параметрами

```1c
    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("ТекущийОбъект",Объект);
    ОткрытьФорму("ВнешнийОтчет.ИнвентаризационнаяОписьТМЦ.Форма.ФормаНастроек", ПараметрыФормы, ЭтаФорма,,,,Оповещение,РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
```
---
Это внешний отчет. Во второй форме основной реквизит - это "ВнешнийОтчет.ИнвентаризационнаяОписьТМЦ".
Строка

```1c
    ОтчетОбъект = ДанныеФормыВЗначение(Параметры.ТекущийОбъект, Тип("ВнешнийОтчет.ИнвентаризационнаяОписьТМЦ"));
```

дает ошибку - тип не определен
---
там же подсказка выдается,
попробуй "ВнешнийОбъект"
или отладчиком встань, у этого текущего объекта какой тип покажет
---
или "ОтчетОбъект"
---
{ВнешнийОтчет.ИнвентаризационнаяОписьТМЦ.Форма.ФормаНастроек.Форма(13)}: Ошибка при вызове метода контекста (ДанныеФормыВЗначение)
  ОтчетОбъект = ДанныеФормыВЗначение(Параметры.ТекущийОбъект, Тип("ВнешнийОбъект"));
по причине:
Несоответствие типов (параметр номер '2')

{ВнешнийОтчет.ИнвентаризационнаяОписьТМЦ.Форма.ФормаНастроек.Форма(13)}: Ошибка при вызове метода контекста (ДанныеФормыВЗначение)
  ОтчетОбъект = ДанныеФормыВЗначение(Параметры.ТекущийОбъект, Тип("ОтчетОбъект"));
по причине:
Недопустимое значение параметра (параметр номер '1')
---
да действительно с внешними не прокатывает.

Вопрос открыт.

Но как вариант, таким же макаром, через параметры просто передавать значения туда сюда..не объекта, а просто заполнять форму
---
Можно так

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

Если используется внешний отчет, то вместо Объект - Отчет
---
Форма = ПолучитьФорму("ВнешнийОтчет.ИнвентаризационнаяОписьТМЦ.Форма.ФормаНастроек",,ЭтаФорма); КопироватьДанныеФормы(Объект,Форма.Объект); Форма.Открыть();

Почти получилось. Форма действительно открывается с заполненной табличной частью. Но при изменении табличной части и закрытии второй формы - изменения не сохраняются.
---
Форма действительно открывается с заполненной табличной частью. Но при изменении табличной части и закрытии второй формы - изменения не сохраняются.

А почему должны?
Формы обработок, отчетов не привязаны к объекту. Контекст объекта между ними не передается.
Как вы передали во вторую форму данные ТЧ первой формы, так и при закрытии второй формы нужно возвращать данные для перезаполнения первой формы.
---
Ладно, думаю нужно использовать одну форму и две закладки. Попробую так. Всем спасибо!
---
при закрытии второй формы можно использовать тот же трюк

```1c
    КопироватьДанныеФормы(Объект,ВладелецФормы.Объект);
    ВладелецФормы.ОбновитьОтображениеДанных
```
---
да еще в форме настроек в при создании на сервере, этот параметр обрабатывай
 Если Параметры.Свойство("ТекущийОбъект") Тогда

  ОбрОбъект = ДанныеФормыВЗначение(Параметры.ТекущийОбъект,Тип("ОбработкаОбъект.ИмяОбратоким"));

  ЗначениеВДанныеФормы(ОбрОбъект,Объект)

 КонецЕсли;