Версия для печати темы (https://pro1c.org.ua/index.php?s=beca421f29cc9cb7b68650ab75c495b5&showtopic=49227)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Выборка запросом по ТаблицеЗначений

Автор: bizisoft 03.12.18, 15:57

Здравствуйте.
Подскажите пожалуйста, что я делаю не так?
Посредством запроса я получил результат, который выгрузил в ТЗ, после необходимо в полученном ТЗ сделать выборку по некоторым параметрам, для этого помещаю его во временную таблицу и пытаюсь выполнить выборку из нее.
Но каменный цветок никак не выходит.

Вот запрос, которым я пытаюсь выбрать:

Запрос.Текст = "ВЫБРАТЬ
                   |    ТЗ.Производитель,
                   |    ТЗ.Артикул,
                   |    ТЗ.Наименование,
                   |    ТЗ.Количество,
                   |    ТЗ.Цена,
                   |    ТЗ.ИДГруппы,
                   |    ТЗ.ОтображатьКоличество
               | Поместить ВТ
                   |ИЗ
                   |    &ТЗ КАК ТЗ
                   |;
                   |ВЫБРАТЬ
                   |    ВрТЗ.Производитель,
                   |    ВрТЗ.Артикул,
                   |    ВрТЗ.Наименование,
                   |    ВрТЗ.Количество,
                   |    ВрТЗ.Цена,
                   |    ВрТЗ.ИДГруппы,
                   |    ВрТЗ.ОтображатьКоличество
                   |ИЗ
                   |    ВТ КАК ВрТЗ
                   |ГДЕ
                   |    ВрТЗ.ИДГруппы <> &ИДГруппы";

    НовыйТЗ = Запрос.Выполнить().Выгрузить();
    ПоказатьРезультатВТаблице(НовыйТЗ);

Автор: Vofka 03.12.18, 16:00

bizisoft, что именно не выходит?

Автор: DrLivsi 03.12.18, 16:05

Наверное забыли

Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;

Автор: podcast 03.12.18, 17:00

bizisoft @ Сегодня, 16:57 * ,
Скорей всего нужно для ИДГруппы написать конструкцию Выразить Как, и указать тип параметра.

Автор: nik389 03.12.18, 17:50

Параметры не забыли в запрос передать?

Автор: DrLivsi 04.12.18, 9:06

Тут собралась целая битва экстрасенсов, а автор тупо забил.

Автор: bizisoft 04.12.18, 9:45

DrLivsi @ Сегодня, 10:06 * ,
Прошу прощения, не забил, добрался до стабильного интернета.

В данном случае выдает ошибку:

{Форма.Форма.Форма(529)}: Ошибка при вызове метода контекста (Выполнить)
    НовыйТЗ = Запрос.Выполнить().Выгрузить();
по причине:
{(24, 16)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
ВрТЗ.ИДГруппы <<?>><> &ИДГруппы


Вероятно как советует podcast нужно выразить, но об этом я слышу впервые, попробую погуглить этот вопрос.

nik389 : Параметры передаются.

DrLivsi Да, вы правы, а вот это я совсем забыл.

Сейчас все подправлю и отпишусь о работе наш ошибками.

Автор: bizisoft 04.12.18, 12:57

Добавил

Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;

и заменил
|    ВрТЗ.ИДГруппы <> &ИДГруппы";
на
|    ВЫРАЗИТЬ(ВрТЗ.ИДГруппы КАК СТРОКА(36))<> ВЫРАЗИТЬ(&ИДГруппы  КАК СТРОКА(36))";

и заработало.
Благодарю за помощь.

Автор: Vofka 04.12.18, 13:07

bizisoft, для благодарности есть специальная кнопка.

Автор: Vidocq05 04.12.18, 14:01

Цитата(bizisoft @ 04.12.18, 12:57) *
Добавил
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;

Это лишнее, и можно убрать.

Автор: most_fucking 24.06.19, 14:47

bizisoft @ 03.12.18, 16:57 * ,

Забыли параметр указать

Запрос.УстановитьПараметр("ТЗ", ВашаТаблица);
Запрос.УстановитьПараметр("ИдГруппы", ВашеУсловие);

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua