Переделываю обработку из обычной формы в управляемую. 1. Как сделать вывод макета в табличное поле? 2. Как отобразить реквизит таблица на форме? Кнопки и поля сами появились на форме при создании, а таблица чёт не хочет.
---
Общий диагноз - идея учиться УФ на переделке обоаботки с ОФ - очень неправильная!
Начните лучше с создания хоть нескольких своих новых обработок с нуля в УФ.
И когда поймете КАК оно работает, прочитав кучу литературы - беритесь за переделку.
Переделка - это уже высший пилотаж! Оставьте эту сложную работу на потом...
---
все правильно, код в модуле объекта работает в серверном контексте, там Вы не можете получать форму...

Если в коде идет получение формы, а потом результат выбора где-то используется, то Вам нужно это получение перенести на форму и результат выбора уже передавать в процедуру СформироватьОтчет.

Только оптимальнее использовать ОткрытьФорму, а не ПолучитьФорму
---
Итак получилось. Всем большое спасибо. Самое простое решение оказалось перенести процедуру формирования отчета из модуля объекта в модуль формы и написать так:

```1c
    &НаКлиенте
    Процедура КнопкаСформироватьНажатие(Команда)
    СформироватьОтчет(ПолеТабличногоДокумента, Ложь);
    ЭтаФорма.ТекущийЭлемент = Элементы.ПолеТабличногоДокумента;
    КонецПроцедуры

    &НаКлиенте
    Процедура ПриОткрытии(Отказ) Экспорт
    Объект.ДатаНачала=Дата("01.01.2018 00:00:00");
    Объект.ДатаОкончания=КонецКвартала(ТекущаяДата());
    КонецПроцедуры

    Процедура СформироватьОтчет(ДокументРезультат, Тест1) Экспорт
    ДокументРезультат.Очистить();
    ОтчетОбъект= РеквизитФормыВЗначение("Объект").ЭтотОбъект;
    Макет = ОтчетОбъект.ПолучитьМакет("Материалы");
    Задолженности=Новый Соответствие;
    Задолженности2=Новый массив;
    // Пока в выборке есть записи ...

    Запрос1 = Новый Запрос(
    "ВЫБРАТЬ
```
---
почитайте руководство разработчика.
Оф это не уф.
1. Разницы нет.
2. В чем проблема. Все выводится.
---
1 - Разместить табличное поле на форме и использовать его в коде
2 -А у таблицы добавлены колонки?
---
На ютюбе масса уроков.

Чтобы таблица выводилась на форму, нужно ее создать. Создать реквизит с типом таблица значений, добавить в нее колонки и перенести на форму. Либо в обработке создать табличную часть.
А вообще довольно трудно помочь на словах, не видя всей картины в целом. Скриншоты бы, что ли.
---
Если размещаете таблицу значений - то все должно отразиться, добавляете колонки! Затем они отражаются на элементе формы и на самой формы! Если не получилось можете скрин сделать
---
```1c
    &НаКлиенте
    Процедура КнопкаСформироватьНажатие(Команда)
    Прочитать_НаСервере();
    ЭтаФорма.ТекущийЭлемент = Элементы.ПолеТабличногоДокумента;
    КонецПроцедуры

    &НаКлиенте
    Процедура ПриОткрытии(Отказ) Экспорт
    Объект.ДатаНачала=Дата("01.01.2018 00:00:00");
    Объект.ДатаОкончания=КонецКвартала(ТекущаяДата());
    КонецПроцедуры

    &НаСервере
    Процедура Прочитать_НаСервере()
    РеквизитФормыВЗначение("Объект").СформироватьОтчет(Элементы.ПолеТабличногоДокумента, Ложь);
    КонецПроцедуры
```

В результате:{ВнешняяОбработка.Материалы_Списание.Форма.Материалы.Форма(23)}: Поле объекта не обнаружено (ПолеТабличногоДокумента)
РеквизитФормыВЗначение("Объект").СформироватьОтчет(Элементы.ПолеТабличногоДокумента, Ложь);
---
Передавать, наверно, нужно не таблицу формы, а реквизит формы

