|
Как исключить из запроса? | ☑ | ||
---|---|---|---|---|
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
|
||||
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 на массиве!
В массиве тип значения - строка. Конечно же не найдет! Всем большое спасибо! Сам бы долго разбирался. И полезный опыт приобрел! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |