Здравствуйте!

Подскажите пожалуйста, можно ли данные запроса вывести в табличную часть формы согласно созданному макету?
Если "да", то скажите как это сделать?
Пытаюсь это сделать по примеру из интернета, но мне выдаёт ошибку, но не получается найти метод у объекта ТабличнаяЧасть, который выводил бы данные в таблицу.

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

    &НаСервере
    Процедура СформироватьНаСервере()

    //Значение параметра отчета можно установить следующим образом:
    // Настройки=Отчет.КомпоновщикНастроек.Настройки;
    // Отбор=Настройки.Отбор;

    ТабДок=Отчет.ТабДок;
    //Получение наполненного данными на основании данных формы Объекта
    ОтчетОбъект =РеквизитФормыВЗначение("Отчет"); //Обратное преобразование выполняется методом «ЗначениеВРеквизитФормы»
    // Получение областей внутреннего макета
    Макет = ОтчетОбъект.ПолучитьМакет("МакетОтчета");
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьДанныеКонтрагент = Макет.ПолучитьОбласть("СтрДанныеКонтрагент");
    ОбластьДанныеДоговор = Макет.ПолучитьОбласть("СтрДанныеДоговорКонтрагента");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

    //Очистка табличной части формы
    ТабДок.Очистить();

    //Запись в макет данных с полей формы
    ОбластьШапка.Параметры.НачалоПериода=Элементы.НачалоПериода;
    ОбластьШапка.Параметры.КонецПериода=Элементы.КонецПериода;
    ТабДок.Загрузить(ОбластьШапка); //ОШИБКА!

    //Установка параметров запроса по данным из полей фориы и ...
    Запрос= Новый Запрос;
    Запрос.УстановитьПараметр("Счет62",ПланыСчетов.Хозрасчетный.НайтиПоКоду("62"));
    Запрос.УстановитьПараметр("НачалоПериода",Элементы.НачалоПериода);
    Запрос.УстановитьПараметр("КонецПериода",Элементы.КонецПериода);

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

    //Получим записи с итогами по всем контрагентам
    ВыборкаКонтрАгент=Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    //Инициализируем переменные предназначенные для подсчета общих итогов по отчету:
    ИтогоПриход = 0;
    ИтогоРасход = 0;

    //Для того чтобы данные отчета выводились с иерархией(и разворотами по ”+“)
    //зададим начало автогруппировки строк табличного документа:
    ТабДок.НачатьАвтогруппировкуСтрок();
    //
    Пока ВыборкаКонтрАгент.Следующий() Цикл
    ОбластьДанныеКонтрагент.Параметры.Приход=0;
    ОбластьДанныеКонтрагент.Параметры.Расход=0;
    ЗаполнитьЗначенияСвойств(ОбластьДанныеКонтрагент.Параметры,ВыборкаКонтрагент);

    //Так как мы используем автогруппировку строк, то нужно указать уровень строки в группировке
    //(в нашем отчете будет два уровня, для контрагентов первый для договоров второй).
    ТабДок.Вывести(ОбластьДанныеКонтрагент,1);

    //Для данного контрагента делаем выборку по его договорам
    ВыборкаДоговорКонтрагента=ВыборкаКонтрАгент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    Пока ВыборкаДоговорКонтрагента.Следующий() Цикл
    ОбластьДанныеДоговор.Параметры.Приход=0;
    ОбластьДанныеДоговор.Параметры.Расход=0;
    ЗаполнитьЗначенияСвойств(ОбластьДанныеДоговор.Параметры,ВыборкаДоговорКонтрагента);
    ТабДок.Вывести(ОбластьДанныеДоговор,2);

    ИтогоПриход = ИтогоПриход + ВыборкаДоговорКонтрагента.Приход;
    ИтогоРасход = ИтогоРасход + ВыборкаДоговорКонтрагента.Расход;
    КонецЦикла;
    КонецЦикла;
    //
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    //Вывод итоговых данных в область Подвал
    ОбластьПодвал.Параметры.ИтогоПриход = ИтогоПриход;
    ОбластьПодвал.Параметры.ИтогоРасход = ИтогоРасход;

    //Вывод области подвал Табличный документ
    ТабДок.Вывести(ОбластьПодвал);

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

