Нельзя обращаться к вложенной таблице через поле составного типа 1с
В этой статье мы разберем такую тему, как вложенные таблицы в языке запросов 1С.
В полях выборки запроса можно использовать вложенную таблицу источника запроса. Например, у документа «Оказание услуг», есть табличная часть Услуги, так вот, эту табличную часть тоже можно вывести в поле выборки. Сейчас Вы увидите, как это можно реализовать.
В своей учебной базе я запущу консоль запросов, открою конструктор запросов и выберу таблицу «Оказание Услуг».
Раскроем эту таблицу
И в ней мы видим табличную часть «Услуги».
Вот всю эту табличную часть и выберем.
Как видите, вся табличная часть услуги полностью выбралась в поля.
Оставим три поля вложенной таблицы и добавим некоторые поля из шапки документа.
Нажмем кнопку ОК в конструкторе, и посмотрим как будет выглядеть наш запрос.
Ещё интересный момент, у вложенной таблицы можно вместо полей поставить звездочку, тогда выйдут все поля табличной части. Это нельзя сделать в конструкторе, только вручную в запросе. Запрос приобретет следующий вид:
Посмотрим, как выполнится такой запрос.
Единственно, что эта звездочка у нас не сохранится, если открыть конструктор запроса.
Мы научились делать запрос с вложенной таблицей в консоле, теперь научимся использовать вложенную таблицу в выборке
Ниже приведу небольшой пример кода, в котором осуществляется работа с вложенной таблицей:
Разъясню вышеприведенный код.
Первым делом мы получили линейную выборку, и обходим эту выборку в цикле, в котором создаем верхнюю строку дерева значений (оно на форме), и в неё записываем ссылку на наш документ.
А внутри этого цикла будем обращаться к полям выборки как к полям вложенной таблицы, и записывать их в дочерние строки дерева с формы.
Вот какой результат будет возвращать этот код
Остались вопросы?
Вы ответите на них сами, когда изучите мой курс «Запросы в 1С для начинающих». Где эти и многие другие вопросы рассматриваются более подробно. Вся информация дается в простой и доступной форме и понятна даже тем, кто особо не знаком с программированием в 1С.
Читайте также: