Имя: Пароль:
1C
1С v8
Как исключить из запроса?
,
0 simply
 
15.08.11
22:51
Есть справочник складов. Всего 5 элементов. Из низ - 3 предопределенных.
Предопределенные добавлены в массив.
Нужно выбрать все остальные склады, кроме предопределенных.

Запрос=Новый Запрос("
   |ВЫБРАТЬ
   |    Склады.Ссылка,
   |    Склады.Наименование
   |ИЗ
   |    Справочник.Склады КАК Склады
   |ГДЕ
   |    НЕ (Склады.Ссылка В (&СписокСкладов))
   |УПОРЯДОЧИТЬ ПО
   |    Наименование
   |");
Запрос.УстановитьПараметр("СписокСкладов",мсСклады);
Выборка=Запрос.Выполнить().Выбрать();

Куда я только это "НЕ" не ставил. Всегда выбираются все склады.
Всегда - Выборка.Количество() = 5

Как правильно в 8.2 выбирать все, кроме списка?
Прошу помощи.
1 Inform
 
15.08.11
22:55
А так пробовал:

Запрос=Новый Запрос("
   |ВЫБРАТЬ
   |    Склады.Ссылка,
   |    Склады.Наименование
   |ИЗ
   |    Справочник.Склады КАК Склады
   |ГДЕ
   |    НЕ Склады.Предопределенный
   |УПОРЯДОЧИТЬ ПО
   |    Наименование
   |");
Запрос.УстановитьПараметр("СписокСкладов",мсСклады);
Выборка=Запрос.Выполнить().Выбрать();

?
2 Inform
 
15.08.11
22:55
Запрос.УстановитьПараметр("СписокСкладов",мсСклады);

^ - лишнее
3 simply
 
15.08.11
22:55
Хороший вариант.
Но как правильно выбрать все, кроме списка?
4 Inform
 
15.08.11
22:58
(3) так как у тебя написано в запросе.
Либо у тебя мсСклады не заполняется, либо складов реально больше.
Посмотри в отладчике, что хранится в переменной мсСкдады, наверняка разгадка придет сама-собой...
5 Живой Ископаемый
 
15.08.11
22:59
6 simply
 
15.08.11
23:00
(1) Все отлично работает! Спасибо!
Это решило данную проблему, но я так и не понимаю как правильно пользоваться "НЕ В".
7 Живой Ископаемый
 
15.08.11
23:01
Как видно в ролике все работает... если не работает, надо поспать
8 Новиков
 
15.08.11
23:02
(7) Дядька, а что у тебя за консоль такая - цветастыя? шо це такэ?
9 Живой Ископаемый
 
15.08.11
23:02
Выбрать Псевдоним.ССылка ИЗ
Таблица Как Псевдоним
Где (НЕ Псевдоним.ССылка В (&Список))
10 simply
 
15.08.11
23:02
(5),(7) В ролике работает.
Прошу попробовать мой запрос.
Добавить в массив пару ссылок и испробовать "НЕ В".
11 simply
 
15.08.11
23:03
(9) не срабатывает.
Выборка.Количество()=5
12 Inform
 
15.08.11
23:04
(6) в отладчике поставь точку останова на строке, где устанавливается значение параметра "СписокСкладов", затем при остановке, выдели название переменной "мсСклады" и нажми Shift+F9, далее выдели "мсСклады" в появившемся окне и нажми F2 - у тебя на экране высветится список элементов массива, если там пусто, значит, ты не заполнил список складов...
13 Живой Ископаемый
 
15.08.11
23:05
(8) всем известная консоль

2(11) срабатывает:
http://screencast.com/t/3p5n8ubldlUO

any questions?
14 Живой Ископаемый
 
15.08.11
23:07
да и так срабатывает:
http://screencast.com/t/F1qkXswRMZ
15 poligraf
 
15.08.11
23:08
(8) вот это посмотри
http://infostart.ru/public/16782/
16 Живой Ископаемый
 
15.08.11
23:10
в общем, как ни крути - все работает. А если не работает, то причина одна - безблагодатность... :)
17 Diversus
 
15.08.11
23:12
(0) А случайно в справочнике нет групп, которые попадают в выборку?
18 simply
 
15.08.11
23:12
(12) Спасибо за F2 на массиве!
В массиве тип значения - строка. Конечно же не найдет!

Всем большое спасибо! Сам бы долго разбирался. И полезный опыт приобрел!