Строго не судите, на 1С начал изучать 3 недели назад )
Буду благодарен любым подсказкам и рекомендациям.
---
всё просто. минутку.

первое создаете реквизит скрин 1
второе - делаете макет
третье - заполняете макет и передаете его на клиента примерный код

&НаКлиенте
Процедура Команда1(Команда)

       табличка = зполнимТаб();

  РеквизитМакет= табличка;

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

&НаСервере
Функция зполнимТаб()
 ТабДок = Новый ТабличныйДокумент;
 //ТабДок= отчет.ТабличнаяЧасть1;

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

 Запрос = Новый Запрос;
 Запрос.Текст =
  "ВЫБРАТЬ
  | уатТС.Ссылка
  |ИЗ
  | Справочник.уатТС КАК уатТС";

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

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

 Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
   ОБластьСтрока.Параметры.машина =ВыборкаДетальныеЗаписи.Ссылка;

ТабДок.Вывести(ОБластьСтрока) ;
 КонецЦикла;

//ЗначениеВРеквизитФормы(ТабДок, "Отчет.ТабличнаяЧасть1");
возврат ТабДок;

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

 и макет передается отлично
---
//да можно. заполните макет как обычно и потом
//ТабДок это заполненый макет
//ПолеТабличногоДокумента1 поле табличного документа.
//ЭлементыФормы.ПолеТабличногоДокумента1.Вывести(ТабДок);

не много тормозните - скачал ваш отчет он на уф.
---
ЭлементыФормы.ПолеТабличногоДокумента1.Вывести(ТабДок);

Не получается он пишет, что нет такого объекта ЭлементыФормы:

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

    //Значение параметра отчета можно установить следующим образом:
    // Настройки=Отчет.КомпоновщикНастроек.Настройки;
    // Отбор=Настройки.Отбор;

    ТабДок=Отчет.ТабДок;
    //Получение наполненного данными на основании данных формы Объекта
    ОтчетОбъект =РеквизитФормыВЗначение("Отчет"); //Обратное преобразование выполняется методом «ЗначениеВРеквизитФормы»
    // Получение областей внутреннего макета
    Макет = ОтчетОбъект.ПолучитьМакет("МакетОтчета");
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьДанныеКонтрагент = Макет.ПолучитьОбласть("СтрДанныеКонтрагент");
    ОбластьДанныеДоговор = Макет.ПолучитьОбласть("СтрДанныеДоговорКонтрагента");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

    //Очистка табличной части формы
    ТабДок.Очистить();

    //Запись в макет данных с полей формы
    ОбластьШапка.Параметры.НачалоПериода=Элементы.НачалоПериода;
    ОбластьШапка.Параметры.КонецПериода=Элементы.КонецПериода;
    //ТабДок.Загрузить(ОбластьШапка);
    ЭлементыФормы.ПолеТабличногоДокумента.Вывести(ТабДок); //ОШИБКА
    //Установка параметров запроса по данным из полей фориы и ...
    Запрос= Новый Запрос;
    Запрос.УстановитьПараметр("Счет62",ПланыСчетов.Хозрасчетный.НайтиПоКоду("62"));
    Запрос.УстановитьПараметр("НачалоПериода",Элементы.НачалоПериода);
    Запрос.УстановитьПараметр("КонецПериода",Элементы.КонецПериода);

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

    //Получим записи с итогами по всем контрагентам
    ВыборкаКонтрАгент=Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    //Инициализируем переменные предназначенные для подсчета общих итогов по отчету:
    ИтогоПриход = 0;
    ИтогоРасход = 0;

    //Для того чтобы данные отчета выводились с иерархией(и разворотами по ”+“)
    //зададим начало автогруппировки строк табличного документа:
    ТабДок.НачатьАвтогруппировкуСтрок();
    //
    Пока ВыборкаКонтрАгент.Следующий() Цикл
    ОбластьДанныеКонтрагент.Параметры.Приход=0;
    ОбластьДанныеКонтрагент.Параметры.Расход=0;
    ЗаполнитьЗначенияСвойств(ОбластьДанныеКонтрагент.Параметры,ВыборкаКонтрагент);

    //Так как мы используем автогруппировку строк, то нужно указать уровень строки в группировке
    //(в нашем отчете будет два уровня, для контрагентов первый для договоров второй).
    ТабДок.Вывести(ОбластьДанныеКонтрагент,1);

    //Для данного контрагента делаем выборку по его договорам
    ВыборкаДоговорКонтрагента=ВыборкаКонтрАгент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    Пока ВыборкаДоговорКонтрагента.Следующий() Цикл
    ОбластьДанныеДоговор.Параметры.Приход=0;
    ОбластьДанныеДоговор.Параметры.Расход=0;
    ЗаполнитьЗначенияСвойств(ОбластьДанныеДоговор.Параметры,ВыборкаДоговорКонтрагента);
    ТабДок.Вывести(ОбластьДанныеДоговор,2);

    ИтогоПриход = ИтогоПриход + ВыборкаДоговорКонтрагента.Приход;
    ИтогоРасход = ИтогоРасход + ВыборкаДоговорКонтрагента.Расход;
    КонецЦикла;
    КонецЦикла;
    //
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    //Вывод итоговых данных в область Подвал
    ОбластьПодвал.Параметры.ИтогоПриход = ИтогоПриход;
    ОбластьПодвал.Параметры.ИтогоРасход = ИтогоРасход;

    //Вывод области подвал Табличный документ
    //ТабДок.Вывести(ОбластьПодвал);

    КонецПроцедуры