```1c
    РеквизитФормыВЗначение("Объект").СформироватьОтчет(ПолеТабличногоДокумента, Ложь);
```
---
РеквизитФормыВЗначение("Объект").СформироватьОтчет(ПолеТабличногоДокумента, Ложь);
{ВнешняяОбработка.Материалы_Списание.МодульОбъекта(25)}: Ошибка при вызове метода контекста (ПолучитьФорму)
  Форма = ПолучитьФорму("Материалы");
по причине:
Интерактивные операции недоступны
---
ну потому что, вы хотите получить форму в серверном контексте

Метод ПолучитьФорму

Доступность:

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

А если на клиенте, то метод не доступен на клиенте.
какой метод?
---
{ВнешняяОбработка.Материалы_Списание.Форма.Материалы.Форма(22)}: Ошибка при вызове метода контекста (РеквизитФормыВЗначение)
 РеквизитФормыВЗначение("Объект").СформироватьОтчет(ПолеТабличногоДокумента, Ложь);
по причине:
Метод недоступен на клиенте
(11)
---
Метод РеквизитФормыВЗначение работает только в серверном контексте
Покажите весь код, просто от куда взялось Форма = ПолучитьФорму("Материалы"); я не совсем понимаю
---
Форма = ПолучитьФорму("Материалы");
В модуле объекта:

```1c
    Процедура СформироватьОтчет(ДокументРезультат, Тест1) Экспорт
    ДокументРезультат.Очистить();
    Макет = ПолучитьМакет("Материалы");
    Форма = ПолучитьФорму("Материалы");
    Запрос1 = Новый Запрос(
    "ВЫБРАТЬ
    |ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокДт КАК КоличествоДт,
```
---
все правильно, код в модуле объекта работает в серверном контексте, там Вы не можете получать форму...

Если в коде идет получение формы, а потом результат выбора где-то используется, то Вам нужно это получение перенести на форму и результат выбора уже передавать в процедуру СформироватьОтчет.

Только оптимальнее использовать ОткрытьФорму, а не ПолучитьФорму
---
Общий диагноз - идея учиться УФ на переделке обоаботки с ОФ - очень неправильная!
Начните лучше с создания хоть нескольких своих новых обработок с нуля в УФ.
И когда поймете КАК оно работает, прочитав кучу литературы - беритесь за переделку.
Переделка - это уже высший пилотаж! Оставьте эту сложную работу на потом...
---
А зачем в табличной поле? Сохранить в файл нельзя, печать и предварительный просмотр тоже кнопками имитировать надо, стандартные из платформы неудобно. Или это для Линукс/андроид?
---
Итак получилось. Всем большое спасибо. Самое простое решение оказалось перенести процедуру формирования отчета из модуля объекта в модуль формы и написать так:

```1c
    &НаКлиенте
    Процедура КнопкаСформироватьНажатие(Команда)
    СформироватьОтчет(ПолеТабличногоДокумента, Ложь);
    ЭтаФорма.ТекущийЭлемент = Элементы.ПолеТабличногоДокумента;
    КонецПроцедуры

    &НаКлиенте
    Процедура ПриОткрытии(Отказ) Экспорт
    Объект.ДатаНачала=Дата("01.01.2018 00:00:00");
    Объект.ДатаОкончания=КонецКвартала(ТекущаяДата());
    КонецПроцедуры

    Процедура СформироватьОтчет(ДокументРезультат, Тест1) Экспорт
    ДокументРезультат.Очистить();
    ОтчетОбъект= РеквизитФормыВЗначение("Объект").ЭтотОбъект;
    Макет = ОтчетОбъект.ПолучитьМакет("Материалы");
    Задолженности=Новый Соответствие;
    Задолженности2=Новый массив;
    // Пока в выборке есть записи ...

    Запрос1 = Новый Запрос(
    "ВЫБРАТЬ
```
---
Может пригодится: статьи и видео по разработке управляемого приложения 1С 8.3