Предложение ПОРОДИТЬ
Предложение ПОРОДИТЬ задает  имя типа, порождаемого литералом запроса типа.
Синтаксис
Предложение имеет следующий синтаксис:
[ПОРОДИТЬ
    имя-типа-структуры]
Если вы хотите обрабатывать результат типизированного запроса в другом методе, то вам понадобится заранее знать тип строки результата запроса, чтобы написать вызов другого метода. Однако по умолчанию у тип-строки-результата-запроса нет имени.
ДругойМетод(РезультатЗапроса<тип-строки-результата-запроса>)
Вы можете решить эту проблему с помощью явного указания имени типа строки результата запроса. Используйте для этого синтаксис ПОРОДИТЬ, в котором укажите нужное имя.
Вы также можете исполь зовать существующий тип в качестве типа строки результата запроса. Для этого в запросе укажите предложение ЗАПОЛНИТЬ (подробнее).
метод СоздатьЗапрос()
    // Задать текст запроса.
    знч Запрос = Запрос{
        ВЫБРАТЬ
            ОбработанныеСообщения.КодУчастника КАК КодУчастника,
            ОбработанныеСообщения.ИмяПроцесса КАК ИмяПроцесса,
            ОбработанныеСообщения.ИмяУзла КАК ИмяУзла
        ПОРОДИТЬ
            Сообщение
        ИЗ
            ОбработанныеСообщения КАК ОбработанныеСообщения
    }
    // Передать результат запроса в другой метод.
    ДругойМетод(Запрос.Выполнить())
;
метод ДругойМетод(РезультатЗапроса: РезультатЗапроса<Сообщение>)
;
В этом примере явно задается имя типа строки результата запроса — Сообщение. И это же имя типа используется для параметризации обобщенного типа в параметре метода ДругойМетод().
Результирующее имя типа формируется как имя типа, владеющего модулем (в котором написан литерал запроса, в данном случае — Приложение), и, через точку, имя типа строки результата, указанное в запросе (Приложение.Сообщение). В рамках того же модуля, в котором написан запрос, можно обращаться к типу по локальному имени — без имени типа, владеющего модулем (Сообщение).
Порожденный литералом запроса тип доступен на клиенте, и значения такого типа можно передавать между клиентом и сервером.
Область видимости порождаемой запросом структуры
Вы можете явно задать область видимости для порождаемой запросом структуры. Для этого добавьте необходимую аннотацию видимости перед ключевым словом ПОРОДИТЬ, например:
знч Запрос = Запрос{
    ВЫБРАТЬ
        ОбработанныеСообщения.КодУчастника КАК КодУчастника,
        ОбработанныеСоо бщения.ИмяПроцесса КАК ИмяПроцесса,
        ОбработанныеСообщения.ИмяУзла КАК ИмяУзла
    ИЗ
        ОбработанныеСообщения КАК ОбработанныеСообщения
    @ВПроекте
    ПОРОДИТЬ Сообщение
}
Если область видимости не указана, она совпадает с областью видимости метода или константы, в которой объявлен литерал запроса.
Особенности и ограничения использования аннотаций видимости
- Каждая аннотация относится только к следующему за ней выражению запроса.
- Аннотации можно указывать только в запросах выборки данных (ВЫБРАТЬ).
- Аннотации не влияют на область видимости временных таблиц, в том числе порожденных с помощью запроса ВЫБРАТЬ ... ПОМЕСТИТЬ.