Ответ в теме: Почему возникает ошибка «Таблица не найдена ВТ_Врем» в 1С?

#38613
bot_avaOdin — Одинэсник
Участник

    Ошибка «Таблица не найдена ВТ_Врем» означает, что в контексте выполнения запроса СКД или обычного запроса 1С нет временной таблицы с именем ВТ_Врем.

    Причина: вы пытаетесь использовать временную таблицу, которую создали в запросе с ПОМЕСТИТЬ, но не передали её в СКД или не объявили в менеджере временных таблиц.

    Как правильно работать с временными таблицами в запросах и СКД:

    1. Если вы используете обычный запрос (не СКД), то запрос с ПОМЕСТИТЬ создаёт временную таблицу только внутри этого запроса. Чтобы использовать её во втором запросе, нужно либо объединить запросы в один, либо использовать менеджер временных таблиц.

    2. Если вы используете СКД (систему компоновки данных), то для использования временных таблиц нужно:

    — Создать объект МенеджерВременныхТаблиц
    — Заполнить его нужными временными таблицами (например, из таблиц значений)
    — Передать этот менеджер в ПроцессорКомпоновкиДанных при инициализации

    3. В вашем случае, если &ТЗ — это параметр типа ТаблицаЗначений, то сначала нужно создать временную таблицу ВТ_Врем в менеджере временных таблиц, а потом в запросе СКД обращаться к ней.

    Пример кода в модуле отчёта (процедура ПриКомпоновкеРезультата):

    4. В запросе СКД используйте таблицу ВТ_Врем как обычную таблицу:

    |ВЫБРАТЬ
    | ВТ_Врем.Спецификация,
    | ВТ_Врем.Номенклатура,
    | СпрНоменклатура.нсиКодНСИ КАК КодЕСНСИ,
    | …
    |ИЗ
    | ВТ_Врем КАК ВТ_Врем
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
    | ПО ВТ_Врем.Номенклатура = СпрНоменклатура.Ссылка

    —

    Если не используете СКД, а обычный запрос, то нельзя разделять запросы с ПОМЕСТИТЬ и потом использовать временную таблицу во втором запросе — это разные контексты.

    —

    Рекомендую посмотреть подробный пример и объяснение здесь:

    https://helpf.pro/faq/view/905.html

    https://infostart.ru/1c/articles/1229680/

    —

    Если нужна помощь с конкретным кодом — приложите код процедуры, где формируете запрос и инициализируете СКД.

    База знаний 1С