В таблице Документ.УчебнаяЗаявка поле Детали имеет тип РезультатЗапроса. Для него создаётся собственная выборка.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
В отдельной учебной конфигурации создайте документ УчебнаяЗаявка: строковый номер длиной 12 с автонумерацией и разрешённым проведением.
Добавьте реквизиты Комментарий (Строка 100), Сумма (Число 15.2), Утвержден (Булево), ЗакрытПериод (Булево). Регистры и движения для этого урока не нужны.
Откройте Документы → УчебнаяЗаявка → Модуль объекта, вставьте обработчик и обновите только учебную базу. Это пример жизненного цикла, а не готовый бухгалтерский документ.
Создайте и запишите один непроведённый учебный документ с суммой 450. Код запроса вставьте в отдельную серверную команду учебной обработки, не в модуль объекта документа.
Дополните только подготовленный учебный объект: Документы → УчебнаяЗаявка → Табличные части → Детали. Добавьте Наименование (Строка 100) и Количество (Число 10.0). Для иерархических объектов табличную часть используйте для элементов, не для групп.
Выведите Детали на основную форму объекта, обновите учебную базу. В одном подготовленном элементе, счёте, узле или документе вручную заполните две строки: Книга, 2; Ручка, 3. Запишите объект.
В модуле объекта отдельный код чтения не нужен: основной запрос запускается в серверной процедуре учебной обработки.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Данные.Ссылка,
| Данные.Детали.(НомерСтроки, Наименование, Количество) КАК Детали
|ИЗ Документ.УчебнаяЗаявка КАК Данные";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить("Объект: " + Строка(Выборка.Ссылка));
СтрокиДеталей = Выборка.Детали.Выбрать();
Пока СтрокиДеталей.Следующий() Цикл
Сообщить(Строка(СтрокиДеталей.НомерСтроки) + ": "
+ СтрокиДеталей.Наименование + ", количество "
+ Строка(СтрокиДеталей.Количество));
КонецЦикла;
КонецЦикла;Разбор по шагам
Внешняя выборка получает ссылку объекта и один вложенный результат по его строкам.
Скобки после Детали явно задают три поля вложенного результата.
Второй цикл читает строки только текущего объекта; пустая табличная часть даёт пустой внутренний цикл.
Как проверить результат
У заполненного объекта показаны 1: Книга, количество 2 и 2: Ручка, количество 3.
У объекта с пустыми Детали показана его ссылка, но строки деталей не выдумываются.
Ожидаемый результат
Табличная часть прочитана в виде отдельного вложенного результата, без разворачивания объекта в дублирующиеся внешние строки.
На что обратить внимание
Поле Детали не является строкой и не является сразу ТаблицаЗначений: это вложенный РезультатЗапроса.
Имена табличной части и её реквизитов должны точно совпадать с подготовкой; создание их выполняется в конфигураторе, не в запросе.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.