Ошибка при вызове возникает в запросе, когда тип не может быть выбран в качестве источника данных (таблицы), либо не инициализирован в процессе выборки из временной таблицы. Значит вы пытаетесь загрузить таблицу значений в запрос 1С.
Полный текст ошибки:
Ошибка при вызове метода контекста (Выполнить) ТЗ = Запрос.Выполнить().Выгрузить(); по причине: {(310, 32)}: Тип не может быть выбран в запросе
Сопутствующий ошибке код:
В качестве одного из параметров передается заполненная «Таблица значений», которая помещается во временную таблицу запроса, а затем уже производится ее выборка.
Например:
Запрос.УстановитьПараметр(«ТЗДеньги», Новый ТаблицаЗначений);
Сам текст запроса:
ВЫБРАТЬ * ПОМЕСТИТЬ ТДеньги ИЗ &ТЗДеньги КАК Т
;
ВЫБРАТЬ
ЗарплатныйПериод,
Статья,
Сотрудник,
Подразделение,
Сумма
ИЗ
тДеньги
Ошибка возникает в версиях 8.2 и 8.3 платформы 1С.
Причина ошибки:
Не инициализированные типы колонок в таблице значений.
ТЗДеньги = Новый ТаблицаЗначений; ТЗДеньги.Колонки.Добавить("ЗарплатныйПериод"); ТЗДеньги.Колонки.Добавить("Статья"); ТЗДеньги.Колонки.Добавить("Сотрудник"); ТЗДеньги.Колонки.Добавить("Подразделение"); ТЗДеньги.Колонки.Добавить("Сумма");
Ошибка может проявится при значениях в таблице, которые не могут быть выбраны: объект Картинка, Диаграмма, Шрифт и прочие интерфейсные, либо не ссылочные типы.
Решение
Верная инициализация, каждой колонки в таблице значений:
ТЗДеньги = Новый ТаблицаЗначений; ТЗДеньги.Колонки.Добавить("ЗарплатныйПериод",Новый ОписаниеТипов("Дата")); ТЗДеньги.Колонки.Добавить("Статья",Новый ОписаниеТипов("Строка")); ТЗДеньги.Колонки.Добавить("Сотрудник",Новый ОписаниеТипов("Строка")); ТЗДеньги.Колонки.Добавить("Подразделение",Новый ОписаниеТипов("Строка")); ТЗДеньги.Колонки.Добавить("Сумма",Новый ОписаниеТипов("Число"));
Если колонка должна содержать несколько типов, тогда используйте другой вариант инициализации ОписаниеТипов:
МассивТипов = Новый Массив; МассивТипов.Добавить("Строка"); МассивТипов.Добавить("Число"); пОписаниеТипов = Новый ОписаниеТипов(МассивТипов);
Основное требование — точное указание для всех колонок.
Также смотрите про статью про тип «ЛюбаяСсылка»
Попутно может возникнуть ошибка, связанная с некорректным типом для агрегатных функций запроса:
«Неверные параметры Сумма», возникает, в случае хотя бы одно из значений в переданной таблице значений равно Null.
Одно рекламное объявление стоит больше, чем сорок передовиц.