У услуги есть "типовой" набор используемых материалов

надо при выборе в документе оказанной услуги заполнить таблицу на управляемой форме набором материалов для последующего редактирования (исправить количество, добавить строки/удалить) (набор потом записывается в ТЧ документа)

как это правильно сделать? что разместить на форме? как заполнить?

===============================

Вызываешь из формы серверную процедуру, получаешь материалы и заполняешь объект.

==================================

материалы отображать именно как ТЧ документа?

как заполнить таблицу из запроса? что во что преобразовывать? обход по строкам или можно в таблицу (элемент управляемой формы) запихнуть сразу ТЗ или результат запроса?

====================

ТЗ не поддерживает управляемая форма. Проще всего ТЧ , если надо передать ТЗ на клиента то использую Массив структур.

================================

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

Объект.ТЧ.Загрузить(Запрос.Выполнить().Выгрузить());

===============================

Код 1c:
&НаСервере
Процедура ПолучитьТаблицуМатериалов()
 
Документ = РеквизитФормыВЗначение"Объект");
 
Документ.Материалы.Загрузить(...);
 
ЗначениеВРеквизитФормы(Документ,"Объект");
 
КонецПроцедуры
(пример из книги Радченко)
так?

===========================

Я делал без строк

Документ = РеквизитФормыВЗначение"Объект");
ЗначениеВРеквизитФормы(Документ,"Объект");

Просто Объект.Материалы.Загрузить(...);


Твой вариант сработает, но нет смысла конвертить ТЗ в массив структур и заполнять ТЧ из него построчно на клиенте. Лучше все сразу сделать на сервере. То есть твой вариант имеет место быть, но он неоптимален. Оговорюсь, что сам прибегал к подобному алгоритму, но это было исключение, так как просто загрузкой нужный функционал не получалось реализовать.

================

к реквизиту формы из модуля формы обращаешься как к обычной переменной, без "Объект." и "РеквизитФормыВЗначение".