Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут!

Запрос к таблице значений в 1С 8.2 и 8.3

Многие начинающие программисты не знают, как поместить таблицу значений в запрос 1С 8. Очень часто это порождает распространенную ошибку — запрос в цикле. То есть разработчик не умеет включать таблицу значений в запрос и поэтому начинает обходить её в цикле и делать на каждую итерацию свой запрос. Рассмотрим на простом примере, как это сделать.

внешняя таблица с типизацией

Пример

В качестве примера размещения таблицы значения в запросе 1С 8.3 возьмем простую ситуацию — есть таблица значений, в которой содержится список номенклатуры. Необходимо получить данные по остаткам на складах по каждой номенклатурной позиции.

Получите 267 видеоуроков по 1С бесплатно:

Может быть две ситуации, как создана таблица значений, — программно и уже получена откуда-то (например, ТЧ документа). Если таблица создана программно, необходимо установить тип колонки, сделать это несложно

заполнение типа колонок таблицы значений

Т.е. при добавление колонки необходимо вторым параметром указать типы данных с помощью конструктора объекта «ОписаниеТипов».

Перейдем к построению запроса. Таблицу значений можно передать в запрос простым &Параметром.

помещаем таблицу в запрос

Обязательный нюанс — созданную таблицу необходимо поместить результат во временную таблицу, в противном случае система выдаст сообщение: «Ошибка при вызове метода контекста (Выполнить): Содержимое объекта данных может быть выбрано только во временную таблицу».

Таким образом, мы помещаем первый запрос во временную таблицу,  а потом соединяем её с регистром остатков номенклатуры.

Вот и всё, проблема решена.

Читайте также и другие статьи про язык запросов 1С.

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Остались вопросы?

СПРОСИТЕ в комментариях!

Комментариев: 2 на “Запрос к таблице значений в 1С 8.2 и 8.3
  1. Помещаем во временную таблицу ВнешняяТаблицаНоменклатуры, а запрос делаем из таблицы ТаблицаНоменклатуры ! Поправьте, пожалуйста.

    Ответить

  2. Как на первом рисунке, задаю тип значения для поля Временной таблицы, закрываю конструктор, открываю, тип пустой. Соответственно не получается обратиться к параметрам поля. Не подскажете почему?

    Ответить

Добавить комментарий:

Ваш e-mail не будет опубликован.