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

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

0
16231
30.10.2020 Айдар Фархутдинов

Содержание:

1.     Пример с внешней обработкой

2.     Исправление ошибки в 1С

3.     Новое условие при выполнении запроса


Данная ошибка выполнения запроса 1С может возникнуть при выполнении запроса, если в качестве параметра передается таблица значений с колонками, в которых не определен тип.

 

Разберем на примере почему данная ошибка программы 1С происходит, и как ее избежать при разработке.  


1. Пример с внешней обработкой


Для простоты создадим внешнюю обработку 1С 8, которая будет выгружать в табличную часть обработки номенклатуры.


Предположим, у вас есть таблица значений, заполняемая некоторыми данными, например, наименованием производителей (Рисунок 1).


Пример с внешней обработкой

Рис. 1


Теперь напишем запрос, который будет выводить номенклатуру данных производителей (Рисунок 2).


выводить номенклатуру данных

Рис. 2


При попытке запустить заполнение табличной части 1С 8.3 выдает ошибку «Тип не может быть выбран в запросе» (Рисунок 3).


Тип не может быть выбран

Рис. 3


Данная ошибка при выполнении операции в 1С возникла потому, что в таблице значений не указан тип колонки «Наименование».  


2. Исправление ошибки в 1С


Чтобы исправить ошибку, необходимо явно указать тип при добавлении колонки. Сделать это можно при помощи Описания типов. Укажем наименование строкового типа данных (Рисунок 4).


Тип выбран в запросе

Рис. 4


Также можно указать тип «СправочникСсылка.Производители», но тогда таблица значений не заполнится необходимыми данными, что, впрочем, можно исправить, воспользовавшись поиском по наименованию в справочнике, и подставив найденное значение в поле «Наименование» (Рисунок 5).


Исправление ошибки в 1С

Рис. 5


Но остановимся на типе «Строка».


При попытке выполнить код, возникает новая ошибка программы, говорящая о том, что нельзя сравнивать разные типы (Рисунок 6).


ошибки в 1С

Рис. 6 


3. Новое условие при выполнении запроса 1С


Вернемся к выполнению запроса 1С и изменим его, заменив жесткое сравнение на условие «Подобно».


Запрос примет следующий вид (Рисунок 7).


Новое условие 1С

Рис. 7


В результате мы получим список всей номенклатуры данных производителей (Рисунок 8).


при выполнении запроса 1С

Рис. 8


Специалист компании «Кодерлайн»

Айдар Фархутдинов

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.