Ошибка «Тип не может быть выбран в запросе», использование Таблицы Значений в запросе (1С: Программисту: Язык запросов) — 1c-h
 

Ошибка «Тип не может быть выбран в запросе», использование Таблицы Значений в запросе (1С: Программисту: Язык запросов)

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Что означает сообщение об ошибке «Тип не может быть выбран в запросе»

Такая ошибка возникает, когда при выполнении запроса не получается определить тип выбираемого значения.

Пример.
В текст запроса требуется передать таблицу значений &ТЗПС и из этой таблицы значений построить новый запрос.

В параметры мы передаем ТаблицуЗначений:

т.е. Функция ПолучитьТЗСуммаПоПартииТоваровНаСкладах() возвращает ТаблицуЗначений.
Сам текст запроса выглядит примерно так:

Если просто передать эту таблицу значений в запрос, то может возникнуть ошибка для колонок, у которых сбился тип колонки, например, тип которых «Число».
Чтобы исправить такую таблицу значений, можно сделать следующее: по каждому элементу выборки, на котором запрос «споткнется» с сообщением «Тип не может быть выбран в запросе», выполнить переопределение типа колонки перед передачей таблицы значений в запрос.

Например:

Здесь использован метод копирования колонки таблицы значений, рассмотренный в статье Как скопировать колонку таблицы значений

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Автор 1С

3 thoughts on “Ошибка «Тип не может быть выбран в запросе», использование Таблицы Значений в запросе (1С: Программисту: Язык запросов)

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

  2. «Если просто передать эту таблицу значений в запрос, то может возникнуть ошибка для колонок, у которых сбился тип колонки, например, тип которых «Число».»
    Весьма настораживает здесь слово «сбился», если оно здесь вообще уместно. Проблема в мягкой типизация встроенного языка 1С. Выгружая что-то, пусть даже с известным типом, в таблицу значений, у которой жестко не заданы типы значений колонок, и используя эту ТЗ далее как в контексте примера, всегда будет возникать ошибка. Для подобного использования НУЖНО явно задавать тип хранимых данных колонок ТЗ.

Добавить комментарий для 1С: Отбор по “Объект не найден” в запросе | Блог NеRадивого ECOномиста Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Next Post

Почему при попытке распечатать на конкретный принтер печать идет на принтер по умолчанию? Команда ТабДокумент.ИмяПринтера не работает (1С: V8: Программисту: Язык программирования)

Ср Июн 16 , 2010
Вопрос Почему может не работать команда ТабДокумент.ИмяПринтера — при попытке распечатать на конкретный принтер, печать идет на принтер по умолчанию? Ответ Возможно это происходит из-за того, что после присвоения имени принтера командой ТабДокумент.ИмяПринтера где-то ниже идет команда «ИмяПараметровПечати». Эта команда переопределит принтер. Например: ТабДокумент.ИмяПринтера = ... ... ТабДокумент.ИмяПараметровПечати = ... […]