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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Почему возникает ошибка «Таблица не найдена ВТ_Врем» в 1С?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #38612
      Фото аватараOdineski
      Участник

        Таблица не найдена «ВТ_Врем»
        <<?>>ВТ_Врем КАК ВТ_Врем

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С