```
---
После формирования на сервере неплохо бы обновить на клиенте форму...
---
ну пока не получается записать в таблицу
---
всё просто. минутку.

первое создаете реквизит скрин 1
второе - делаете макет
третье - заполняете макет и передаете его на клиента примерный код

&НаКлиенте
Процедура Команда1(Команда)

       табличка = зполнимТаб();

  РеквизитМакет= табличка;

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

&НаСервере
Функция зполнимТаб()
 ТабДок = Новый ТабличныйДокумент;
 //ТабДок= отчет.ТабличнаяЧасть1;

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

 Запрос = Новый Запрос;
 Запрос.Текст =
  "ВЫБРАТЬ
  | уатТС.Ссылка
  |ИЗ
  | Справочник.уатТС КАК уатТС";

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

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

 Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
   ОБластьСтрока.Параметры.машина =ВыборкаДетальныеЗаписи.Ссылка;

ТабДок.Вывести(ОБластьСтрока) ;
 КонецЦикла;

//ЗначениеВРеквизитФормы(ТабДок, "Отчет.ТабличнаяЧасть1");
возврат ТабДок;

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

 и макет передается отлично
---
всё просто. минутку.

первое создаете реквизит скрин 1
второе - делаете макет
третье - заполняете макет и передаете его на клиента примерный код

Спасибо - это помогло!
---
ТабДок нужно указать как источник данных реквизита формы в который вы хотите его вывести и обновить форму
---
Это относится к примеру x_x?
---
ТабДок нужно указать как источник данных реквизита формы в который вы хотите его вывести и обновить форму
Как это сделать?
---
так и делаю, если я вас правильно понял

Или это не то?
---
ТабДок нужно указать как источник данных реквизита формы в который вы хотите его вывести и обновить форму

Указал (в ответе выше прикрепил) скрин.
Когда пытаюсь присвоить ему сформированное значение, выдает ошибку Нельзя изменять поле , содержащие данные объекта

Хочу понять, что не так.

```1c
    &НаКлиенте
    Процедура Сформировать(Команда)
    Табл=СформироватьНаСервере();
    Отчет.ТабДок=Табл;
    КонецПроцедуры

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

    //Значение параметра отчета можно установить следующим образом:
    // Настройки=Отчет.КомпоновщикНастроек.Настройки;
    // Отбор=Настройки.Отбор;

    //ТабДок=Отчет.ТабДок;
    ТабДок = Новый ТабличныйДокумент;
    //Получение наполненного данными на основании данных формы Объекта
    ОтчетОбъект =РеквизитФормыВЗначение("Отчет"); //Обратное преобразование выполняется методом «ЗначениеВРеквизитФормы»
    // Получение областей внутреннего макета
    Макет = ОтчетОбъект.ПолучитьМакет("МакетОтчета");
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьДанныеКонтрагент = Макет.ПолучитьОбласть("СтрДанныеКонтрагент");
    ОбластьДанныеДоговор = Макет.ПолучитьОбласть("СтрДанныеДоговорКонтрагента");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

    //Очистка табличной части формы
    ТабДок.Очистить();

    //Запись в макет данных с полей формы
    ОбластьШапка.Параметры.НачалоПериода=Элементы.НачалоПериода;
    ОбластьШапка.Параметры.КонецПериода=Элементы.КонецПериода;
    //ТабДок.Загрузить(ОбластьШапка);
    ТабДок.Вывести(ОбластьШапка);
    //Установка параметров запроса по данным из полей фориы и ...
    Запрос= Новый Запрос;
    Запрос.УстановитьПараметр("Счет62",ПланыСчетов.Хозрасчетный.НайтиПоКоду("62"));
    Запрос.УстановитьПараметр("НачалоПериода",ОтчетОбъект.НачалоПериода);
    Запрос.УстановитьПараметр("КонецПериода",ОтчетОбъект.КонецПериода);

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

    //Получим записи с итогами по всем контрагентам
    ВыборкаКонтрАгент=Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    //Инициализируем переменные предназначенные для подсчета общих итогов по отчету:
    ИтогоПриход = 0;
    ИтогоРасход = 0;

    //Для того чтобы данные отчета выводились с иерархией(и разворотами по ”+“)
    //зададим начало автогруппировки строк табличного документа:
    ТабДок.НачатьАвтогруппировкуСтрок();
    //
    Пока ВыборкаКонтрАгент.Следующий() Цикл
    ОбластьДанныеКонтрагент.Параметры.Приход=0;
    ОбластьДанныеКонтрагент.Параметры.Расход=0;
    ЗаполнитьЗначенияСвойств(ОбластьДанныеКонтрагент.Параметры,ВыборкаКонтрагент);

    //Так как мы используем автогруппировку строк, то нужно указать уровень строки в группировке
    //(в нашем отчете будет два уровня, для контрагентов первый для договоров второй).
    ТабДок.Вывести(ОбластьДанныеКонтрагент,1);

    //Для данного контрагента делаем выборку по его договорам
    ВыборкаДоговорКонтрагента=ВыборкаКонтрАгент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    Пока ВыборкаДоговорКонтрагента.Следующий() Цикл
    ОбластьДанныеДоговор.Параметры.Приход=0;
    ОбластьДанныеДоговор.Параметры.Расход=0;
    ЗаполнитьЗначенияСвойств(ОбластьДанныеДоговор.Параметры,ВыборкаДоговорКонтрагента);
    ТабДок.Вывести(ОбластьДанныеДоговор,2);

    ИтогоПриход = ИтогоПриход + ВыборкаДоговорКонтрагента.Приход;
    ИтогоРасход = ИтогоРасход + ВыборкаДоговорКонтрагента.Расход;
    КонецЦикла;
    КонецЦикла;
    //
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    //Вывод итоговых данных в область Подвал
    ОбластьПодвал.Параметры.ИтогоПриход = ИтогоПриход;
    ОбластьПодвал.Параметры.ИтогоРасход = ИтогоРасход;

    //Вывод области подвал Табличный документ
    //ТабДок.Вывести(ОбластьПодвал);

    Возврат ТабДок;
    КонецФункции
```