Имя: Пароль:
1C
1С v8
СписокЗначений в параметр запроса
0 chingiz
 
22.11.11
17:02
Случилась загвоздка в элементарной вещи.

В запросе параметр описан как В(&СписокРайонов), в него нужно передать список значений. Все вроде проходит нормально, но результат запроса - пустой. В консоли все отлично, все выводит.

Пробовал передавать сз и массив, но все равно пусто :(
1 Defender aka LINN
 
22.11.11
17:08
Значит, в других параметрах накосячил.
З.Ы. А где запрос-то выполняется?
2 mikecool
 
22.11.11
17:09
список пустой?
3 DrShad
 
22.11.11
17:10
запрос и установку параметров в студию
4 chingiz
 
22.11.11
17:11
Без этого параметра все выводит как надо, в консоли и с ним работает. Сз\массив заполняются.

ВЫБРАТЬ
   КОЛИЧЕСТВО(ЗаказТакси.Ссылка) КАК КоличествоЗаказов,
   ЗаказТакси.АдресПодачиРайон КАК Район,
   ЗаказТакси.АдресПодачиРайон.Наименование КАК РайонНаименование
ИЗ
   Документ.ЗаказТакси КАК ЗаказТакси
ГДЕ
   ЗаказТакси.СтатусЗаказа = &СтатусЗаказа
   И РАЗНОСТЬДАТ(&ТекущаяДата, ЗаказТакси.Дата, СЕКУНДА) < 60 * 15
   И РАЗНОСТЬДАТ(&ТекущаяДата, ЗаказТакси.Дата, СЕКУНДА) > -60 * 60
   И ЗаказТакси.ДиспетчерскаяСлужба = &ДиспетчерскаяСлужба
   И ЗаказТакси.АдресПодачиРайон В (&СписокРайонов)
   
СГРУППИРОВАТЬ ПО
   ЗаказТакси.АдресПодачиРайон,
   ЗаказТакси.АдресПодачиРайон.Наименование
5 chingiz
 
22.11.11
17:11
Запрос.УстановитьПараметр("ДиспетчерскаяСлужба", ПараметрыВыполнения["ДиспетчерскиеСлужбы"]);
   Запрос.УстановитьПараметр("СтатусЗаказа", Справочники.СтатусыЗаказов.ЗаказПринят);
   Запрос.УстановитьПараметр("СписокРайонов", СписокРайонов);
   Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата());
6 mikecool
 
22.11.11
17:12
типы значений не совпадают
7 ssh2006
 
22.11.11
17:14
Посмотри в отладчике, что у тебя в параметры запроса попадает и все
8 andrewks
 
22.11.11
17:20
сейчас выяснится, что в списке - строки
9 chingiz
 
22.11.11
17:21
СправочникСсылка там.
10 andrewks
 
22.11.11
17:22
код заполнения СЗ в студию
11 chingiz
 
22.11.11
17:23
Запрос1 = новый Запрос;
       Запрос1.Текст = "
       |ВЫБРАТЬ
       |    ЭлементыСписковЗначений.Ссылка
       |ИЗ
       |    Справочник.ЭлементыСписковЗначений КАК ЭлементыСписковЗначений
       |ГДЕ
       |    ЭлементыСписковЗначений.Владелец = &Владелец
       |    И ЭлементыСписковЗначений.ПометкаУдаления = ЛОЖЬ
       |";
       Запрос1.УстановитьПараметр("Владелец",ПараметрыВыполнения["СписокОтображаемыхРайонов"]);
       
       Результат = Запрос1.Выполнить().Выбрать();
       
       СписокРайонов = Новый СписокЗначений;
       
       Пока Результат.Следующий() Цикл
           
           СписокРайонов.Добавить(Результат.Ссылка);
           
       КонецЦикла;
12 chingiz
 
22.11.11
17:24
Скопирова Запрос.текст в консоль, ввел параметры один в один и все работает. Похоже со списком что-то не то.
13 Нуф-Нуф
 
22.11.11
17:25
а почему бы запрос не сунуть в другой запрос
14 chingiz
 
22.11.11
17:27
(13) там еще условия накладываются, так что он не всегда нужен.
15 andrewks
 
22.11.11
17:28
ну как бы чудес не бывает. может, он у тебя уничтожается после этого?

отладчик привлеки
16 chingiz
 
22.11.11
17:32
(15) похоже у меня бывают :P
17 Buster007
 
22.11.11
17:36
(16) пиши в 1С. Баг платформы нашёл скажи) они тебе может статьи вышлют о курсах 1С )
18 andrewks
 
22.11.11
17:36
(16) не верю! ©
19 chingiz
 
22.11.11
17:40
Победил! :D Действительно как говорили недосмотрел тип. Бегло в спешке увидел справочникссылка и закрыл. А нужно было в список реквизит справочника закидывать.
20 chingiz
 
22.11.11
17:41
Просто с СЗ в параметре первый раз работаю, думал может что упустил...а оказалось как всегда все под носом.
21 DrShad
 
22.11.11
18:01
(20) о сколько нам открытий чудных готовит просвещенья дух...
Ошибка? Это не ошибка, это системная функция.