Имя: Пароль:
1C
 
массив в запросе
0 bb
 
26.11.19
07:28
доброго времени суток!
есть запрос в таблицу значений с параметрами
ТЗ_1=Новый ТаблицаЗначений;
                         ТЗ_1.Колонки.Добавить("Число1",Новый ОписаниеТипов("Число"));
                         ТЗ_1.Колонки.Добавить("Строка1",Новый ОписаниеТипов("Строка"));
                         ТЗ_1.Колонки.Добавить("Строка2",Новый ОписаниеТипов("Строка"));
                         Запрос = Новый Запрос;
                         Запрос.Текст =
                         "ВЫБРАТЬ
                         |    ВТ_ТаблицаЗначений.Строка1,
                         |    ВТ_ТаблицаЗначений.Число1,
                         |    ВТ_ТаблицаЗначений.Строка2
                         |ПОМЕСТИТЬ ВТ_ТаблицаЗначений
                         |ИЗ
                         |    &ТЗ КАК ВТ_ТаблицаЗначений
                         |;
                         |
                         |////////////////////////////////////////////////////////////////////////////////
                         |ВЫБРАТЬ
                         |    ВТ_ТаблицаЗначений.Строка1,
                         |    ВТ_ТаблицаЗначений.Число1,
                         |    ВТ_ТаблицаЗначений.Строка2
                         |ИЗ
                         |    ВТ_ТаблицаЗначений КАК ВТ_ТаблицаЗначений
                         |ГДЕ
                         |    ВТ_ТаблицаЗначений.Строка1ПОДОБНО &Строка1
                         |    И ВТ_ТаблицаЗначений.Строка2 В (&Строка2)";
                         Запрос.УстановитьПараметр("ТЗ", обороты_1);
                         Запрос.УстановитьПараметр("Строка1", СокрЛП("Товар"));
                         Запрос.УстановитьПараметр("Строка2", МассивСтрок);
                        
                         Результат = Запрос.Выполнить().Выгрузить();

  выдает что нельзя сравнивать поля неограниченной длинны и тд. ругается именно на массивстрок
1 bb
 
26.11.19
07:29
(0) как правильно передать массив строк в запрос?
2 PuhUfa
 
26.11.19
07:29
(0) ошибку то покажи
3 ДенисЧ
 
26.11.19
07:30
ТЗ_1.Колонки.Добавить("Строка2",Новый ОписаниеТипов("Строка",200)); или как-то та...
4 GedKo
 
26.11.19
07:30
опиши как строку с длиной х
5 bb
 
26.11.19
07:31
Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
И ВТ_ТаблицаЗначений.Строка2 <<?>>В (&Строка2)
6 bb
 
26.11.19
07:34
(4)  это как?
7 bb
 
26.11.19
07:34
(3)  при этом все равно так же ругается
8 shuhard
 
26.11.19
07:39
(0) ТЗ_1 в коде не участвует, для чего она ?
9 bb
 
26.11.19
07:42
(8) это просто кусок кода ,как бы ни в чем не участвует
10 shuhard
 
26.11.19
07:43
(9) и что в обороты_1 форум должен угадать ?
11 bb
 
26.11.19
07:43
МассивСтрок=новый массив;
МассивСтрок.Добавить("Один");
МассивСтрок.Добавить("Два");
так создается МассивСтрок
12 bb
 
26.11.19
07:45
(10) результат Запроса
тоже таблицаЗначений с колонками Число1,Строка1,Строка2
с сооствествующими типами Число1 тип число,строка1 и строка2 тип строка
13 Fram
 
26.11.19
07:56
(5) ВТ_ТаблицаЗначений.Строка2 В (ВЫРАЗИТЬ(&Строка2 КАК Строка(200)))
вроде как то так.. давно не трогал запросы 1с
14 Fram
 
26.11.19
07:58
(13) блин.. это ж массив ))
15 bb
 
26.11.19
08:00
(14) ((
16 bb
 
26.11.19
08:18
Если изменить эту часть  
|    И ВТ_ТаблицаЗначений.Строка2 =&Строка2";
                         Запрос.УстановитьПараметр("ТЗ", обороты_1);
                         Запрос.УстановитьПараметр("Строка1", СокрЛП("Товар"));
                         Запрос.УстановитьПараметр("Строка2", "Строка");
то выдает ту же ощибку
в чем может быть дело???
17 SprayTM
 
26.11.19
08:25
Попробуй так

ТЗ_1.Колонки.Добавить("Число1", Новый ОписаниеТипов("Число",,, Новый КвалификаторыЧисла(15,2)));
ТЗ_1.Колонки.Добавить("Строка1", Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(400)));
ТЗ_1.Колонки.Добавить("Строка2", Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(400)));
18 EVGA
 
26.11.19
08:26
(13) наверное имел ввиду так
(ВЫРАЗИТЬ(ВТ_ТаблицаЗначений.Строка2 КАК Строка(200)) В (&Строка2)
19 bb
 
26.11.19
08:37
(17) спасибо большое помогло
20 SprayTM
 
26.11.19
08:44
(19) не за что